17 #ifndef __COPY_DRIVER_H__
18 #define __COPY_DRIVER_H__
26 #include <common/config.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;
73 #ifdef STARPU_USE_MPI_MASTER_SLAVE
74 LIST_TYPE(_starpu_mpi_ms_event_request,
78 struct _starpu_mpi_ms_async_event
81 struct _starpu_mpi_ms_event_request_list * requests;
92 struct _starpu_disk_backend_event_list * requests;
97 starpu_data_handle_t handle;
104 #ifdef STARPU_SIMGRID
108 starpu_pthread_queue_t *queue;
111 #ifdef STARPU_USE_CUDA
112 cudaEvent_t cuda_event;
114 #ifdef STARPU_USE_OPENCL
115 cl_event opencl_event;
117 #ifdef STARPU_USE_MPI_MASTER_SLAVE
118 struct _starpu_mpi_ms_async_event mpi_ms_event;
120 #ifdef STARPU_USE_MIC
132 struct _starpu_mp_node *polling_node_receiver;
135 volatile int starpu_mp_common_finished_receiver;
138 void _starpu_wake_all_blocked_workers_on_node(
unsigned nodeid);
140 int _starpu_driver_copy_data_1_to_1(starpu_data_handle_t handle,
144 struct _starpu_data_request *req,
155 #endif // __COPY_DRIVER_H__