Open jyoung3131 opened 9 years ago
I contacted the Beignet authors, which reacted very rapidly by sending a patch (Unfortunately, this patch is not yet reviewed and not yet upstream.)
From bc862d3f037b6ad330a4f38473aad3822b30e90b Mon Sep 17 00:00:00 2001
From: Luo <xionghu.luo@intel.com>
Date: Wed, 29 Jul 2015 09:41:47 +0800
Subject: [PATCH] runtime: fix event status check bug.
clGetEventProfilingInfo could query all event status.
this could fix the shoc project reported CL_PROFILING_INFO_NOT_AVAILABLE
issue.
https://github.com/vetter/shoc/issues/47
Signed-off-by: Luo Xionghu <xionghu.luo@intel.com>
---
src/cl_api.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cl_api.c b/src/cl_api.c
index 28783fd..0ac7112 100644
--- a/src/cl_api.c
+++ b/src/cl_api.c
@@ -1472,7 +1472,7 @@ clGetEventProfilingInfo(cl_event event,
if (event->type == CL_COMMAND_USER ||
!(event->queue->props & CL_QUEUE_PROFILING_ENABLE) ||
- event->status != CL_COMPLETE) {
+ event->status < CL_COMPLETE || event->status > CL_QUEUED) {
err = CL_PROFILING_INFO_NOT_AVAILABLE;
goto error;
}
--
1.9.1
Ah, that's good news! I'll have to pull the latest git repo to see if this works and will report back.
Intel iGPUs from Sandy Bridge onwards are now supported at least in part on Linux using Beignet (https://01.org/beignet). An initial test using Beignet 1.0.0 on a Haswell CPU generated some reasonable results for several of the benchmarks, but many failed due to an issue with the "FillTimingInfo" class in Event.cpp (the specific error returned was CL_PROFILING_INFO_NOT_AVAILABLE).
At this time, it's unclear whether this is a SHOC issue since other platforms (including Intel CPUs) work fine, but it might be worthwhile to check into for future Intel iGPUs.