- A simple class to enact sorts of various kinds
- The way most parallel sorting algorithms work require having a set of ping-pong buffers that are exchanged at every pass through the data. In order to do this, and communicate where the sorted data lies after its work, SortEnactor employs an auxiliary class, SortBuffers. The following example shows their combined usage.
{
cuda::SortBuffers<uint32*,uint32*> sort_buffers;
cuda::SortEnactor sort_enactor;
sort_enactor.sort( n, sort_buffers );
uint32* d_sorted_keys = sort_buffers.current_keys();
uint32* d_sorted_data = sort_buffers.current_values();
...
}
Definition at line 157 of file sort.h.
|
| SortEnactor () |
|
| ~SortEnactor () |
|
void | sort (const uint32 count, SortBuffers< uint8 *, uint32 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=8) |
|
void | sort (const uint32 count, SortBuffers< uint16 *, uint32 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=16) |
|
void | sort (const uint32 count, SortBuffers< uint32 *, uint32 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=32) |
|
void | sort (const uint32 count, SortBuffers< uint32 *, uint64 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=32) |
|
void | sort (const uint32 count, SortBuffers< uint64 *, uint32 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=64) |
|
void | sort (const uint32 count, SortBuffers< uint8 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=8) |
|
void | sort (const uint32 count, SortBuffers< uint16 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=16) |
|
void | sort (const uint32 count, SortBuffers< uint32 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=32) |
|
void | sort (const uint32 count, SortBuffers< uint64 * > &buffers, const uint32 begin_bit=0, const uint32 end_bit=64) |
|