PARALUTION  1.0.0
PARALUTION
ocl_allocate_free.hpp
Go to the documentation of this file.
1 #ifndef PARALUTION_OCL_ALLOCATE_FREE_HPP_
2 #define PARALUTION_OCL_ALLOCATE_FREE_HPP_
3 
4 #if defined(__APPLE__) && defined(__MACH__)
5 #include <OpenCL/cl.h>
6 #else
7 #include <CL/cl.h>
8 #endif
9 
10 namespace paralution {
11 
13 template <typename DataType>
14 void allocate_ocl(const int, cl_context, cl_mem**);
15 
17 void free_ocl(cl_mem**);
18 
20 template <typename DataType>
21 void ocl_set_to(cl_kernel, cl_command_queue, const size_t, const size_t, const int, const DataType, cl_mem*);
22 
24 template <typename DataType>
25 void ocl_host2dev(const int, const DataType*, cl_mem*, cl_command_queue);
26 
28 template <typename DataType>
29 void ocl_dev2host(const int, cl_mem*, DataType*, cl_command_queue);
30 
32 template <typename DataType>
33 void ocl_dev2dev(const int, cl_mem*, cl_mem*, cl_command_queue);
34 
35 
36 }
37 
38 #endif // PARALUTION_OCL_ALLOCATE_FREE_HPP_
void ocl_dev2dev(const int size, cl_mem *src, cl_mem *dst, cl_command_queue ocl_cmdQueue)
Copy object from device to device (intra) memory.
Definition: ocl_allocate_free.cpp:157
void ocl_dev2host(const int size, cl_mem *src, DataType *dst, cl_command_queue ocl_cmdQueue)
Copy object from device to host memory.
Definition: ocl_allocate_free.cpp:129
Definition: backend_manager.cpp:43
void allocate_ocl(const int size, cl_context ocl_context, cl_mem **ptr)
Allocate device memory.
Definition: ocl_allocate_free.cpp:10
void ocl_set_to(cl_kernel ocl_kernel, cl_command_queue ocl_cmdQueue, const size_t localWorkSize, const size_t globalWorkSize, const int size, const DataType val, cl_mem *ptr)
Set device object to specific values.
Definition: ocl_allocate_free.cpp:57
void free_ocl(cl_mem **ptr)
Free device memory.
Definition: ocl_allocate_free.cpp:37
void ocl_host2dev(const int size, const DataType *src, cl_mem *dst, cl_command_queue ocl_cmdQueue)
Copy object from host to device memory.
Definition: ocl_allocate_free.cpp:100