porting_guide.qbk 7.1 KB

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