VC Intrinsics project contains a set of new intrinsics on top of core LLVM IR instructions that represent SIMD semantics of a program targeting GPU. This set is now used by
frontend compilers and
VC Intrinsics are distributed under the MIT license.
You may obtain a copy of the License at:
https://opensource.org/licenses/MIT
To build libraries:
To build documentation:
VC Intrinsics can be built in two major modes: in-tree and external. All major LLVM versions starting from LLVM 8 are supported.
LLVM ToT can be used too, but there is no guarantee that it will always work (because of sudden breaking changes in LLVM C++ API). However, maintainers are trying to fix such issues as fast as possible.
For in-tree build VC Intrinsics can be considered as an external LLVM project. Put VC Intrinsics source directory inside llvm/projects
directory or add -DLLVM_EXTERNAL_PROJECTS="vc-intrinsics" -DLLVM_EXTERNAL_VC_INTRINSICS_SOURCE_DIR=<vc-intrinsics>
to cmake command arguments when configuring LLVM.
To configure VC Intrinsics with prebuilt LLVM run cmake as follows:
$ cmake -DLLVM_DIR=<llvm install>/lib/cmake/llvm <vc-intrinsics>
VC Intrinsics documentation is inside docs
subdirectory and can be built using Sphinx. To build html version do the following:
$ cd docs $ make -f Makefile.sphinx html
This will extract comments from main intrinsics description and generate readable html output in _build/html
subdirectory.
VC Intrinsics repository contains lit tests that are enabled when -DVC_INTR_ENABLE_LIT_TESTS=ON
is passed to cmake command. Lit tests use LLVM plugins and currently are supported only with dynamic LLVM (when LLVM is configured with -DLLVM_LINK_LLVM_DYLIB=ON
). In external build path to lit
utility should be specified as follows: -DLLVM_EXTERNAL_LIT=<lit>
. Full example with external build:
$ cmake -DLLVM_DIR=<llvm install>/lib/cmake/llvm -DVC_INTR_ENABLE_LIT_TESTS=ON -DLLVM_EXTERNAL_LIT=<lit> <vc-intrinsics>
Target check-vc-intrinsics
will run lit tests.
No code changes may regress support for any currently supported hardware. All contributions must ensure compatibility and functionality across all supported hardware platforms. Contributions that break hardware compatibility may be rejected or reverted.
Any intentional changes to the list of supported platforms will be communicated on this page.
Please submit an issue using native github.com interface: https://github.com/intel/vc-intrinsics/issues.
Create a pull request on github.com with your patch. A maintainer will contact you if there are questions or concerns.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4