summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuo Xionghu <xionghu.luo@intel.com>2015-05-12 13:45:18 +0800
committerZhigang Gong <zhigang.gong@intel.com>2015-05-15 10:43:21 +0800
commitd8ecbcd53a6a1bd317ddba2b93efb55ae3c4b9bd (patch)
tree6af018012ca0feeac3b7e6f43fdb87e2b670262c
parent9ff560d00932eb3e97b9fece016704ad81ac3041 (diff)
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 <xionghu.luo@intel.com> Reviewed-by: "Song, Ruiling" <ruiling.song@intel.com>
-rw-r--r--backend/src/backend/program.cpp9
-rw-r--r--docs/Beignet/Backend.mdwn3
2 files changed, 12 insertions, 0 deletions
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