文件最后提交记录最后更新时间
libclc: Make all built-ins overloadable5 年前
libclc: Make all built-ins overloadable5 年前
Remove redundant OVERRRIDES file7 年前
libclc: increase fp16 support (#98149)1 年前
[libclc] Revise IDE folder structure (#89746)1 年前
libclc: add half version of 'sign' (#99841)1 年前
libclc: Make all built-ins overloadable5 年前
ptx: Use __clc_nextafter to implement nextafter8 年前
libclc: Make all built-ins overloadable5 年前
libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA5 年前
libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA5 年前
Add rsqrt builtin. Based on patch by Cassie Epps!13 年前
[LIBCLC] Teach prepare-builtins how to handle text based IR (#66993)2 年前
Remove references to old mailing lists that have moved to discourse. Replace with links to discourse.3 年前
.gitignore: Ignore amdgcn-mesa object directory9 年前
[libclc] Revise IDE folder structure (#89746)1 年前
Initial commit.14 年前
Fix typos throughout the license files that somehow I and my reviewers7 年前
libclc: update website url5 年前
configure: Provide symlink for amdgcn-mesa3d instead of configure hack7 年前
[libclc] Convert tabs to spaces in CMake (#85634)2 年前
libclc: Add clspv64 target4 年前
Fix build against recent versions of Clang. Based on patch by Alastair Donaldson!13 年前
cmake: Install libraries to DATADIR from GNUInstallDirs7 年前
README.TXT

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/