Bitonic Sort is a parallel sorting algorithm with an asymptotic complexity of log2(n)*(log2(n)+1)/2
(assuming all the operations in each stage occur in one time step).
These are the templates to configure the function.
Parameters:
TT_DATA | describes the type of individual data samples input to the function. This is a typename and must be one of the following: int16, uint16 (not available on AIE1), int32, float. |
TP_DIM | describes the number of samples in the list. |
TP_NUM_FRAMES | describes the number of lists to sort per call to the kernel. |
TP_ASCENDING | describes whether to sort the list in descending (0) or ascending (1) order. |
TP_CASC_LEN | describes the number of tiles to cascade computation across to increase throughput. |
template < typename TT_DATA, unsigned int TP_DIM, unsigned int TP_NUM_FRAMES, unsigned int TP_ASCENDING, unsigned int TP_CASC_LEN > class bitonic_sort_graph: public graph // fields static constexpr unsigned int kKernelSize port_array <input, 1> in port_array <output, 1> out kernel m_kernels[TP_CASC_LEN]