2 Replies Latest reply on Jul 3, 2014 2:12 PM by gstoner

    OpenCL 1.2 Hydro benchmark problem

    damian1976

      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

        • Re: OpenCL 1.2 Hydro benchmark problem
          dipak

          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,

           

          • Re: OpenCL 1.2 Hydro benchmark problem
            gstoner

            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.