[Beignet] [PATCH] Benchmark: Enable compilation with vpg opencl driver

grigore.lupescu at intel.com grigore.lupescu at intel.com
Sat Mar 19 00:25:41 UTC 2016


From: Grigore Lupescu <grigore.lupescu at intel.com>

Signed-off-by: Grigore Lupescu <grigore.lupescu at intel.com>
---
 benchmark/CMakeLists.txt     | 13 +++----------
 benchmark/benchmark_math.cpp | 10 ++++++----
 utests/utest_helper.cpp      | 18 ++++++++----------
 3 files changed, 17 insertions(+), 24 deletions(-)

diff --git a/benchmark/CMakeLists.txt b/benchmark/CMakeLists.txt
index 4c3c933..e3fa8cd 100644
--- a/benchmark/CMakeLists.txt
+++ b/benchmark/CMakeLists.txt
@@ -3,7 +3,7 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
                     ${CMAKE_CURRENT_SOURCE_DIR}/../include)
 
 
-link_directories (${LLVM_LIBRARY_DIR} ${DRM_LIBDIR})
+link_directories (${LLVM_LIBRARY_DIR} ${DRM_LIBDIR} /opt/intel/opencl/)
 set (benchmark_sources
   ../utests/utest_error.c
   ../utests/utest_assert.cpp
@@ -11,14 +11,6 @@ set (benchmark_sources
   ../utests/utest_file_map.cpp
   ../utests/utest_helper.cpp
   ../utests/vload_bench.cpp
-  benchmark_copy_buf.cpp
-  benchmark_use_host_ptr_buffer.cpp
-  benchmark_read_buffer.cpp
-  benchmark_read_image.cpp
-  benchmark_copy_buffer_to_image.cpp
-  benchmark_copy_image_to_buffer.cpp
-  benchmark_copy_buffer.cpp
-  benchmark_copy_image.cpp
   benchmark_math.cpp)
 
 
@@ -28,7 +20,8 @@ SET(CMAKE_C_FLAGS "-DBUILD_BENCHMARK ${CMAKE_C_FLAGS}")
 ADD_LIBRARY(benchmarks SHARED ${ADDMATHFUNC} ${benchmark_sources})
 
 #TARGET_LINK_LIBRARIES(benchmarks cl m ${OPENGL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
-TARGET_LINK_LIBRARIES(benchmarks cl m)
+
+TARGET_LINK_LIBRARIES(benchmarks OpenCL m rt pthread)
 
 ADD_EXECUTABLE(benchmark_run benchmark_run.cpp)
 TARGET_LINK_LIBRARIES(benchmark_run benchmarks)
diff --git a/benchmark/benchmark_math.cpp b/benchmark/benchmark_math.cpp
index 72bc316..7a5574b 100644
--- a/benchmark/benchmark_math.cpp
+++ b/benchmark/benchmark_math.cpp
@@ -32,9 +32,10 @@ double benchmark_generic_math(const char* str_filename,
   OCL_CREATE_BUFFER(buf[0], 0, (global_size) * sizeof(float), NULL);
   OCL_CREATE_BUFFER(buf[1], 0, (global_size) * sizeof(float), NULL);
 
-  OCL_MAP_BUFFER(0);
+  buf_data[0] = clEnqueueMapBuffer(queue, buf[0], true, CL_MAP_READ | CL_MAP_WRITE,
+                                   0, (global_size) * sizeof(float), 0, NULL, NULL, NULL);
   memcpy(buf_data[0], src, global_size * sizeof(float));
-  OCL_UNMAP_BUFFER(0);
+  clEnqueueUnmapMemObject(queue, buf[0], buf_data[0], 0, NULL, NULL);
 
   globals[0] = global_size;
   locals[0] = local_size;
@@ -52,10 +53,11 @@ double benchmark_generic_math(const char* str_filename,
   elapsed = time_subtract(&stop, &start, 0);
 
   /* Show compute results */
-  OCL_MAP_BUFFER(1);
+  buf_data[1] = clEnqueueMapBuffer(queue, buf[1], true, CL_MAP_READ | CL_MAP_WRITE,
+                                   0, (global_size) * sizeof(float), 0, NULL, NULL, NULL);
   for(uint32_t i = 0; i < global_size; i += 8192)
     printf("\t%.3f", ((float*)buf_data[1])[i]);
-  OCL_UNMAP_BUFFER(1);
+  clEnqueueUnmapMemObject(queue, buf[1], buf_data[1], 0, NULL, NULL);
 
   return BANDWIDTH(global_size * loop, elapsed);
 }
diff --git a/utests/utest_helper.cpp b/utests/utest_helper.cpp
index 0aab208..2f1ea0b 100644
--- a/utests/utest_helper.cpp
+++ b/utests/utest_helper.cpp
@@ -218,8 +218,8 @@ cl_do_kiss_path(const char *file, cl_device_id device)
   if (device == NULL)
     sub_path = "";
   else {
-    if (clGetGenVersionIntel(device, &ver) != CL_SUCCESS)
-      clpanic("Unable to get Gen version", -1);
+    //if (clGetGenVersionIntel(device, &ver) != CL_SUCCESS)
+    //  clpanic("Unable to get Gen version", -1);
     sub_path = "";
   }
 
@@ -244,9 +244,7 @@ cl_kernel_init(const char *file_name, const char *kernel_name, int format, const
   if (!program || (program && (!prevFileName || strcmp(prevFileName, file_name)))) {
     if (program) clReleaseProgram(program);
     ker_path = cl_do_kiss_path(file_name, device);
-    if (format == LLVM)
-      program = clCreateProgramWithLLVMIntel(ctx, 1, &device, ker_path, &status);
-    else if (format == SOURCE) {
+    if (format == SOURCE) {
       cl_file_map_t *fm = cl_file_map_new();
       FATAL_IF (cl_file_map_open(fm, ker_path) != CL_FILE_MAP_SUCCESS,
                 "Failed to open file \"%s\" with kernel \"%s\". Did you properly set OCL_KERNEL_PATH variable?",
@@ -561,8 +559,8 @@ cl_test_destroy(void)
 {
   cl_kernel_destroy();
   cl_ocl_destroy();
-  printf("%i memory leaks\n", clReportUnfreedIntel());
-  assert(clReportUnfreedIntel() == 0);
+  //printf("%i memory leaks\n", clReportUnfreedIntel());
+  //assert(clReportUnfreedIntel() == 0);
 }
 
 void
@@ -571,7 +569,7 @@ cl_buffer_destroy(void)
   int i;
   for (i = 0; i < MAX_BUFFER_N; ++i) {
     if (buf_data[i] != NULL) {
-      clUnmapBufferIntel(buf[i]);
+      clEnqueueUnmapMemObject(queue, buf[i], buf_data[i], 0, NULL, NULL);
       buf_data[i] = NULL;
     }
     if (buf[i] != NULL) {
@@ -589,7 +587,7 @@ cl_report_perf_counters(cl_mem perf)
   uint32_t i;
   if (perf == NULL)
     return;
-  start = (uint32_t*) clMapBufferIntel(perf, &status);
+  start = (uint32_t*) clEnqueueMapBuffer(queue, perf, true, CL_MAP_READ|CL_MAP_WRITE, 0, 128, 0, NULL, NULL, NULL);
   assert(status == CL_SUCCESS && start != NULL);
   end = start + 128;
 
@@ -614,7 +612,7 @@ cl_report_perf_counters(cl_mem perf)
   }
   printf("\n\n");
 
-  clUnmapBufferIntel(perf);
+  clEnqueueUnmapMemObject(queue, perf, start, 0, NULL, NULL);
 }
 
 struct bmphdr {
-- 
2.5.0



More information about the Beignet mailing list