[Beignet] johntheripper/OpenCL clGetEventProfilingInfo issue
Oleksii Shevchuk
public.avatar at gmail.com
Fri Oct 24 15:13:03 PDT 2014
Hi list!
I'm trying to use beignet (67650189c145a65addffdcd4d8ff452709bd4149)
with johntheripper (ceb8aa1899817965afd26ffb651932e475a7bbc7 at
https://github.com/magnumripper/JohnTheRipper) on i7/HD4000.
Test suite reports that tests are passed:
.....
compiler_abs_diff_int()Instruction (#42) src too large pooloffset 11
Instruction (#20) src too large pooloffset 11
[SUCCESS]
.....
[SUCCESS]
double_precision_check()
- WARN: GPU doesn't have correct double precision. Got 9.995699E-05, expected 0.0001000001
summary:
----------
total: 421
run: 421
pass: 419
fail: 0
pass rate: 1.000000
But with john I ran into the next problem:
john -format=rar-opencl -te
Will run 4 OpenMP threads
Device 0: Intel(R) HD Graphics IvyBridge M GT2
OpenCL error (CL_PROFILING_INFO_NOT_AVAILABLE) in file (common-opencl.c) at line (1210) - (Failed in clGetEventProfilingInfo I)
Here is this place:
https://github.com/magnumripper/JohnTheRipper/blob/bleeding-jumbo/src/common-opencl.c#L1205
According to the cl_api.c, in the clGetEventProfilingInfo, status is not
equals to CL_COMPLETE, and all other conditions were ok.
I add this to cl_api.c / clGetEventProfilingInfo
fprintf(stderr, "ER: %d? %d? %d?\n",.
event->type == CL_COMMAND_USER, !(event->queue->props & CL_QUEUE_PROFILING_ENABLE),.
event->status != CL_COMPLETE);
And result was:
LD_PRELOAD=/home/avatar/Software/beignet-build/src/libcl.so ../run/john -format=encfs-opencl -te
Will run 4 OpenMP threads
Device 0: Intel(R) HD Graphics IvyBridge M GT2
ER: 0? 0? 1?
OpenCL error (CL_PROFILING_INFO_NOT_AVAILABLE) in file (common-opencl.c) at line (1211) - (Failed in clGetEventProfilingInfo I)
According to the documentation, before requesting
clGetEventProfilingInfo, the queue should be created with
CL_QUEUE_PROFILING_ENABLE. So I add clFinish after all queues creation
with this flag. Result was the same.
So, the question is, are there problems in the beignet implementation,
or in their code?
Thanks.
// wbr
// alxchk
More information about the Beignet
mailing list