Loading...
Searching...
No Matches
Running Drivers

## Data Structures

struct | starpu_driver
union | starpu_driver.id

## Functions

void | starpu_drivers_preinit (void)
int | starpu_driver_run (struct starpu_driver *d)
void | starpu_drivers_request_termination (void)
int | starpu_driver_init (struct starpu_driver *d)
int | starpu_driver_run_once (struct starpu_driver *d)
int | starpu_driver_deinit (struct starpu_driver *d)

## Detailed Description

## Data Structure Documentation

## starpu_driver

struct starpu_driver

structure for designating a given driver. See Using The Driver API for more details.

Data Fields
enum starpu_worker_archtype | type | Type of the driver. Only STARPU_CPU_WORKER, STARPU_CUDA_WORKER and STARPU_OPENCL_WORKER are currently supported.
union starpu_driver.id | id | Identifier of the driver.

## starpu_driver.id

union starpu_driver.id

Identifier of the driver.

Data Fields
unsigned | cpu_id |
unsigned | cuda_id |
unsigned | hip_id |
cl_device_id | opencl_id |

## Function Documentation

## starpu_drivers_preinit()

void starpu_drivers_preinit | ( | void |  | ) |

Pre-initialize drivers So as to register information on device types, memory types, etc. Only use internally by StarPU.

## starpu_driver_run()

int starpu_driver_run | ( | struct starpu_driver * | d | ) |

Initialize the given driver, run it until it receives a request to terminate, deinitialize it and return 0 on success. Return `-EINVAL` if starpu_driver::type is not a valid StarPU device type (STARPU_CPU_WORKER, STARPU_CUDA_WORKER or STARPU_OPENCL_WORKER).

This is the same as using the following functions: calling starpu_driver_init(), then calling starpu_driver_run_once() in a loop, and finally starpu_driver_deinit().

See Using The Driver API for more details.

## starpu_drivers_request_termination()

void starpu_drivers_request_termination | ( | void |  | ) |

Notify all running drivers that they should terminate. See Using The Driver API for more details.

## starpu_driver_init()

int starpu_driver_init | ( | struct starpu_driver * | d | ) |

Initialize the given driver. Return 0 on success, `-EINVAL` if starpu_driver::type is not a valid starpu_worker_archtype. See Using The Driver API for more details.

## starpu_driver_run_once()

int starpu_driver_run_once | ( | struct starpu_driver * | d | ) |

Run the driver once, then return 0 on success, `-EINVAL` if starpu_driver::type is not a valid starpu_worker_archtype. See Using The Driver API for more details.

## starpu_driver_deinit()

int starpu_driver_deinit | ( | struct starpu_driver * | d | ) |

Deinitialize the given driver. Return 0 on success, `-EINVAL` if starpu_driver::type is not a valid starpu_worker_archtype. See Using The Driver API for more details.