The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Открыт код, позволяющий использовать GPU для оптимизации сортировки

30.08.2010 09:23

В рамках проекта back40computing подготовлен работающий механизм сортировки большого объема данных, использующий для ускорения технологию CUDA (Compute Unified Device Architecture), позволяющую вынести некоторые вычислительные задачи на плечи графического процессора.

Разработка интересна прежде всего, тем, что представленный алгоритм 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%.

  1. Главная ссылка к новости (http://developers.slashdot.org...)
  2. OpenNews: Вышел дистрибутив Yellow Dog Linux for CUDA 6.2.1
  3. OpenNews: Компания NVIDIA выпустила тулкит с поддержкой CUDA 3.0 для Linux
  4. OpenNews: Акселерация JavaScript с задействованием GPU
  5. OpenNews: Представлен свободный компилятор CUDA-приложений для многоядерных x86-процессоров
  6. OpenNews: В состав BackTrack 4 добавлены инструменты для задействования GPU для подбора паролей
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/27785-gpu
Ключевые слова: gpu, sort, gcc, optimization
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (52) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, grafsoft (ok), 09:56, 30/08/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто напишет патч в postgres?
     
     
  • 2.2, sluge (ok), 10:06, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    было бы еще куда в сервак ввдюху втыкать :(
     
     
  • 3.7, fr0ster (ok), 10:35, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В сервак втыкается Тесла, а не видюха, а PCI-Express нынче и на серваках есть, вроде как.
    Или вы про совсем ультра-тонкие? :)
     
     
  • 4.13, filosofem (ok), 10:59, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Дык в этой рекламе речь идет о GTX 480, а она действительно не в каждый стоечный сервер полезет, мягко говоря.
     
     
  • 5.14, fr0ster (ok), 11:08, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Дык в этой рекламе речь идет о GTX 480, а она действительно
    >не в каждый стоечный сервер полезет, мягко говоря.

    1 Кому надо в сервер, купит Теслу, кому надо еще и в стойку, купит девайс НВидевский с Теслами, он в стойку и вмещается, такой себе счетный сервер.

    2 Если указанный присрост на GTX 480 есть, то на Теслах он не меньше будет точно. Это видимо у тестера была такая железяка, на ней и провели опыт. Ничего рекламного.

     
     
  • 6.22, filosofem (ok), 11:41, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Кому надо в сервер

    А кому надо сортировать циферы на домашнем компе??? 0_0
    Аналогичная GTX 480 по скорости Тесла сама по себе стоит как 2U сервер с двума Зионами, если не больше. Ради ускорения сортировки цифер в 2-3 раза(это максимум, учитывая, что здесь сравнивают c одним Core-i7), никому это не надо.
    Если бы GTX 480 за 500$, еще можно было бы подумать, а с Теслой бессмысленно.

    >Если указанный присрост на GTX 480 есть, то на Теслах он не меньше будет точно

    А там есть какая-то принципиальная разница кроме наличия ECC и отсутствия видеовывода?
    Ах да, там кастрировали операции с двойной точностью в 4 раза. Скажется ли это в данном случае? Ну чтож подождем результатов тех же вычислений на Тесле.

    PS Сходил по ссылке, там на графике видно, что даже Тесла C2050 отстает от GTX480. Короче все ясно с этими проприетарщиками из NVIDIA и их рекламой =).

     
     
  • 7.24, fr0ster (ok), 12:05, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Кому надо в сервер
    >
    >А кому надо сортировать циферы на домашнем компе??? 0_0

    У кого домашний комп уже есть, а задачи возникают слишком часто, что бы не иметь выигрыша от CUDA, но недостаточно часто, что бы Тесла себя оправдала, тому и CUDA на обычной карте - хлеб. Но ведь тут вопрос был что мы мол такие крутые и нам в сервер видюху пихать?

    >Аналогичная GTX 480 по скорости Тесла сама по себе стоит как 2U
    >сервер с двума Зионами, если не больше. Ради ускорения сортировки цифер
    >в 2-3 раза(это максимум, учитывая, что здесь сравнивают c одним Core-i7),
    >никому это не надо.
    >Если бы GTX 480 за 500$, еще можно было бы подумать, а
    >с Теслой бессмысленно.

    "Дешеве воно и е дешеве". Каждая железяка для своего класса задач, речь шла о тех, кому реально нужна Тесла и кто может себе позволить это.

    >>Если указанный присрост на GTX 480 есть, то на Теслах он не меньше будет точно
    >
    >А там есть какая-то принципиальная разница кроме наличия ECC и отсутствия видеовывода?

    Вообще есть.

    >Ах да, там кастрировали операции с двойной точностью в 4 раза. Скажется
    >ли это в данном случае? Ну чтож подождем результатов тех же
    >вычислений на Тесле.

    А еще в видяхе кастрирована шина или количество PU. Для видяхи CUDA это все таки не основная задача. Это скорее премия.

    >PS Сходил по ссылке, там на графике видно, что даже Тесла C2050
    >отстает от GTX480. Короче все ясно с этими проприетарщиками из NVIDIA
    >и их рекламой =).

    :)

     
  • 7.52, GG (?), 17:44, 31/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    аналогичная 480-ой гефорце тесла стоит как средненькой дешевизны 1У сервер, по цене хорошего сервака с двумя хсеонами в 1366 сокет (а именно они и аналогичны кор и7) можно купить сервак с четырьмя теслами внутри, которые дадут приросту в 4-6 раз при той же стоимости и занимаемом пространстве - как по мне, так предложение стоящее

    но на самом же деле полезная производительность тесел в пересчёте на цену и в отношении к интелям на х86 получается всего в полтора раза лучше. и электричества экономия получается такая же. но вот сколько места в стойке можно сэкономить - вот это уже дофига.
    ну а принципиальной разницы кроме ецц в теслах нет, да. но в серверах ецц решает сильно, в отличие от десктопов. хотя ни кто не запрещает сделать програмный аналог этой ецц. но и сэкономим ровно столько же, сколько потеряем в производительности.

     
  • 5.26, pavlinux (ok), 12:49, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Боком. Переходники продаются.
     
     
  • 6.39, filosofem (ok), 14:43, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Так можно какую-нибудь сетевушку запихнуть, HBA, или очень маленькую видяшку. Я пытался в x3650 радион HD5670 сунуть и не получилось. А производительную двухслотовую видяху однозначно не получится. Кстати через PCI-E шину насколько я помню только 150 ватт можно подать, значит еще два шланга ватт на 300 в сумме понадобится прокинуть. Теретически конечно можно, но нужен Кулибин и пара электролобзиков и огнетушитель на всякий пожарный.
     
     
  • 7.43, Zenitur (?), 17:23, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    В PCI-Express 1x спокойной влезает видеокарта для 16x. Только надо подпилить или видеокарту, или разъём... Дело в том, что в первых двух сантиметрах розетки PCI-Express находится вся основная связь. Остальное - для передачи обрабатываемых устройством данных
     
     
  • 8.44, filosofem (ok), 17:55, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Собственно Кулибин уже есть Осталось найти лобзик, огнетушитель и спонсора на ж... текст свёрнут, показать
     
  • 8.47, XoRe (ok), 18:48, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    1 Наверное, только в России компьютерщику может понадобиться пила и молоток ... текст свёрнут, показать
     
  • 8.54, Карбофос (ok), 10:05, 01/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    примерно так это выглядит http www youtube com v Z5nJBX3tlhM... текст свёрнут, показать
     
  • 2.8, filosofem (ok), 10:46, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Торопитесь пордсесть на проприетарную CUDA?
    Правильно, ведь она в четыре раза быстрее, чем обычный порошок^W ЦПУ!
     
     
  • 3.28, pavlinux (ok), 12:55, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Торопитесь пордсесть на проприетарную CUDA?
    >Правильно, ведь она в четыре раза быстрее, чем обычный порошок^W ЦПУ!

    Ага, с Куды можно соскочить, а вот ЦПУ - это пожизненно.

     
     
  • 4.41, filosofem (ok), 15:46, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    подсесть на CUDA не значит соскочить с ЦПУ
     
     
  • 5.42, pavlinux (ok), 16:13, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >подсесть на CUDA не значит соскочить с ЦПУ

    Да ну. Впаять NV-чип и работать с ним можно и без ЦПУ.

    Есть ПЛИСы и DSP, кроме того есть
    ClearSpeed - http://www.clearspeed.com/index.php
    TEXAS MEMORY SYSTEMS - http://www.superdsp.com/products/products_tm100.asp
    Есть чудный BlackFin от Analog Devices.

    В общем, х86 и Nvidia - это ширпотреб. (от слова ширятся)

     
     
  • 6.45, filosofem (ok), 18:20, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >
    >Да ну. Впаять NV-чип и работать с ним можно и без ЦПУ.
    >
    >
    >Есть ПЛИСы и DSP, кроме того есть
    >ClearSpeed - http://www.clearspeed.com/index.php
    >TEXAS MEMORY SYSTEMS - http://www.superdsp.com/products/products_tm100.asp
    >Есть чудный BlackFin от Analog Devices.
    >
    >В общем, х86 и Nvidia - это ширпотреб. (от слова ширятся)

    Все можно назвать ширпотребом, отличие х86 в том, что она достаточно открыта.


     
  • 6.51, Аноним (-), 16:40, 31/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А чем DSP - не CPU? Вон .36 ядро под Blackfin (куда уж DSPшнее?) подпилили в .36 RC. А если у ARM набор команд с DSP-расширениями - он тогда кто? :)
     
     
  • 7.53, pavlinux (ok), 20:13, 31/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > А если у ARM набор команд с DSP-расширениями - он тогда кто? :)

    DSPU :)


     
  • 2.48, prokoudine (??), 20:13, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Никто. У библиотеки CUDA несвободная лицензия.
     

  • 1.3, Аноним (-), 10:19, 30/08/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >в несколько раз превышает скорость работы самых быстрых алгоритмов сортировки, работающих с привлечением обычного CPU

    Одного CPU? А в этой NVIDIA GeForce GTX480 их 480. Отличное сравнение.

     
     
  • 2.5, Anoni (?), 10:32, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, а вы сначала уместите 480 CPU в форм-факторе, хотя бы 1U и тогда можно кричать. Опять же никто не говорит про 1 CPU.
     
     
  • 3.9, Аноним (-), 10:46, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    CPU для этого и не нужен. Вот зачем к примеру сортировке защищённый режим, прерывания и более чем 2 регистра? Наверняка можно сделать устройство для сортировки ещё быстрее и дешевле, чем CPU или GPU. Просто здесь сравнение алгоритмов для 1 и нескольких процессоров.
     
     
  • 4.25, QuAzI (??), 12:24, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А потом прикрутить к устройству ещё несколько регистров и научить его работать с памятью напрямую, а заодно организовать ему свой блок памяти, где она будет крутить всё это не замораживая исходный блок, ещё несколько регистров для адресации всего этого дела, ещё буфер в котором будут храниться результаты, ещё отдельно организовать для неё питание и синхронизацию по шинам, ну и в конце концов прикрутить охлаждение. А потом нам захочется ещё и MD5 считать, SHA1 и ещё что-то и будет рядом с компом ещё пара шкафов стоять "чисто по мелочи посчитать". Ъ?
     
     
  • 5.29, pavlinux (ok), 12:59, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А потом прикрутить к устройству ещё несколько регистров и научить его работать
    >с памятью напрямую, а заодно организовать ему свой блок памяти, где
    >она будет крутить всё это не замораживая исходный блок, ещё несколько
    >регистров для адресации всего этого дела, ещё буфер в котором будут
    >храниться результаты, ещё отдельно организовать для неё питание и синхронизацию по
    >шинам, ну и в конце концов прикрутить охлаждение.

    А потом захочется создать второй, третий,..., n-ый такой же девайс,
    организовать меж ними SMP и распаралеллить процесс на 2,3, n независимых потока.

     
  • 3.12, fr0ster (ok), 10:54, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Если PU не предназначено для вывода графики это GPU или CPU?
    http://www.servershop.ru/detail_14950.htm
    :)
     
     
  • 4.16, Аноним (-), 11:21, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Пфф, фигня какая.. Вот был бы там видео выход ..
     
     
  • 5.17, fr0ster (ok), 11:26, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Пфф, фигня какая.. Вот был бы там видео выход ..

    1 С видеовыходом вам обычную карту взять и не пфыкать религия не позволит?
    2 Зачем на серваке выдеовыход из круть3Дкарты?

     
     
  • 6.18, Аноним (-), 11:30, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, с такими показателями можно было бы купить карту лет на 10 =)
     
     
  • 7.19, fr0ster (ok), 11:35, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Ну, с такими показателями можно было бы купить карту лет на 10
    >=)

    Строгого режима? Это же что считать там надо? :)

     
  • 6.27, Anoni (?), 12:53, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Это не сервак, я вам уже об этом писал.
    Если кому-то нужны видеокарты - то для этого есть QuadroPlex
     

  • 1.4, vadiml (ok), 10:26, 30/08/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну и кому нужна GUDA? Тем кто специально для сортировок будет NVIDIA покупать?

    Если бы хотели писать для всех, а не устраивать рекламную паузу, то использовали бы OpenCl

     
     
  • 2.6, Anoni (?), 10:35, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Ну и кому нужна GUDA? Тем кто специально для сортировок будет NVIDIA
    >покупать?
    >
    >Если бы хотели писать для всех, а не устраивать рекламную паузу, то
    >использовали бы OpenCl

    А есть иной вариант при работе с Double Precision??? Расскажите??
    И что значит писать для всех?? Оно для всех написано, использует то, что удобно автору и то, что предназначено для работы 24x7, а не для обычных игровых карточек.

     
     
  • 3.15, fr0ster (ok), 11:09, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>Ну и кому нужна GUDA? Тем кто специально для сортировок будет NVIDIA
    >>покупать?
    >>
    >>Если бы хотели писать для всех, а не устраивать рекламную паузу, то
    >>использовали бы OpenCl
    >
    >А есть иной вариант при работе с Double Precision??? Расскажите??
    >И что значит писать для всех?? Оно для всех написано, использует то,
    >что удобно автору и то, что предназначено для работы 24x7, а
    >не для обычных игровых карточек.

    С Double Precision это только Тесла, на обычных картах вроде как нельзя было.

     
     
  • 4.20, Anoni (?), 11:39, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно, надо только смотреть серию. А вот с ATI и OpenCL проблемы с DP.
     
  • 3.40, vadiml (ok), 14:44, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А откуда на обычных GeForce взялся Double Precision ?

    Это прерогатива Tesla.

     
  • 2.10, MadHat (?), 10:46, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну и кому нужна GUDA? Тем кто специально для сортировок будет NVIDIA покупать?

    Мне вот нужна для обсчета молекулярной динамики. Замечательная вещь за разумную цену, тока на ней пока что не так много вещей реализовано.

     
  • 2.11, fr0ster (ok), 10:47, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну и кому нужна GUDA? Тем кто специально для сортировок будет NVIDIA
    >покупать?

    Кроме простых графических карт еще Тесла есть. Для многих задач покупают и будут покупать.
    А есть вообще Тесла девайс в формате 1U
    http://www.servershop.ru/detail_14950.htm

     
     
  • 3.21, Anoni (?), 11:41, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Ну и кому нужна GUDA? Тем кто специально для сортировок будет NVIDIA
    >>покупать?
    >
    >Кроме простых графических карт еще Тесла есть. Для многих задач покупают и
    >будут покупать.
    >А есть вообще Тесла девайс в формате 1U
    >http://www.servershop.ru/detail_14950.htm

    Это S серия, для неё ещё нужен сервак. Есть более элегантные решения в 1U сервер + 4GPU.

     
     
  • 4.23, fr0ster (ok), 11:55, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Это S серия, для неё ещё нужен сервак. Есть более элегантные решения
    >в 1U сервер + 4GPU.

    Кому нужно, гугл в помощь, я привел одну ссылку как качественное доказательство, что подобный класс железяк существует и кому то реально нужен, учитывая цену:)


    Плюс кому то 4GPU может и мало быть.

     
  • 2.36, Zenitur (?), 14:39, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда CUDA появился? А когда OpenCL? Вот.
    Это всё равно что возмущаться "зачем новый плеер поддерживает VDPAU, которому больше года, когда вот уже 2 месяца есть VAAPI"
     
  • 2.37, Zenitur (?), 14:40, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну и кому нужна GUDA?

    У меня есть аж две программы, которые его используют и выдают результата в 10 раз больше в секунду, чем 2-ядерный процессор.

     

  • 1.30, pavlinux (ok), 13:06, 30/08/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В том году была новость, как какой-то немецкий универ,
    потратил на вычислительные кластер на 295 GTX, всего 300.000 EUR,
    вместо 2.000.000 планируемых на обычных Зионах иль Оптеронах
     
     
  • 2.31, fr0ster (ok), 13:17, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >В том году была новость, как какой-то немецкий универ,
    >потратил на вычислительные кластер на 295 GTX, всего 300.000 EUR,
    >вместо 2.000.000 планируемых на обычных Зионах иль Оптеронах

    А теперь прикиньте ту же новость, но в РФ :)

     
     
  • 3.34, pavlinux (ok), 13:42, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >>В том году была новость, как какой-то немецкий универ,
    >>потратил на вычислительные кластер на 295 GTX, всего 300.000 EUR,
    >>вместо 2.000.000 планируемых на обычных Зионах иль Оптеронах
    >
    >А теперь прикиньте ту же новость, но в РФ :)

    Российский университет пикотехнологий и темной материи,
    затратил на вычислительные кластер 10.000.000 EUR
    состоящий из 5 нод, в каждом по два процессора Intel Celeron и 2 Gb RAM :)


     
  • 2.32, Andrey Mitrofanov (?), 13:23, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    То ж вроде не совсем кластер -- они томограф https://www.opennet.ru/opennews/art.shtml?num=16228 делали, в один корпус много нвидий поставили и заставили срезы считать. Под одну задачу. Иле я не про то?

    PS: Гм? https://www.opennet.ru/opennews/art.shtml?num=5702

     
     
  • 3.33, fr0ster (ok), 13:25, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >То ж вроде не совсем кластер -- они томограф https://www.opennet.ru/opennews/art.shtml?num=16228 делали, в
    >один корпус много нвидий поставили и заставили срезы считать. Под одну
    >задачу. Иле я не про то?

    В топе-500 многие компы создавались под одну задачу.

     
  • 3.35, pavlinux (ok), 13:47, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >PS: Гм? https://www.opennet.ru/opennews/art.shtml?num=5702

    Да, да, да,.... у меня даже один раз заработало.


     
     
  • 4.38, Zenitur (?), 14:42, 30/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > у меня даже один раз заработало

    Это потому что CUDA не было. Без него GPGPU нужно настраивать для каждой видеокарты индивидуально.

     

  • 1.55, Аноним (-), 23:59, 02/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чего все так на эи GPU подсели, все равно ведь нужен 10 ядерный проц к ним иначе толку мало будет, нехорошая тенденция однако.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру