ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/OpenCL/Changes
(Generate patch)

Comparing OpenCL/Changes (file contents):
Revision 1.41 by root, Mon Apr 23 13:50:12 2012 UTC vs.
Revision 1.75 by root, Sat May 5 14:49:52 2012 UTC

1Revision history for Perl extension OpenCL. 1Revision history for Perl extension OpenCL.
2 2
3TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateProgramWithBinary.html
4TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateKernelsInProgram.html
5TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clSetEventCallback.html, *pfn
6TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clSetMemObjectDestructorCallback.html, *pfn 3TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clSetMemObjectDestructorCallback.html
7TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueUnmapMemObject.html
8TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueMapBuffer.html
9TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueMapImage.html
10TODO: CL_IMAGE_FORMAT
11TODO: ->build on multiple devices
12TODO: some convenience methods maybe? 4TODO: some convenience methods maybe?
13TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clCompileProgram.html 5TODO: OpenCL::context
14TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clLinkProgram.html
15TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clCreateProgramWithBuiltInKernels.html
16TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clCreateSubDevices.html
17TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clUnloadPlatformCompiler.html
18TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueFillBuffer.html
19TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueFillImage.html
20TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueMigrateMemObjects.html
21TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clGetKernelArgInfo.html (also generic accessor)
22TODO: ->id method that returns the underlying object id?
23TODO: allow "prefer 1.2/1.1 api" or "ignore 1.2 api"
24 6
7TODO: get/set -> get/put with offset/coordinates at end?
8 - OpenCL 1.2 is now effectively feature complete (but hardly tested).
9 - implement these 1.2 functions:
10 $device->sub_devices,
11 $ctx->program_with_built_in_kernels,
12 $ctx->link_program,
13 $program->compile,
14 $kernel->arg_info (and all 5 accessor methods),
15 $queue->migrate_mem_objects.
16 - implement OpenCL::context.
17 - remove $kernel->set_image[23]d.
18 - add most enum and bitfield symbols to the manpage, for quick reference.
19 - default all constants to -1, instead of having them missing.
20 - try hard to get d3d definitions, when/if possible.
21 - add numerical limits and floating point constants from cl_platform.h.
22
230.99 Fri May 4 01:31:15 CEST 2012
24 - OpenCL 1.1 is now effectively feature complete.
25 - work around a bug in the nvidia implementation, where build fails with
26 INVALID_BINARY if the compiler runs succesfully but ptxas fails.
27 - explicitly check for 0 size dimensions in nd_range_kernel, as nvidia
28 crashes (and OpenCL probably allows this behaviour).
29 - actually report clSetKernelArg errors in ("OpenCL::Kernel::setf.
30 - setf properly can now properly set local arguments ('z').
31 - using undef to pass null memory buffers now works in set_xxx.
32 - release_gl_texture was missing.
33 - fix/improve/balance gl sharing example.
34 - added non-opengl sharing opengl example.
35 - fixed some documentation links.
36 - fixed a bug where enqueue operations with optional parameters at the
37 end not specified would crash.
38 - implemented clEnqueueMapBuffer/Image/UnmapMemObject, and a "mapped object"
39 abstraction.
40 - both context_from_type methods now properly pass the notify callback.
41 - $platform->context now properly passes CL_CONTEXT_PLATFORM again.
42 - implement clCreateProgramWithBinary.
43 - speed up object constructions by not looking up stashes.
44 - use libebc for fine-tuning.
45 - reduce codesize considerably by disabling inlining on some functions.
46 - speed up many method calls on objects with no subclasses.
47
480.98 Sat Apr 28 15:31:46 CEST 2012
49 - INCOMPATIBLE CHANGE: $prog->build now wants an array of devices, or undef.
50 - INCOMPATIBLE CHANGE: $queue->enqueue_xxx methods have been renamed to just
51 $queue->xxx, the enqueue_ prefix has been deprecated.
52 - INCOMPATIBLE CHANGE: use ->set_image to set kernel args, ->image[23]d have
53 been deprecated.
54 - new $kernel->setf function to set kernel arguments in one go.
55 - (optional, automatic) anyevent integration.
56 - implement an event queue, use Async::Interrupt for communication.
57 - implement context notification callbacks (untested).
58 - provide a default context notification function that prints to stderr.
59 - implement event callback notifications.
60 - implement build program notifications.
61 - implement an asynchronous program build function.
62 - $ctx->build_program now distinguishes between wrong build invocations
63 and build failures.
64
650.97 Tue Apr 24 16:56:21 CEST 2012
66 - created $ctx->build_program utility function.
25 - enqueue_acquire/release_gl_objects did not return an event object. 67 - enqueue_acquire/release_gl_objects did not return an event object.
26 - OpenCL::errno did not return the correct value. 68 - OpenCL::errno did not return the correct value.
27 - allow undef values in event wait lists, for convenience. 69 - allow undef values in event wait lists, for convenience.
70 - implement $program->kernels_in_program.
28 - add opencl 1.2 constants. 71 - add opencl 1.2 constants.
29 - implement $ctx->image and $ctx->gl_texture (1.2). 72 - implement $ctx->image, $ctx->gl_texture, $platform->unload_compiler,
73 $queue->enqueue_fill_buffer/image, all untested (opencl 1.2).
30 - port image2d and image3d to the opencl 1.2 API. 74 - port image2d and image3d to the opencl 1.2 API.
31 - port enqueue_marker/barrier to the opencl 1.2 API, and croak 75 - port enqueue_marker/barrier to the opencl 1.2 API, and croak
32 if the user requests something that 1.1 cannot do when compiled 76 if the user requests something that 1.1 cannot do when compiled
33 against 1.1. This slightly changes the API for enqueue_barrier, 77 against 1.1. This slightly changes the API for enqueue_barrier,
34 which now checks the context it is called in. 78 which now checks the context it is called in.
79 - add ->format accessor for CL_IMAGHE_FORMAT.
80 - $object->id function to access internal object id.
35 81
360.96 Fri Apr 20 22:23:58 CEST 2012 820.96 Fri Apr 20 22:23:58 CEST 2012
37 - ->enqueue_write_buffer actually called enqueue_read_buffer. d'oh. 83 - ->enqueue_write_buffer actually called enqueue_read_buffer. d'oh.
38 - new $kernel->set_local function, to size local buffer arguments. 84 - new $kernel->set_local function, to size local buffer arguments.
39 - use finish, not flush, in examples. 85 - use finish, not flush, in examples.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines