Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test OpenCL branch further with Intel's iGPUs #47

Open
jyoung3131 opened this issue Dec 2, 2014 · 2 comments
Open

Test OpenCL branch further with Intel's iGPUs #47

jyoung3131 opened this issue Dec 2, 2014 · 2 comments

Comments

@jyoung3131
Copy link
Contributor

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.

@kgallmei
Copy link

kgallmei commented Jan 8, 2016

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 <[email protected]>
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 <[email protected]>
---
 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

@jyoung3131
Copy link
Contributor Author

Ah, that's good news! I'll have to pull the latest git repo to see if this works and will report back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants