|
From: Pekka J. <pek...@tu...> - 2012-01-16 16:32:17
|
Hi, I didn't yet add it to 'make check' (as most of the examples fail to compile), but I added a Makefile for compiling the examples of http://code.google.com/p/opencl-book-samples/ against a pocl *build tree*. This should make it easier to test the build when adding new APIs (no need to install pocl). I listed the missing APIs for this example suite in the TODO file: Known missing OpenCL 1.2 features --------------------------------- Missing APIs used by the tested OpenCL example suites are entered here. (*) == Used by the opencl-book-samples. 4. THE OPENCL PLATFORM LAYER * 4.1 Querying platform info (properly) * 4.3 Partitioning device * 4.4 Contexts * clRetainContext (*) 5. THE OPENCL RUNTIME * 5.1 Command queues * clRetainCommandQueue (*) * 5.2.1 Creating buffer objects * clCreateSubBuffer (*) * 5.2.4 Mapping buffer objects * clEnqueueMapBuffer (*) * 5.3 Image objects * clCreateImage2D (deprecated in OpenCL 1.2) (*) * 5.3.3 Reading, Writing and Copying Image Objects * clEnqueueReadImage (*) * 5.4 Querying, Umapping, Migrating, ... Mem objects * 5.4.1 Retaining and Releasing Memory Objects * clRetainMemObject (*) * 5.4.2 Unmapping Mapped Memory Objects * clEnqueueUnmapMemObject (*) * 5.5 Sampler objects * 5.5.1 Creating Sampler Objects * clCreateSampler (*) * 5.6.1 Creating Program Objects * clCreateProgramWithBinary (*) * clRetainProgram (*) * 5.7.1 Creating Kernel Objects * clRetainKernel (*) * 5.9 Event objects * clWaitForEvents (*) * clReleaseEvent (*) * 5.10 Markers, Barriers and Waiting for Events * clEnqueueMarker (deprecated in OpenCL 1.2) (*) * 5.12 Profiling * Reference counting for all the OpenCL objects 6. THE OPENCL C PROGRAMMING LANGUAGE * 6.12.10 Async Copies * 6.12.11 Atomic functions OpenCL 1.2 Extensions * 9.7 Sharing Memory Objects with OpenGL / OpenGL ES Buffer, Texture and Renderbuffer Objects * 9.7.6 Sharing memory objects that map to GL objects between GL and CL contexts * clEnqueueAcquireGLObjects (*) There's not so many APIs missing. Event and command queue APIs are being implemented by Kalle. Plenty of retain/release APIs are missing as there's no reference counting implementation yet. I might pick up on it as I already proposed a way forward with this (the macros) some time ago here in the mailing list. After those are in place this set of examples is missing mainly the image APIs, clCreateProgramWithBinary (of which implementation was already discussed briefly), sub buffers and the GL/CL interoperation which is an extension and not high priority yet. Sub buffers could exploit the bufalloc code. The original buffer would contain a mem_region from which the subbuffers are allocated. Additional API to the bufalloc is needed where both the start and the size of the chunk are given. I can look also on this one. On 01/12/2012 08:44 PM, Pekka Jääskeläinen wrote: > It would be nice to get a large set of examples easily executable from > 'make check' so we get constant testing of a larger test suite to avoid > regressions during development and to get confidence on the implementation. -- Pekka |