Открыт код, позволяющий использовать GPU для оптимизации сортировки
Разработка интересна прежде всего, тем, что представленный алгоритм SRTS Radix Sorting опровергает бытующее мнение о низкой эффективности использования GPU для оптимизации задач, связанных с сортировкой. На обычном компьютере с современной видеокартой NVIDIA GeForce GTX480 представленный код обеспечивает производительность, позволяющую сортировать несколько миллиардов 32-разрядных целых чисел в секунду, что в несколько раз превышает скорость работы самых быстрых алгоритмов сортировки, работающих с привлечением обычного CPU.
Из ограничений алгоритма отмечается возможность сортировки только ключей фиксированной длины. В частности поддерживается сортировка всех численных типов C/C++, таких как signed char, float, unsigned long long, а также структурированных типов по ключу фиксированной длины. Примечательно, что алгоритм обеспечивает до 80% экономии ресурсов при сортировке близких ключей, содержащих одинаковый набор цифр (например, 1112 и 1115). При сортировке чисел с плавающей точкой или знаковых типов (float, int, double и т.п.) замедление относительно беззнаковых целых той же длины составляет всего 0.5-1.5%.
Источник: http://www.opennet.ru/opennews/art.shtml?num=27785
|
0 | Tweet | Нравится |
|