From 59cf9be6cde9eb47e28b3643a552d3244bba1510 Mon Sep 17 00:00:00 2001 From: Bartosz Sochacki Date: Wed, 20 Apr 2016 09:16:55 +0200 Subject: [PATCH] Added README.md file --- README.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..b5379e7d6 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +OpenCL C++ Standard Library Instructions +================================================ + +The instructions how to build SPIR-V generator/Clang can be found here: + https://github.com/KhronosGroup/SPIR/tree/spirv-1.1 + +----------------------------------- +Step 1: OpenCL C++ standard library +----------------------------------- + +To clone the OpenCL C++ standard libary use the following cmdline: + +```bash + git clone https://github.com/KhronosGroup/libclcxx.git master +``` + +-------------------------------- +Step 2: Creating SPIR-V binaries +-------------------------------- + +To create a SPIR-V binary from a valid OpenCL-C file (.cl), use the following +command lines: + +```bash + clang -cc1 -emit-spirv -triple -cl-std=c++ -I -x cl -o +``` + +Notes: + +* ``: for 32 bit SPIR-V use spir-unknown-unknown, for 64 bit SPIR-V use spir64-unknown-unknown. +* -D: to enable support for extension. e.g. -Dcl_khr_mipmap_image compile option will enable mipmap support. +* -cl-fp16-enable: to enable half support and define cl_khr_fp16 +* -cl-fp64-enable: to enable double support and define cl_khr_fp64 +* -O: -O0 (default) is the only tested option value at the moment. It's assumed by design that all optimizations are executed by SPIR-V consumer +* ``: path to include directory from libclcxx (https://github.com/KhronosGroup/libclcxx) +. + +```bash + clang -cc1 -emit-spirv -triple=spir-unknown-unknown -cl-std=c++ -I include kernel.cl -o kernel.spir +``` + +---------------- +Reporting issues +---------------- + +Bugs/feature requests can be filed via [github](https://github.com/KhronosGroup/SPIR/issues) or [Khronos Bugzilla](https://www.khronos.org/bugzilla/) bug tracker.