blob: 40eddb31e1cbdabf3e67d09acdc60767c7117d23 [file] [log] [blame]
Peter Collingbourned5395fb2012-01-08 22:09:581libclc
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
30---------
31
32./configure.py --with-llvm-config=/path/to/llvm-config && make
33
34Website
35-------
36
37http://www.pcc.me.uk/~peter/libclc/