|
@@ -39,31 +39,29 @@ typedef union {
|
|
|
#endif
|
|
|
} starpu_async_channel;
|
|
|
|
|
|
-struct starpu_data_state_t;
|
|
|
-
|
|
|
struct copy_data_methods_s {
|
|
|
/* src type is ram */
|
|
|
- int (*ram_to_ram)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
- int (*ram_to_cuda)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
- int (*ram_to_spu)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
+ int (*ram_to_ram)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
+ int (*ram_to_cuda)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
+ int (*ram_to_spu)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
|
|
|
/* src type is cuda */
|
|
|
- int (*cuda_to_ram)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
- int (*cuda_to_cuda)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
- int (*cuda_to_spu)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
+ int (*cuda_to_ram)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
+ int (*cuda_to_cuda)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
+ int (*cuda_to_spu)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
|
|
|
/* src type is spu */
|
|
|
- int (*spu_to_ram)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
- int (*spu_to_cuda)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
- int (*spu_to_spu)(struct starpu_data_state_t *state, uint32_t src, uint32_t dst);
|
|
|
+ int (*spu_to_ram)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
+ int (*spu_to_cuda)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
+ int (*spu_to_spu)(starpu_data_handle handle, uint32_t src, uint32_t dst);
|
|
|
|
|
|
#ifdef USE_CUDA
|
|
|
/* for asynchronous CUDA transfers */
|
|
|
- int (*ram_to_cuda_async)(struct starpu_data_state_t *state, uint32_t src,
|
|
|
+ int (*ram_to_cuda_async)(starpu_data_handle handle, uint32_t src,
|
|
|
uint32_t dst, cudaStream_t *stream);
|
|
|
- int (*cuda_to_ram_async)(struct starpu_data_state_t *state, uint32_t src,
|
|
|
+ int (*cuda_to_ram_async)(starpu_data_handle handle, uint32_t src,
|
|
|
uint32_t dst, cudaStream_t *stream);
|
|
|
- int (*cuda_to_cuda_async)(struct starpu_data_state_t *state, uint32_t src,
|
|
|
+ int (*cuda_to_cuda_async)(starpu_data_handle handle, uint32_t src,
|
|
|
uint32_t dst, cudaStream_t *stream);
|
|
|
#endif
|
|
|
};
|
|
@@ -72,7 +70,7 @@ void wake_all_blocked_workers(void);
|
|
|
void wake_all_blocked_workers_on_node(unsigned nodeid);
|
|
|
|
|
|
__attribute__((warn_unused_result))
|
|
|
-int driver_copy_data_1_to_1(struct starpu_data_state_t *state, uint32_t node,
|
|
|
+int driver_copy_data_1_to_1(starpu_data_handle handle, uint32_t node,
|
|
|
uint32_t requesting_node, unsigned donotread, struct data_request_s *req, unsigned may_allloc);
|
|
|
|
|
|
unsigned driver_test_request_completion(starpu_async_channel *async_channel, unsigned handling_node);
|