Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 23 additions & 11 deletions libclc/README.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -23,29 +23,41 @@ 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
libclc currently supports NVPTX, AMDGPU and SPIRV targets, but support for more
targets is welcome.

Compiling and installing with Make
----------------------------------
Compiling and installing
------------------------

$ ./configure.py --with-llvm-config=/path/to/llvm-config && make
$ make install
(in the following instructions you can use make or ninja)

Note you can use the DESTDIR Makefile variable to do staged installs.
For an in-tree build, Clang must also be built at the same time:

$ make install DESTDIR=/path/for/staged/install
$ cmake <path-to>/llvm-project/llvm/CMakeLists.txt -DLLVM_ENABLE_PROJECTS="libclc;clang" \
-DCMAKE_BUILD_TYPE=Release -G Ninja
$ ninja

Compiling and installing with Ninja
-----------------------------------
Then install:

$ ./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.
Note you can use the DESTDIR Makefile variable to do staged installs.

$ DESTDIR=/path/for/staged/install ninja install

To build against an existing LLVM build or install:

$ cmake <path-to>/llvm-project/libclc/CMakeLists.txt -DCMAKE_BUILD_TYPE=Release \
-G Ninja -DLLVM_DIR=$(<path-to>/llvm-config --cmakedir)
$ ninja

Then install as before.

In both cases, the LLVM used must include the targets you want libclc support for.
AMDGPU and NVPTX are enabled in LLVM by default, but SPIRV must be enabled by
passing `-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=SPIRV` to CMake when configuring
LLVM.

Website
-------

Expand Down