1[/=========================================================================== 2 Copyright (c) 2013-2015 Kyle Lutz <kyle.r.lutz@gmail.com> 3 4 Distributed under the Boost Software License, Version 1.0 5 See accompanying file LICENSE_1_0.txt or copy at 6 http://www.boost.org/LICENSE_1_0.txt 7=============================================================================/] 8 9[section Porting Guide] 10 11[section OpenCL API] 12 13[table OpenCL API Translation Table 14 [[OpenCL Function] [Boost.Compute Function]] 15 [[*Buffers*]] 16 [[`clCreateBuffer()`] [[classref boost::compute::buffer buffer::buffer()]]] 17 [[`clReleaseMemObject()`] [[classref boost::compute::buffer buffer::~buffer()]]] 18 [[`clGetMemObjectInfo()`] [[memberref boost::compute::buffer::get_info buffer::get_info<T>()]]] 19 20 [[*Command Queues*]] 21 [[`clCreateCommandQueue()`] [[classref boost::compute::command_queue command_queue::command_queue()]]] 22 [[`clReleaseCommandQueue()`] [[classref boost::compute::command_queue command_queue::~command_queue()]]] 23 [[`clGetCommandQueueInfo()`] [[memberref boost::compute::command_queue::get_info command_queue::get_info<T>()]]] 24 [[`clEnqueueReadBuffer()`] [[memberref boost::compute::command_queue::enqueue_read_buffer command_queue::enqueue_read_buffer()]]] 25 [[`clEnqueueWriteBuffer()`] [[memberref boost::compute::command_queue::enqueue_write_buffer command_queue::enqueue_write_buffer()]]] 26 [[`clEnqueueCopyBuffer()`] [[memberref boost::compute::command_queue::enqueue_copy_buffer command_queue::enqueue_copy_buffer()]]] 27 [[`clEnqueueNDRangeKernel()`] [[memberref boost::compute::command_queue::enqueue_nd_range_kernel command_queue::enqueue_nd_range_kernel()]]] 28 [[`clEnqueueTask()`] [[memberref boost::compute::command_queue::enqueue_task command_queue::enqueue_task()]]] 29 [[`clEnqueueBarrier()`] [[memberref boost::compute::command_queue::enqueue_barrier command_queue::enqueue_barrier()]]] 30 [[`clEnqueueMarker()`] [[memberref boost::compute::command_queue::enqueue_marker command_queue::enqueue_marker()]]] 31 [[`clFlush()`] [[memberref boost::compute::command_queue::enqueue_task command_queue::flush()]]] 32 [[`clFinish()`] [[memberref boost::compute::command_queue::enqueue_task command_queue::finish()]]] 33 34 [[*Contexts*]] 35 [[`clCreateContext()`] [[classref boost::compute::context context::context()]]] 36 [[`clReleaseContext()`] [[classref boost::compute::context context::~context()]]] 37 [[`clGetContextInfo()`] [[memberref boost::compute::context::get_info context::get_info<T>()]]] 38 39 [[*Devices*]] 40 [[`clGetDeviceInfo()`] [[memberref boost::compute::device::get_info device::get_info<T>()]]] 41 42 [[*Events*]] 43 [[`clReleaseEvent()`] [[classref boost::compute::event event::~event()]]] 44 [[`clGetEventInfo()`] [[memberref boost::compute::event::get_info event::get_info<T>()]]] 45 [[`clGetEventProfilingInfo()`] [[memberref boost::compute::event::get_profiling_info event::get_profiling_info<T>()]]] 46 [[`clWaitForEvents()`] [[memberref boost::compute::wait_list::wait() wait_list::wait()]]] 47 [[`clCreateUserEvent()`] [[classref boost::compute::user_event user_event::user_event()]]] 48 [[`clSetUserEventStatus()`] [[memberref boost::compute::user_event::set_status() user_event::set_status()]]] 49 50 [[*Kernels*]] 51 [[`clCreateKernel()`] [[classref boost::compute::kernel kernel::kernel()]]] 52 [[`clReleaseKernel()`] [[classref boost::compute::kernel kernel::~kernel()]]] 53 [[`clGetKernelInfo()`] [[memberref boost::compute::kernel::get_info kernel::get_info<T>()]]] 54 [[`clGetKernelArgInfo()`] [[memberref boost::compute::kernel::get_arg_info kernel::get_arg_info<T>()]]] 55 [[`clGetKernelWorkGroupInfo()`] [[memberref boost::compute::kernel::get_work_group_info kernel::get_work_group_info<T>()]]] 56 [[`clSetKernelArg()`] [[memberref boost::compute::kernel::set_arg kernel::set_arg()]]] 57 [[`clSetKernelExecInfo()`] [[memberref boost::compute::kernel::set_exec_info kernel::set_exec_info()]]] 58 59 [[*Pipes*]] 60 [[`clCreatePipe()`] [[classref boost::compute::pipe pipe::pipe()]]] 61 [[`clGetPipeInfo()`] [[memberref boost::compute::pipe::get_info pipe::get_info<T>()]]] 62 63 [[*Platforms*]] 64 [[`clGetDeviceIDs()`] [[memberref boost::compute::platform::devices platform::devices()]]] 65 [[`clGetPlatformInfo()`] [[memberref boost::compute::platform::get_info platform::get_info<T>()]]] 66 [[`clGetExtensionFunctionAddress()`] [[memberref boost::compute::platform::get_extension_function_address platform::get_extension_function_address()]]] 67 [[`clUnloadCompiler()`] [[memberref boost::compute::platform::unload_compiler platform::unload_compiler()]]] 68 69 [[*Programs*]] 70 [[`clCreateProgramWithSource()`] [[memberref boost::compute::program::create_with_source program::create_with_source()]]] 71 [[`clCreateProgramWithBinary()`] [[memberref boost::compute::program::create_with_binary program::create_with_binary()]]] 72 [[`clCreateProgramWithBuiltInKernels()`] [[memberref boost::compute::program::create_with_builtin_kernels program::create_with_builtin_kernels()]]] 73 [[`clReleaseProgram()`] [[classref boost::compute::program program::~program()]]] 74 [[`clGetProgramInfo()`] [[memberref boost::compute::program::get_info program::get_info<T>()]]] 75 [[`clBuildProgram()`] [[memberref boost::compute::program::build program::build()]]] 76 [[`clCompileProgram()`] [[memberref boost::compute::program::compile program::compile()]]] 77 [[`clLinkProgram()`] [[memberref boost::compute::program::link program::link()]]] 78 79 [[*Shared Virtual Memory*]] 80 [[`clSVMAlloc()`] [[funcref boost::compute::svm_alloc svm_alloc<T>()]]] 81 [[`clSVMFree()`] [[funcref boost::compute::svm_free svm_free<T>()]]] 82 [[`clEnqueueSVMFree()`] [[memberref boost::compute::command_queue::enqueue_svm_free command_queue::enqueue_svm_free()]]] 83 [[`clEnqueueSVMMemcpy()`] [[memberref boost::compute::command_queue::enqueue_svm_memcpy command_queue::enqueue_svm_memcpy()]]] 84 [[`clEnqueueSVMMemFill()`] [[memberref boost::compute::command_queue::enqueue_svm_fill command_queue::enqueue_svm_fill()]]] 85 [[`clEnqueueSVMMap()`] [[memberref boost::compute::command_queue::enqueue_svm_map command_queue::enqueue_svm_map()]]] 86 [[`clEnqueueSVMUnmap()`] [[memberref boost::compute::command_queue::enqueue_svm_unmap command_queue::enqueue_svm_unmap()]]] 87 88 [[*System*]] 89 [[`clGetPlatformIDs()`] [[memberref boost::compute::system::platforms system::platforms()]]] 90 91 [[*OpenGL Sharing*]] 92 [[`clCreateFromGLBuffer()`] [[classref boost::compute::opengl_buffer opengl_buffer::opengl_buffer()]]] 93 [[`clCreateFromGLRenderbuffer()`] [[classref boost::compute::opengl_renderbuffer opengl_renderbuffer::opengl_renderbuffer()]]] 94 [[`clCreateFromGLTexture()`] [[classref boost::compute::opengl_texture opengl_texture::opengl_texture()]]] 95 [[`clGetGLTextureInfo()`] [[classref boost::compute::opengl_texture opengl_texture::get_texture_info<T>()]]] 96 [[`clEnqueueAcquireGLObjects()`] [[funcref boost::compute::opengl_enqueue_acquire_gl_objects opengl_enqueue_acquire_gl_objects()]]] 97 [[`clEnqueueReleaseGLObjects()`] [[funcref boost::compute::opengl_enqueue_release_gl_objects opengl_enqueue_release_gl_objects()]]] 98] 99 100[endsect] [/ opencl api] 101 102[endsect] 103