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;
50 enum _starpu_is_prefetch
70 #ifdef STARPU_USE_MPI_MASTER_SLAVE
71 LIST_TYPE(_starpu_mpi_ms_event_request,
75 struct _starpu_mpi_ms_async_event
78 struct _starpu_mpi_ms_event_request_list * requests;
89 struct _starpu_disk_backend_event_list * requests;
94 starpu_data_handle_t handle;
101 #ifdef STARPU_SIMGRID
105 starpu_pthread_queue_t *queue;
108 #ifdef STARPU_USE_CUDA
109 cudaEvent_t cuda_event;
111 #ifdef STARPU_USE_OPENCL
112 cl_event opencl_event;
114 #ifdef STARPU_USE_MPI_MASTER_SLAVE
115 struct _starpu_mpi_ms_async_event mpi_ms_event;
117 #ifdef STARPU_USE_MIC
129 struct _starpu_mp_node *polling_node_receiver;
132 volatile int starpu_mp_common_finished_receiver;
135 void _starpu_wake_all_blocked_workers_on_node(
unsigned nodeid);
137 int _starpu_driver_copy_data_1_to_1(starpu_data_handle_t handle,
141 struct _starpu_data_request *req,
143 enum _starpu_is_prefetch prefetch);
152 #endif // __COPY_DRIVER_H__