cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

bubu
Adept II

[Critical bug]Cat 10.12+SDK v2.3 hangs/resets computer

I've found a critical bug/hang. I simply write to an int2 R/W buffer the values of a const struct and I add "one" to the buffer.

 

I've packed the source code and executables for you at

http://www.megaupload.com/?d=XT22I50T

 

It happens randomly so, please, run the executable several times until you get it ( usually 5-10 times from the MS-DOS console ). Usually the x86 version hangs faster than the x64.

I use Win7 x64, i7 920, Radeon 5750, Cat 10.12+SDK 2.3 normally.

Runs ok with Intel / NVIDIA OpenCL and Cat 10.9, so the problem should be a routine in the new Cat.10.10+ GPU code ( because the CPU one apparently runs ok ). Catalyst 10.10, 10.11 and 10.12 makes the hang to appear using GPU devices.

 

I'll put here the kernel too:

 

I've noticed in the SKA too a strange "LSHR" command. strange because I see several LSHL which I think are correct ( because the block/work sizes are pow2 ). That LSHR is probably computing bad the buffer offset and causing something to mess badly...

thx.

typedef struct tParams { int4 c1; int c21; int c22; int c23; int c24; }Params; __kernel __attribute__((reqd_work_group_size(WORK_WIDTH,WORK_HEIGHT,1))) void MyKernel ( __constant Params *params, __global int2 *outb ) { const size_t g1D = get_global_id(1U)*BLOCK_WIDTH + get_global_id(0U); size_t i; for ( i=0; i<ITERATIONS; ++i ) { const int val = params->c1.x + params->c21 + params->c22 + params->c23 + params->c24; int2 i2v; i2v.x = val; i2v.y = val; outb[g1D+i*BLOCK_SIZE] = i2v; outb[g1D+i*BLOCK_SIZE] += (int2)(1); } }

0 Likes
4 Replies
bubu
Adept II

Any news on this, pls?

0 Likes

I tried the a few times and do not find any hang on my system.

My system config is :
SDK 2.3
Driver 10.12
CPU AMD Athlon II x4 630 processor 2.81GHz
GPU HD 5770 (Juniper)
Os Windows Vista Ultimate 64 bit

Do you face this hang issue even while debugging. Can you also tell if it happens for GPU or CPU(I beleive your code do 1000 iterations for each device present).

0 Likes

Originally posted by: himanshu.gautam

 

Do you face this hang issue even while debugging.

 

Yep

Can you also tell if it happens for GPU or CPU(I beleive your code do 1000 iterations for each device present).

Only hangs with the GPU, the CPU works ok apparently.

To reproduce the error you must run the program several times ( usually from 5 to 10 ). Its very random.

0 Likes

Nothing wrong with LSHR as that's how you convert from byte address to dword address.

Don't see any obvious reason why this would hang randomly.  It's a relatively small number of threads and the kernel isn't terribly long.

Jeff

0 Likes