annotate libclc/README.TXT @ 207:2e18cbf3894f

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