17 #ifndef __COPY_DRIVER_H__
18 #define __COPY_DRIVER_H__
26 #include <common/config.h>
27 #include <common/list.h>
29 #ifdef STARPU_USE_CUDA
31 #include <cuda_runtime.h>
34 #ifdef STARPU_USE_OPENCL
35 #include <starpu_opencl.h>
38 #ifdef STARPU_USE_MPI_MASTER_SLAVE
47 struct _starpu_data_request;
62 #ifdef STARPU_USE_MPI_MASTER_SLAVE
63 LIST_TYPE(_starpu_mpi_ms_event_request,
67 struct _starpu_mpi_ms_async_event
70 struct _starpu_mpi_ms_event_request_list * requests;
81 struct _starpu_disk_backend_event_list * requests;
86 starpu_data_handle_t handle;
97 starpu_pthread_queue_t *queue;
100 #ifdef STARPU_USE_CUDA
101 cudaEvent_t cuda_event;
103 #ifdef STARPU_USE_OPENCL
104 cl_event opencl_event;
106 #ifdef STARPU_USE_MPI_MASTER_SLAVE
107 struct _starpu_mpi_ms_async_event mpi_ms_event;
109 #ifdef STARPU_USE_MIC
121 struct _starpu_mp_node *polling_node_receiver;
124 volatile int starpu_mp_common_finished_receiver;
127 void _starpu_wake_all_blocked_workers_on_node(
unsigned nodeid);
129 int _starpu_driver_copy_data_1_to_1(starpu_data_handle_t handle,
133 struct _starpu_data_request *req,
144 #endif // __COPY_DRIVER_H__