forked from OSchip/llvm-project
53 lines
1.6 KiB
Plaintext
53 lines
1.6 KiB
Plaintext
libclc
|
||
------
|
||
|
||
libclc is an open source, BSD licensed implementation of the library
|
||
requirements of the OpenCL C programming language, as specified by the
|
||
OpenCL 1.1 Specification. The following sections of the specification
|
||
impose library requirements:
|
||
|
||
* 6.1: Supported Data Types
|
||
* 6.2.3: Explicit Conversions
|
||
* 6.2.4.2: Reinterpreting Types Using as_type() and as_typen()
|
||
* 6.9: Preprocessor Directives and Macros
|
||
* 6.11: Built-in Functions
|
||
* 9.3: Double Precision Floating-Point
|
||
* 9.4: 64-bit Atomics
|
||
* 9.5: Writing to 3D image memory objects
|
||
* 9.6: Half Precision Floating-Point
|
||
|
||
libclc is intended to be used with the Clang compiler's OpenCL frontend.
|
||
|
||
libclc is designed to be portable and extensible. To this end, it provides
|
||
generic implementations of most library requirements, allowing the target
|
||
to override the generic implementation at the granularity of individual
|
||
functions.
|
||
|
||
libclc currently only supports the PTX target, but support for more
|
||
targets is welcome.
|
||
|
||
Compiling and installing with Make
|
||
----------------------------------
|
||
|
||
$ ./configure.py --with-llvm-config=/path/to/llvm-config && make
|
||
$ make install
|
||
|
||
Note you can use the DESTDIR Makefile variable to do staged installs.
|
||
|
||
$ make install DESTDIR=/path/for/staged/install
|
||
|
||
Compiling and installing with Ninja
|
||
-----------------------------------
|
||
|
||
$ ./configure.py -g ninja --with-llvm-config=/path/to/llvm-config && ninja
|
||
$ ninja install
|
||
|
||
Note you can use the DESTDIR environment variable to do staged installs.
|
||
|
||
$ DESTDIR=/path/for/staged/install ninja install
|
||
|
||
Website
|
||
-------
|
||
|
||
https://libclc.llvm.org/
|