cancel
Showing results for 
Search instead for 
Did you mean: 

OpenCL

Raistmer
Adept II

Catalyst 11.10preview2 is broken

any news on topic?
0 Likes
Reply
freighter
Journeyman III

Catalyst 11.10preview2 and release are broken

Originally posted by: Raistmer any news on topic?


 

Only some more bad news using the AMD Catalyst 11.10 release x86_64 linux driver.

Everything that Raistmer reported before in this forum thread for the windows drivers is also affecting the linux version. Windows and linux share the same codebase.

The same type of incorrect results the autocorrelation kernels created on OpenSuse 11.4, 64bit  and  Kubuntu 10.10, 64bit.

 

Also another problem got introduced with the new driver version Catalyst 11.10 when using linux OpenCL version for HD4xxx with max workgroup size 128. A severe host system freeze (bluescreen ati2dvag.dll) when running this application version did affect all windows versions (tested since Cat 10.12) and now newly appears on 64bit linux (tested ok until Cat11.9), too. As linux is not throwing "bluescreens" the computer gets completely irresponsive, while still showing the frozen desktop and needs to be rebooted. This happens reproducible at the same place in code (see below : POINT OF FAILURE). This was tested on OpenSuse 11.3, 64bit with a HD4670, 1GB, OpenCL 1.0 device.

....

   localThreads[0]=32; //uje: needed for lower HD4xxx GPUs
#else
        localThreads[0]=host.GetWGSize();
#endif
    //fprintf(stderr,"localThreads[0]=%d\n",localThreads[0]);
        err = clEnqueueNDRangeKernel(cq,PC_find_spike_kernel_cl,
                 1,//R: 1D execution domain used, each work item works with 4 data elements
                 NULL,globalThreads,
                 localThreads,
                 0,NULL,NULL);
            if(err) fprintf(stderr,"ERROR: Enqueueing kernel:PC_find_spike_kernel_cl:%d\n",err);
#if OCL_VERBOSE
      else fprintf(stderr,"INFO: Enqueueing kernel: PC_find_spike_kernel_cl done ok\n");
#endif
    //clFinish(cq);
      //R: checking if any CPU reprocessing/logging needed and if yes, retrieve results
          cl_uint cpu_result_flag[RESULT_SIZE];
      fprintf(stderr,"INFO: Before clEnqueueReadBuffer\n");

#if OCL_WDM
    err=clFlush(cq);
    if(err)fprintf(stderr,"ERROR: submitting kernels for non-strip Spike search: %d\n",err);
#if __Win32
    Sleep(OCL_WDM_SLEEP);
#elif _GNU_SOURCE
    usleep(OCL_WDM_SLEEP);
#endif
#endif
          err=clEnqueueReadBuffer(cq,gpu_result_flag,CL_TRUE,0,
            sizeof(cl_uint)*((globalThreads[0]<RESULT_SIZE)?globalThreads[0]:RESULT_SIZE),
            &cpu_result_flag,0, NULL,NULL);                                        //<---------------------------------------POINT OF FAILURE
          if(err) fprintf(stderr,"ERROR: ReadBuffer(gpu_result_flag,spike):%d\n",err);
#if OCL_VERBOSE
      else fprintf(stderr,"INFO: ReadBuffer(gpu_result_flag,spike) done ok\n");
#endif
               fprintf(stderr,"spike search results (main path): ");

....

0 Likes
Reply
Raistmer
Adept II

Catalyst 11.10preview2 is broken

Tried Catalyst 11.10 release.
Same problem - with this Catalyst version app produces invalid results.

AMD, any chances to fix this? Did you find the problem? Few weeks passed...
0 Likes
Reply
MicahVillmow
Staff
Staff

Catalyst 11.10preview2 is broken

Raistmer,
11.10 release is code internally from August/September timeframe. So it wouldn't have this fix. I'm trying to find out the status of this specific issue and will get back to you when I can find out more.
0 Likes
Reply
gat3way
Journeyman III

Catalyst 11.10preview2 is broken

Well, apparently Catalyst 11.11 download link is broken too 🙂

0 Likes
Reply
freighter
Journeyman III

Catalyst 11.10preview2 is broken

Retested on openSuse11.3, 64bit with Cat 11.11 and still have found my host crashing the same way like described earlier.

 

How about a patch for this issue ?

0 Likes
Reply
gat3way
Journeyman III

Catalyst 11.10preview2 is broken

If you have previously installed SDK 2.5, please make sure you remove everything its installer placed in /etc/ld.so.conf.d

Otherwise you are using the libOpenCL.so from your SDK2.5 directory, not the one provided with Catalyst 11.11. I haven't tested it yet (I am redoing the offline compilation of all my kernels). The difference is two new targets (Scrapper and Devastator), faster compilation time, mad24 broken for some reason (didn't investigate that though, just replaced it with a slower equivalent).

0 Likes
Reply
MicahVillmow
Staff
Staff

Catalyst 11.10preview2 is broken

mad24 should map directly to the hardware instruction, do you have a test case that shows the failure?
0 Likes
Reply
gat3way
Journeyman III

Catalyst 11.10preview2 is broken

Yep. This is a bad thing to do I know, but it worked before:

 

#define getglobalid(a) (mad24(get_group_id(0), 64, get_local_id(0)))

...

found_ind[getglobalid(0)] = 1;

 

Error is:

 

/tmp/OCLYsVbCt.cl(786): error: more than one instance of overloaded function

          "mad24" matches the argument list:

            function "mad24(int, int, int) C++"

            function "mad24(uint, uint, uint) C++"

            argument types are: (uint, int, uint)

  found_ind[getglobalid(0)] = 1;



0 Likes
Reply
MicahVillmow
Staff
Staff

Catalyst 11.10preview2 is broken

gateway,
This is because our compiler is now more compliant with the OpenCL spec, you need to use 64U instead of 64. This change was made at the behest of our customers so that we had the same error behavior as other vendors that were correct.
0 Likes
Reply