采用双调排序算法
利用GPU线束内的基本函数实现排序算法的加速实现
功能实现
__global__ void medianSort(uint16_t * d_src, uint16_t * d_out)
{
int idx = threadIdx.x;
if (idx > 32) return;
uint16_t y = d_src[idx];
printf("tid = %d , %d \n", idx, y);
for(int offset = 8; offset > 0 ; offset >>=1 ){
uint16_t c = __shfl_xor_sync(0xffffffff, y, offset);
if ((idx / offset )%2 == 0)
y = y > c ? c : y;
else
y = y > c ? y : c;
}
printf("tid = %d , %d %d\n", idx, y, c);
}