Peter Collingbourne | d5395fb | 2012-01-08 22:09:58 | [diff] [blame] | 1 | libclc |
| 2 | ------ |
| 3 | |
| 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: |
| 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 | |
| 19 | libclc is intended to be used with the Clang compiler's OpenCL frontend. |
| 20 | |
| 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 |
| 24 | functions. |
| 25 | |
| 26 | libclc currently only supports the PTX target, but support for more |
| 27 | targets is welcome. |
| 28 | |
Tom Stellard | 0d35ed9 | 2014-01-29 20:03:28 | [diff] [blame] | 29 | Compiling and installing with Make |
| 30 | ---------------------------------- |
Peter Collingbourne | d5395fb | 2012-01-08 22:09:58 | [diff] [blame] | 31 | |
Tom Stellard | 0d35ed9 | 2014-01-29 20:03:28 | [diff] [blame] | 32 | $ ./configure.py --with-llvm-config=/path/to/llvm-config && make |
| 33 | $ make install |
| 34 | |
| 35 | Note you can use the DESTDIR Makefile variable to do staged installs. |
| 36 | |
| 37 | $ make install DESTDIR=/path/for/staged/install |
| 38 | |
| 39 | Compiling and installing with Ninja |
| 40 | ----------------------------------- |
| 41 | |
| 42 | $ ./configure.py -g ninja --with-llvm-config=/path/to/llvm-config && ninja |
| 43 | $ ninja install |
| 44 | |
| 45 | Note you can use the DESTDIR environment variable to do staged installs. |
| 46 | |
| 47 | $ DESTDIR=/path/for/staged/install ninja install |
Peter Collingbourne | d5395fb | 2012-01-08 22:09:58 | [diff] [blame] | 48 | |
| 49 | Website |
| 50 | ------- |
| 51 | |
davidak | a341863 | 2020-05-28 20:33:14 | [diff] [blame] | 52 | https://libclc.llvm.org/ |