4 libclc is an open source, BSD licensed implementation of the library
5 requirements of the OpenCL C programming language, as specified by the
6 OpenCL 1.1 Specification. The following sections of the specification
7 impose library requirements:
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
16 * 9.5: Writing to 3D image memory objects
17 * 9.6: Half Precision Floating-Point
19 libclc is intended to be used with the Clang compiler's OpenCL frontend.
21 libclc is designed to be portable and extensible. To this end, it provides
22 generic implementations of most library requirements, allowing the target
23 to override the generic implementation at the granularity of individual
26 libclc currently only supports the PTX target, but support for more
29 Compiling and installing with Make
30 ----------------------------------
32 $ ./configure.py --with-llvm-config=/path/to/llvm-config && make
35 Note you can use the DESTDIR Makefile variable to do staged installs.
37 $ make install DESTDIR=/path/for/staged/install
39 Compiling and installing with Ninja
40 -----------------------------------
42 $ ./configure.py -g ninja --with-llvm-config=/path/to/llvm-config && ninja
45 Note you can use the DESTDIR environment variable to do staged installs.
47 $ DESTDIR=/path/for/staged/install ninja install
52 https://libclc.llvm.org/