… | |
… | |
43 | |
43 | |
44 | OpenCL::Event objects are used to signal when something is complete. |
44 | OpenCL::Event objects are used to signal when something is complete. |
45 | |
45 | |
46 | =head2 HELPFUL RESOURCES |
46 | =head2 HELPFUL RESOURCES |
47 | |
47 | |
48 | The OpenCL spec used to develop this module (1.2 spec was available, but |
48 | The OpenCL specs used to develop this module: |
49 | no implementation was available to me :). |
|
|
50 | |
49 | |
51 | http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf |
50 | http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf |
|
|
51 | http://www.khronos.org/registry/cl/specs/opencl-1.2.pdf |
|
|
52 | http://www.khronos.org/registry/cl/specs/opencl-1.2-extensions.pdf |
52 | |
53 | |
53 | OpenCL manpages: |
54 | OpenCL manpages: |
54 | |
55 | |
55 | http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/ |
56 | http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/ |
|
|
57 | http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/ |
56 | |
58 | |
57 | If you are into UML class diagrams, the following diagram might help - if |
59 | If you are into UML class diagrams, the following diagram might help - if |
58 | not, it will be mildly cobfusing: |
60 | not, it will be mildly confusing (also, the class hierarchy of this module |
|
|
61 | is much more fine-grained): |
59 | |
62 | |
60 | http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/classDiagram.html |
63 | http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/classDiagram.html |
61 | |
64 | |
62 | Here's a tutorial from AMD (very AMD-centric, too), not sure how useful it |
65 | Here's a tutorial from AMD (very AMD-centric, too), not sure how useful it |
63 | is, but at least it's free of charge: |
66 | is, but at least it's free of charge: |
64 | |
67 | |
65 | http://developer.amd.com/zones/OpenCLZone/courses/Documents/Introduction_to_OpenCL_Programming%20Training_Guide%20%28201005%29.pdf |
68 | http://developer.amd.com/zones/OpenCLZone/courses/Documents/Introduction_to_OpenCL_Programming%20Training_Guide%20%28201005%29.pdf |
… | |
… | |
1241 | |
1244 | |
1242 | =item $ev = $queue->enqueue_task ($kernel, $wait_events...) |
1245 | =item $ev = $queue->enqueue_task ($kernel, $wait_events...) |
1243 | |
1246 | |
1244 | L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueTask.html> |
1247 | L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueTask.html> |
1245 | |
1248 | |
1246 | =item $ev = $queue->enqueue_nd_range_kernel ($kernel, @$global_work_offset, @$global_work_size, @$local_work_size, $wait_events...) |
1249 | =item $ev = $queue->enqueue_nd_range_kernel ($kernel, \@global_work_offset, \@global_work_size, \@local_work_size, $wait_events...) |
1247 | |
1250 | |
1248 | Enqueues a kernel execution. |
1251 | Enqueues a kernel execution. |
1249 | |
1252 | |
1250 | @$global_work_size must be specified as a reference to an array of |
1253 | \@global_work_size must be specified as a reference to an array of |
1251 | integers specifying the work sizes (element counts). |
1254 | integers specifying the work sizes (element counts). |
1252 | |
1255 | |
1253 | @$global_work_offset must be either C<undef> (in which case all offsets |
1256 | \@global_work_offset must be either C<undef> (in which case all offsets |
1254 | are C<0>), or a reference to an array of work offsets, with the same number |
1257 | are C<0>), or a reference to an array of work offsets, with the same number |
1255 | of elements as @$global_work_size. |
1258 | of elements as \@global_work_size. |
1256 | |
1259 | |
1257 | @$local_work_size must be either C<undef> (in which case the |
1260 | \@local_work_size must be either C<undef> (in which case the |
1258 | implementation is supposed to choose good local work sizes), or a |
1261 | implementation is supposed to choose good local work sizes), or a |
1259 | reference to an array of local work sizes, with the same number of |
1262 | reference to an array of local work sizes, with the same number of |
1260 | elements as @$global_work_size. |
1263 | elements as \@global_work_size. |
1261 | |
1264 | |
1262 | L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueNDRangeKernel.html> |
1265 | L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueNDRangeKernel.html> |
1263 | |
1266 | |
1264 | =item $ev = $queue->enqueue_acquire_gl_objects ([object, ...], $wait_events...) |
1267 | =item $ev = $queue->enqueue_acquire_gl_objects ([object, ...], $wait_events...) |
1265 | |
1268 | |