cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

damian1976
Journeyman III

OpenCL 1.2 Hydro benchmark problem

Hello,

I'm trying to benchmark the prototype (cooling system) machine (1 x Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz+ 2x AMD FirePro S9000) in our computing centre using Hydro OpenCL benchmark https://github.com/HydroBench/Hydro.

Together with the benchmark's author we've tried to analyze the problem which we guess is not freeing memory and system freeze.

At some point application stalls and GPU becomes unreachable.

'aticonfig' shows percentage usage at the level of 0-3% whereas it should be substantially more

Is there any tool I could monitor MEM usage on the GPUs?

Does anyone have experience with Hydro benchmark on AMD GPUs?

The same code is running i.e. on NVidia's K20 smoothly and without problems.

Other OCL tests applications work well.

OpenCL version installed is:

Device OpenCL C version:                   OpenCL C 1.2
Driver version:                            1214.3 (sse2,avx)

Best regards,

Damian

0 Likes
2 Replies
dipak
Staff

Hi Damian,

Sorry for this late reply.

You wrote:

" Together with the benchmark's author we've tried to analyze the problem which we guess is not freeing memory and system freeze.

At some point application stalls and GPU becomes unreachable. "


Did you test with latest driver and APP SDK and face the same problem? If not, please can you check and share your findings.


Regards,

0 Likes
gstoner
Staff

I had one of our engineer look at this what he found is the following

In the hydro_kernels.c and the code is not legal 1.2 OpenCL C so it is not compiling:

"/tmp/OCL29553T8.cl", line 621: error: kernel arguments can't be declared with

types

bool/half/size_t/ptrdiff_t/intptr_t/uintptr_t/pointer-to-pointer

Init1KcuRiemann(__global Args_t * K,

^

"/tmp/OCL29553T8.cl", line 645: error: kernel arguments can't be declared with

types

bool/half/size_t/ptrdiff_t/intptr_t/uintptr_t/pointer-to-pointer

Init2KcuRiemann(__global Args_t * K,

^


In OepnCL 1.2 You’re not allowed to pass in pointers to a kernel other than as kernel arguments.  Note This restriction is removed with OpenCL 2.0.  Looks like NVIDIA relaxed the driver and runtime relative to the spec here why it is working.  

0 Likes