atomic_inc (OpenCL) equivalent to atomicInc (CUDA)
Hi All,

Firstly, I'm a newby here , so hi to all:)
Secondly, I'm looking for the answer to the question concerning the difference between atomicInc in CUDA and atomic_inc in OpenCL.

The first one is two-parameter function: pointer to a table containing a number (old), second - is an integer value (val) which is compared with the old. Memory address ponited by a pointer and containing old is changed according to the following.

((old >= val) ? 0 : (old+1))

The second one just increases atomically the value at memory address pointed by function parameter.

How can I achieve CUDA functionality in OpenCL?

Below there's a piece of kernel (pseudo) code I need to translate:

__shared__ bool sum;

if (threadIdx.x == 0) {
int i = index;
int s= size;
int old = atomicInc(table+i,s-1);
sum = ( old == s - 1 );
}

Best regards,
Damian
Hi All,



Firstly, I'm a newby here , so hi to all:)

Secondly, I'm looking for the answer to the question concerning the difference between atomicInc in CUDA and atomic_inc in OpenCL.



The first one is two-parameter function: pointer to a table containing a number (old), second - is an integer value (val) which is compared with the old. Memory address ponited by a pointer and containing old is changed according to the following.



((old >= val) ? 0 : (old+1))



The second one just increases atomically the value at memory address pointed by function parameter.



How can I achieve CUDA functionality in OpenCL?



Below there's a piece of kernel (pseudo) code I need to translate:



__shared__ bool sum;



if (threadIdx.x == 0) {

int i = index;

int s= size;

int old = atomicInc(table+i,s-1);

sum = ( old == s - 1 );

}



Best regards,

Damian

#1
Posted 04/20/2012 02:04 PM   
Scroll To Top