1<html> 2<head> 3<title>libclc</title> 4</head> 5<body> 6<h1>libclc</h1> 7<p> 8libclc is an open source, BSD/MIT dual licensed 9implementation of the library requirements of the 10OpenCL C programming language, as specified by the <a 11href="https://www.khronos.org/registry/OpenCL/specs/opencl-1.1.pdf">OpenCL 121.1 Specification</a>. The following sections of the specification 13impose library requirements: 14<ul> 15<li>6.1: Supported Data Types 16<li>6.2.3: Explicit Conversions 17<li>6.2.4.2: Reinterpreting Types Using as_type() and as_typen() 18<li>6.9: Preprocessor Directives and Macros 19<li>6.11: Built-in Functions 20<li>9.3: Double Precision Floating-Point 21<li>9.4: 64-bit Atomics 22<li>9.5: Writing to 3D image memory objects 23<li>9.6: Half Precision Floating-Point 24</ul> 25</p> 26 27<p> 28libclc is intended to be used with the <a href="https://clang.llvm.org/">Clang</a> 29compiler's OpenCL frontend. 30</p> 31 32<p> 33libclc is designed to be portable and extensible. To this end, 34it provides generic implementations of most library requirements, 35allowing the target to override the generic implementation at the 36granularity of individual functions. 37</p> 38 39<p> 40libclc currently supports the AMDGCN, and R600 and NVPTX targets, but 41support for more targets is welcome. 42</p> 43 44<h2>Download</h2> 45 46<tt>git clone https://github.com/llvm/llvm-project.git</tt> (<a href="https://github.com/llvm/llvm-project/tree/libclc">View sources</a>) 47 48<h2>Discourse forums</h2> 49 50<a href="https://discourse.llvm.org/c/runtimes/opencl/65">Runtimes - OpenCL category</a> 51 52</body> 53</html> 54