This package aims at creating an Open Source alternative to vendor specific OpenCL ICD loaders. The main difficulties to create such software is that the order of function pointers in a structure is not publicy available. This software maintains a YAML database of all known and guessed entries. If the configure script is called with --enable-update-database, then: - a dummy OpenCL implementation using available headers on the system is created - this dummy OpenCL implementation is installed system-wide (root access needed) with the file dummy.icd in /etc/OpenCL/vendors/ - a test program then calls every function defined in the headers and thus obtains the function mapping inside the demultiplexer So, if an other OpenCL ICD loader is installed on the system, this allows us to discover the mapping of new entries in the structure, entries that are then recoreded in the YAML database. Of course, if the currently installed OpenCL ICD loader is this one, there wont be any problems but no new mapping will be discovered. This package also delivers a skeleton of bindings to incorporate inside an OpenCL implementation to give it ICD functionalities. Main Make targets: all/check/install/...: builds the library and bindings from database update-database: adds new functions to the database from the currently installed OpenCL ICD Loader. Needs root permission.