From d8ecbcd53a6a1bd317ddba2b93efb55ae3c4b9bd Mon Sep 17 00:00:00 2001 From: Luo Xionghu Date: Tue, 12 May 2015 13:45:18 +0800 Subject: add environment variable OCL_OUTPUT_KERNEL_SOURCE. export the variable to 1 to view the building or compiling kernel's source code. By default, it is false and GBE will not print any code. v2: also output the build options if not empty. Signed-off-by: Luo Xionghu Reviewed-by: "Song, Ruiling" --- backend/src/backend/program.cpp | 9 +++++++++ docs/Beignet/Backend.mdwn | 3 +++ 2 files changed, 12 insertions(+) diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp index eee7c3c5..5d1ea23a 100644 --- a/backend/src/backend/program.cpp +++ b/backend/src/backend/program.cpp @@ -634,6 +634,7 @@ namespace gbe { SVAR(OCL_PCH_PATH, OCL_PCH_OBJECT); SVAR(OCL_HEADER_FILE_DIR, OCL_HEADER_DIR); + BVAR(OCL_OUTPUT_KERNEL_SOURCE, false); static bool processSourceAndOption(const char *source, const char *options, @@ -665,6 +666,14 @@ namespace gbe { } } assert(findOcl); + if (OCL_OUTPUT_KERNEL_SOURCE) { + if(options) { + std::cout << "Build options:" << std::endl; + std::cout << options << std::endl; + } + std::cout << "CL kernel source:" << std::endl; + std::cout << source; + } std::string includePath = "-I" + headerFilePath; clOpt.push_back(includePath); bool useDefaultCLCVersion = true; diff --git a/docs/Beignet/Backend.mdwn b/docs/Beignet/Backend.mdwn index cf803180..583e5d2d 100644 --- a/docs/Beignet/Backend.mdwn +++ b/docs/Beignet/Backend.mdwn @@ -45,6 +45,9 @@ Environment variables are used all over the code. Most important ones are: Normally, you don't need to set it, we will select suitable simd width for a given kernel. Default value is 16. +- `OCL_OUTPUT_KENERL_SOURCE` `(0 or 1)`. Output the building or compiling kernel's + source code. + - `OCL_OUTPUT_GEN_IR` `(0 or 1)`. Output Gen IR (scalar intermediate representation) code -- cgit v1.2.3