количество отсчетов тяги [дубликаты]

Possible Duplicate:
Counting occurences of numbers in cuda array

Есть ли способ использовать Thrust или CUDA для подсчета появления дубликатов в массиве?

например если у меня есть вектор устройства {11, 11, 9, 1, 3, 11, 1, 2, 9, 1, 11} Я должен получить 1: 3 2: 1 3: 1 9: 2, 11: 4

если тяга не может этого сделать, как я могу использовать ядро для этого?

Спасибо! Я делаю расчет концентрации. вот почему я задаю этот вопрос. Предположим, что в области, содержащей nx X ny X nz ячеек, находится 100000 частиц, мне нужно рассчитать концентрацию каждой ячейки (сколько частиц в каждой ячейке)

Мое ядро это

__global__ void concentration_kernel(float3* posPtr, uint* device_cons) 
{
    __shared__ uint cache[256];
    uint x = threadIdx.x + blockIdx.x * blockDim.x;
    uint y = threadIdx.y + blockIdx.y * blockDim.y;
    uint offset = x + y * blockDim.x * gridDim.x; 

    float3 posf3 = posPtr[offset];//make_float3(43.5,55,0.66);//
    uint cellIndex = (uint)(posf3.z+1)*153*110 + (uint)(posf3.y)*153 + (uint)posf3.x;

    cache[threadIdx.x] = device_cons[cellIndex];
    __syncthreads();
    uint a = cache[threadIdx.x];
    a++;
    cache[threadIdx.x] = a;
    __syncthreads();

    device_cons[cellIndex] = cache[threadIdx.x]; 
}

Ответы на вопрос(2)

Ваш ответ на вопрос