libxmp/libxmpf in Omni Compiler
1.3.4
|
Go to the documentation of this file. 1 #ifndef _XACC_INTERNAL_H
2 #define _XACC_INTERNAL_H
9 #if defined(_XMP_XACC_CUDA)
10 #include <cuda_runtime.h>
12 #define CUDA_SAFE_CALL(call) \
14 cudaError_t err = call; \
15 if (cudaSuccess != err) { \
16 fprintf (stderr, "Cuda error in file '%s' in line %i : %s.\n", \
17 __FILE__, __LINE__, cudaGetErrorString(err) ); \
22 typedef cudaStream_t _XACC_queue_t;
23 typedef void* _XACC_memory_t;
24 #define _XACC_QUEUE_NULL 0
29 #if defined(_XMP_XACC_OPENCL) || defined(_XMP_XACC_PZCL)
30 #ifdef _XMP_XACC_OPENCL
33 #include "pzcl/pzcl_ocl_wrapper.h"
36 #define CL_CHECK(ret) \
39 if(err != CL_SUCCESS){ \
40 fprintf(stderr, "%s:%d,rank=%d, OpenCL error code %d\n", __FILE__, __LINE__, _XMP_world_rank, err); \
46 typedef cl_command_queue _XACC_queue_t;
47 typedef cl_mem _XACC_memory_t;
48 #define _XACC_QUEUE_NULL NULL
63 void _XACC_memory_read(
void *addr, _XACC_memory_t memory,
size_t memory_offset,
size_t size, _XACC_queue_t queue,
bool is_blocking);
64 void _XACC_memory_write(_XACC_memory_t memory,
size_t memory_offset,
void *addr,
size_t size, _XACC_queue_t queue,
bool is_blocking);
65 void _XACC_memory_copy(_XACC_memory_t dst_memory,
size_t dst_memory_offset, _XACC_memory_t src_memory,
size_t src_memory_offset,
size_t size, _XACC_queue_t queue,
bool is_blocking);
72 _XACC_memory_t src_mem,
size_t src_offset,
73 size_t blocklength,
size_t stride,
size_t count,
75 _XACC_queue_t queue,
bool is_blocking);
77 _XACC_memory_t src_mem,
size_t src_offset,
78 size_t blocklength,
size_t stride,
size_t count,
80 _XACC_queue_t queue,
bool is_blocking);
82 _XACC_memory_t src0_mem,
size_t src0_offset,
83 size_t blocklength0,
size_t stride0,
size_t count0,
84 _XACC_memory_t dst1_mem,
size_t dst1_offset,
85 _XACC_memory_t src1_mem,
size_t src1_offset,
86 size_t blocklength1,
size_t stride1,
size_t count1,
88 _XACC_queue_t queue,
bool is_blocking);
90 _XACC_memory_t src0_mem,
size_t src0_offset,
91 size_t blocklength0,
size_t stride0,
size_t count0,
92 _XACC_memory_t dst1_mem,
size_t dst1_offset,
93 _XACC_memory_t src1_mem,
size_t src1_offset,
94 size_t blocklength1,
size_t stride1,
size_t count1,
96 _XACC_queue_t queue,
bool is_blocking);
99 #define _XACC_fatal _XMP_fatal
101 #endif //_XACC_INTERNAL_H
void _XACC_memory_alloc(_XACC_memory_t *memory, size_t size)
Definition: xacc_util_cl.c:52
void _XACC_util_init(void)
Definition: xacc_util_cl.c:242
void _XACC_memory_read(void *addr, _XACC_memory_t memory, size_t memory_offset, size_t size, _XACC_queue_t queue, bool is_blocking)
Definition: xacc_util_cl.c:73
void _XACC_memory_unpack_vector2(_XACC_memory_t dst0_mem, size_t dst0_offset, _XACC_memory_t src0_mem, size_t src0_offset, size_t blocklength0, size_t stride0, size_t count0, _XACC_memory_t dst1_mem, size_t dst1_offset, _XACC_memory_t src1_mem, size_t src1_offset, size_t blocklength1, size_t stride1, size_t count1, size_t typesize, _XACC_queue_t queue, bool is_blocking)
Definition: xacc_util_cl.c:438
void _XACC_memory_write(_XACC_memory_t memory, size_t memory_offset, void *addr, size_t size, _XACC_queue_t queue, bool is_blocking)
Definition: xacc_util_cl.c:81
void _XACC_memory_copy(_XACC_memory_t dst_memory, size_t dst_memory_offset, _XACC_memory_t src_memory, size_t src_memory_offset, size_t size, _XACC_queue_t queue, bool is_blocking)
Definition: xacc_util_cl.c:90
void _XACC_init(void)
Definition: xacc_runtime.c:3
void _XACC_host_free(void **ptr)
Definition: xacc_util_cl.c:108
void _XACC_host_malloc(void **ptr, size_t size)
Definition: xacc_util_cl.c:104
void _XACC_queue_destroy(_XACC_queue_t *queue)
Definition: xacc_util_cl.c:35
void _XACC_memory_pack_vector2(_XACC_memory_t dst0_mem, size_t dst0_offset, _XACC_memory_t src0_mem, size_t src0_offset, size_t blocklength0, size_t stride0, size_t count0, _XACC_memory_t dst1_mem, size_t dst1_offset, _XACC_memory_t src1_mem, size_t src1_offset, size_t blocklength1, size_t stride1, size_t count1, size_t typesize, _XACC_queue_t queue, bool is_blocking)
Definition: xacc_util_cl.c:428
void _XACC_memory_pack_vector(_XACC_memory_t dst_mem, size_t dst_offset, _XACC_memory_t src_mem, size_t src_offset, size_t blocklength, size_t stride, size_t count, size_t typesize, _XACC_queue_t queue, bool is_blocking)
Definition: xacc_util_cl.c:269
void _XACC_queue_wait(_XACC_queue_t queue)
Definition: xacc_util_cl.c:45
void _XACC_memory_unpack_vector(_XACC_memory_t dst_mem, size_t dst_offset, _XACC_memory_t src_mem, size_t src_offset, size_t blocklength, size_t stride, size_t count, size_t typesize, _XACC_queue_t queue, bool is_blocking)
Definition: xacc_util_cl.c:348
void * _XACC_memory_get_address(_XACC_memory_t memory)
Definition: xacc_util_cl.c:98
void _XACC_memory_free(_XACC_memory_t *memory)
Definition: xacc_util_cl.c:64
void _XACC_queue_create(_XACC_queue_t *queue)
Definition: xacc_util_cl.c:18