Package: wnpp Severity: wishlist Owner: Vincent Danjean <vdanj...@debian.org>
[ opencl-headers maintainers, please read until the end of this ITP ] * Package name : ocl-icd Version : 1.0 beta2 Upstream Author : Brice Videau <brice.vid...@imag.fr> * URL : http://forge.imag.fr/projects/ocl-icd/ * License : BSD Programming Lang: C Description : Generic OpenCL ICD Loader This source package will provide two binary pakages: Package: ocl-icd-libopencl1 Description: Generic OpenCL ICD Loader OpenCL (Open Computing Language) is a multivendor open standard for general-purpose parallel programming of heterogeneous systems that include CPUs, GPUs and other processors. . This package contains an installable client driver loader (ICD Loader) library that can be used to load any (free or non-free) installable client driver (ICD) for OpenCL. It acts as a demultiplexer so several ICD can be installed and used together. Package: ocl-icd-dev Description: Development files to build a ICD Loader OpenCL (Open Computing Language) is a multivendor open standard for general-purpose parallel programming of heterogeneous systems that include CPUs, GPUs and other processors. . This package provides a header file that allows a OpenCL implementation to build a installable client driver (ICD). With a ICD, an OpenCL implementation can be used by any OpenCL program without the need to link the program to the specific OpenCL implementation. A few word about the context. There exist lots of OpenCL implementations. A OpenCL program can either link to a specific OpenCL implementation or it can link to a standardized libOpenCL library that allows the program to dynamically choose the OpenCL implementation or even to use several OpenCL implementations in the same program. In fact libOpenCL is only a wrapper (more exactly a dispatcher) to OpenCL implementations provided as ICD. ocl-icd is the only one (to my knowledge) free implementation of such a ICD Loader. The main difficulty to implement it is that all compatible ICD must provide a structure filled with OpenCL function pointers, but there is no free documentation about the order of these functions. So ocl-icd sources include tools to help to find this order from closed-sources OpenCL implementations (by creating a fake OpenCL ICD and letting the closed-source ICD Loader execute the faked functions). Once the order is found, it is registered into a database. Vendors ensure between them that functions are always at the same place so the database is only filled when a new closed-source ICD Loader uses more functions. Entries in the database are never modified nor removed. ocl-icd also provides a header file declaring this structure of function pointers so that any OpenCL implementation will be easily able to provide an ICD. The goal is to add such an ICD to free OpenCL implementation such as LIBCLC or clover. The Debian package will only use the database (ocl_interface.yaml in the sources), so it will not have any non-free dependencies. However, it needs opencl-headers that are currently in contrib. This is why I would ask opencl-headers maintainers to reconsider the place of opencl-headers. If I understand correctly, opencl-headers have been uploaded to contrib because their only use case would be to compile an OpenCL program for a closed-source OpenCL implementation (mainly amd or nvidia). Now, opencl-headers is required to compile this free ICD Loader. And this free ICD Loader has all what is needed to compile a free ICD from free OpenCL implementation. So, is it possible to upload opencl-headers to main instead of contrib? Regards, Vincent PS: a preliminary package is on my repo: deb http://people.debian.org/~vdanjean/debian unstable main -- To UNSUBSCRIBE, email to debian-wnpp-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120601223811.15142.94880.report...@eyak.imag.fr