Каков хороший алгоритм сортировки на CUDA?

У меня есть массив структуры, и мне нужно отсортировать этот массив в соответствии со свойством структуры (N). Объект выглядит так:

 struct OBJ
 { 
   int N; //sort array of OBJ with respect to N
   OB *c; //OB is another struct
 } 

Размер массива небольшой, около 512 элементов, но размер каждого элемента большой, поэтому я не могу скопировать массив в общую память.

Каков самый простой и «хороший» способ отсортировать этот массив? Мне не нужен сложный алгоритм, реализация которого требует много времени (поскольку количество элементов в массиве невелико), мне просто нужен простой алгоритм.

Примечание: я прочитал несколько статей об алгоритмах сортировки с использованием графических процессоров, но выигрыш в скорости от этих документов проявляется только тогда, когда размер массива очень большой. Поэтому я не пытался реализовать их алгоритмы, потому что размер моего массива небольшой. Мне нужен только простой способ параллельной сортировки моего массива. Спасибо.

9
задан Ashwin Nanjappa 13 March 2011 в 16:45
поделиться