What I am trying to achieve is multiple k-selections (different but small datasets) running in parallel on a GPU. Basically, my aim is to select kth smallest element from an array of floats such that each work-group processes one array using CUDA and efficiently utilizes thread-level parallelism.
The number of arrays to be sorted as such run into thousands. I am not sure if I have seen such scaling done anywhere before. I have seen algorithms like the Duane Merrill Radix sort (which is actually sorting, not selection) or the randomized selection algorithm by Monroe et al. or k-selection algorithms by Alabi et al. However, ALL of them have been built for choosing the kth element from an extremely large array/vector and not multiple lists in parallel as I want.
The number of items in an array and k are pre-determined (n<10000). Could you suggest me any algorithm of k-selection of multiple short lists in parallel?