sorting - opencl Bitonic sort with 64 bits keys -
i used nvidia sdk bitonic sort , works great me. 32 bits (uint) need ulong keys. have typically 2^14 keys @ time , power of 2. searched on not find kernel designed ulong.
i tried modified nvidia sdk bitonic sort using ulong keys not work. kernel not crash after de call clenqueuendrangekernel got error : cl_invalid_command_queue
can tell me how modify bitonic sort or radixsort, or can sort ulong keys?
i running nvidia quadro 4000 opencl 1.1 cuda 6.5.20 full_profile used original nvidia sdk bitonicsort.cl
i used"ulong" keys , value input , ouput instead of "uint"
thanks helping
i made work-around suit need.
used 30 bits of key , 18 high bits of value sorting.
changed comparators (2 lines):
'#define mask 0xffffc000 // suit need
from this: if( (*keya > *keyb) == dir )
this: if(((*keya > *keyb)||((*keya == *keyb)&&((*vala & mask)> (*valb & mask)))) == dir )
it works fine.
but, still, it's work-around , question remains, need 64 bits keys + 32 bits (or 64 bits) value?
Comments
Post a Comment