1libclc 2------ 3 4libclc is an open source, BSD licensed implementation of the library 5requirements of the OpenCL C programming language, as specified by the 6OpenCL 1.1 Specification. The following sections of the specification 7impose library requirements: 8 9 * 6.1: Supported Data Types 10 * 6.2.3: Explicit Conversions 11 * 6.2.4.2: Reinterpreting Types Using as_type() and as_typen() 12 * 6.9: Preprocessor Directives and Macros 13 * 6.11: Built-in Functions 14 * 9.3: Double Precision Floating-Point 15 * 9.4: 64-bit Atomics 16 * 9.5: Writing to 3D image memory objects 17 * 9.6: Half Precision Floating-Point 18 19libclc is intended to be used with the Clang compiler's OpenCL frontend. 20 21libclc is designed to be portable and extensible. To this end, it provides 22generic implementations of most library requirements, allowing the target 23to override the generic implementation at the granularity of individual 24functions. 25 26libclc currently only supports the PTX target, but support for more 27targets is welcome. 28 29Compiling and installing with Make 30---------------------------------- 31 32$ ./configure.py --with-llvm-config=/path/to/llvm-config && make 33$ make install 34 35Note you can use the DESTDIR Makefile variable to do staged installs. 36 37$ make install DESTDIR=/path/for/staged/install 38 39Compiling and installing with Ninja 40----------------------------------- 41 42$ ./configure.py -g ninja --with-llvm-config=/path/to/llvm-config && ninja 43$ ninja install 44 45Note you can use the DESTDIR environment variable to do staged installs. 46 47$ DESTDIR=/path/for/staged/install ninja install 48 49Website 50------- 51 52https://libclc.llvm.org/ 53