[Beignet] [PATCH v2] add environment variable OCL_OUTPUT_KERNEL_SOURCE.

xionghu.luo at intel.com xionghu.luo at intel.com
Mon May 11 22:45:18 PDT 2015


From: Luo Xionghu <xionghu.luo at intel.com>

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 at intel.com>
---
 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 eee7c3c..5d1ea23 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 cf80318..583e5d2 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
 
-- 
2.1.0



More information about the Beignet mailing list