CUDA: конкурс разработчиков
lexa - 06/Май/2008 23:42
Совершенно случайно узнал, но не могу пройти мимо не анонсировав.
NVidia (совместно с iXBT, как я понял) проводит конкурс программ для CUDA, как положено с призами.
Конкурс проводится среди разработчиков из России и СНГ, а значит шансы выиграть достаточно высоки (ибо потенциальных участников мало).
Увы, но научные программы на конкурс не допускаются, поэтому расчетчики, желающие выиграть ноутбук или Quadro 3700, должны срочно заняться чем-то полезным.
Вообще говоря, до крайнего срока подачи работ еще 2.5 месяца, этого срока вполне достаточно, чтобы освоиться с инструментарием и перенести на GPU что-то полезное, от обработки изображений до подбора паролей.
Comments
А на фига козе баян ... CUDA трудовому народу? - client-onl
А на фига козе баян ... CUDA трудовому народу?
- client-only solution
- видеокарта занимаюшая 1-2$ рынка
- not scalable (жестко ограничены объемом видео-памяти)
http://bioinformatics.cribi.unipd.it/cuda/
two GeForce 8800 GTX .., running on a 3 GHz Intel Pentium IV processor ..,
our implementation performs from 2 to 30 times faster
А как насчет сравнения с dual Core2Quad с 8GB RAM? :-)
Я не понимаю, почему 1-2 $(наверное все-таки %) рынка? CUDA
Я не понимаю, почему 1-2 $(наверное все-таки %) рынка? CUDA работает на всех Geforce 8xxx/9xxx, это что-нибудь в районе трети рынка новых машин (и 2/3 от машин с отдельной видеокартой). Т.е. уже можно.
Что касается перформанса, то умножение матриц на 8800GTX - 100Gflops на их библиотеке, народ вытаскивает до, если не путаю, 170. 2xWoodcrest 5140 (и то же самое C2Q) у меня давали 48 гигафлопсов на single precision.
А дальше все от задачи. Есть класс задач, который ложится на CUDA очень хорошо и там выигрыши в десятки раз. Есть те, которые плохо - там в разы или менее. Причем, то что ляжет на C2Q (возможно параллельное исполнение без блокировок) - ляжет и на Geforce
Не забывай еще, что отдавая что-то считаться на видеокарту - ты разгружаешь CPU и его можно занять чем-то полезным.
да, я имел ввиду % установленных 8800'х моделей. http
да, я имел ввиду % установленных 8800'х моделей.
http://arstechnica.com/news.ars/post/20070730-nvidia-continues-to-take-g...
Nvidia занимает треть рынка.
Очень большая часть рынка - лаптопы и дешевые модели.
<q>А дальше все от задачи.</q>
Во-от. Год назад я бы попросил фотошопный фильтр для удаления шумов.
NeatImage работал секунд 20. Четырех-пятикратное ускорение было бы кстати.
Но сейчас на С2Q он работает 4 секунды.
Собственно, вопрос - какие задачи принесут радость простым пользователям?
Разумеется, скучающий научный работник стойке с дюжиной блейдов предпочет
десктоп SLI-8800-gtx, у которого есть восхитительные применения помимо
транспонирования матриц и прочей протирки оптических осей. :-)
Блин, вроде отвечал еще вчера, а ответа не вижу. У меня на
Блин, вроде отвечал еще вчера, а ответа не вижу.
У меня на лаптопе - 8600M, у нее примерно такая же скорость, как у основного CPU, может чуть больше.
Ну и в твоем примере с шумопонижением - эта задача прекрасно параллелится, на GPU будет большой выигрыш, а значит на выбор
- или можно будет перерисовывать картинку прямо в (почти) реалтайме по движению движков настройки, а это принципиально новое качество
- или в те же 4 секунды сделать существенно более навернутый алгоритм.
Скажем, с демозаикой есть подвижки (пока и медленные), вроде бы получается ее делать очень быстро на GPU, а значит у демозаики могут появиться параметры настройки. Как пример.
Кстати, почти оффтопик: я тут почитал всё, что нашёл по демо
Кстати, почти оффтопик: я тут почитал всё, что нашёл по демозаику и был очень разочарован... Всё открытое -- простое как три копейки. Буквально, обработка квадратиками 5x5...
А вот если строить хотя бы полиномиальную поверхность на 65x65, Скажем?
Долго? Ну да чёрт с ним, что долго -- на ночь зарядил и работает. Только демозаик...
А ничего лучше AHD/EAHD в реальной жизни не используется, на
А ничего лучше AHD/EAHD в реальной жизни не используется, насколько я знаю.
Рассказали тут историю, что видели сервер, где видеокарта бы
Рассказали тут историю, что видели сервер, где видеокарта была превращена в криптоакселератор...
Да, сейчас много такого софта, там вполне приличный перформа
Да, сейчас много такого софта, там вполне приличный перформанс получается. В районе 8 гигабит/сек (включая I/O) для AES, например.
Там вроде наоборот разворот SSL ускоряли -- самое дорогое дл
Там вроде наоборот разворот SSL ускоряли -- самое дорогое для HTTPS.
А можно поподробнее про ssl
А можно поподробнее про ssl акселерацию на GPU. Интересует данная тема.
Не подскажете где на такую штуку посмотреть можно ?
А чего тут рассказывать -
А чего тут рассказывать - народ работает (как хорошо видно по поиску в гугле), а вот публичных опенсорсных реализаций я бы не ждал, спрос нишевый и денежный.
EAHD -- ? AHD-то понятно что. Дык вот и не понятно -- почему
EAHD -- ? AHD-то понятно что.
Дык вот и не понятно -- почему.
Вон, сколько мучились с панорамами, а потом появился smartblend...
А в демозаики как-то всё очень простенькое.
О! Предпросмотр ломает "in reply to"
О! Предпросмотр ломает "in reply to"
Если ты иксбит не читаешь: http://www.ixbt.com/news/hard/in
Если ты иксбит не читаешь:
http://www.ixbt.com/news/hard/index.shtml?10/57/17
От задачи зависит, конечно, но на sgemm у меня 8800gtx приме
От задачи зависит, конечно, но на sgemm у меня 8800gtx примерно в 2.5 раза быстрее, чем 8-ядерный core2quad на 3 гигагерцах. Т.е. "20 ядер"
То что они напихали - ну пусть 8 моих карт (примерно так и есть). Ну значит 160 ядер. Ну с поправкой на частоту - 200 ядер.
Но они говорят о 600-х ядрах, а такой speedup мне кажется нереальным. Еще вдвое - ну, может быть, но втрое - уже нет.
Алексей, а вот такой забавный вопрос ... вы говорите, что мо
Алексей, а вот такой забавный вопрос ... вы говорите, что мол отдал на расчёт GPU, а CPU при этом не занят.
А как можно решить с кудой задачу прекращения работы кернела, если кернел работает слишком долго ?
То есть, если примитивно: запустили кернел, ждём 3 секунды, если он не закончил считать - прекратили его работу.
Такое вообще возможно ? Из programming guide от нвидии складывается ощущение, что кернел можно только запустить и ждать в cudaSynchThreads() хоть до посинения ...
Спасибо.
На сегодня все просто - если за 5 секунд кернел не отработал
На сегодня все просто - если за 5 секунд кернел не отработал, то получает по рогам.
а cudaStreamDestroy не является решением ?
Не совсем так. Через 5 секунд отрубается кернел, работащий н
Не совсем так.
Через 5 секунд отрубается кернел, работащий на девайсе, который одновременно используется по прямому назначению - как видеокарточка.
Если монитор к куда-девайсу не подключен и не активирован в виндах, то кроде как 5 секунд не есть предел.
Кроме того - мне надо отрубать кернел скажем через секунду, а не через 5 ... отсюда и вопрос.
cudsStreamDestroy - не знаю, честно говоря, поскольку запускал кернел без стрима. Опять же, в доке написано очень просто - функция убивает стрим. Что это значит - до конца не понятно.
Алексей, если интересно :-) Проверил - cudaStreamDestroy реш
Алексей, если интересно :-)
Проверил - cudaStreamDestroy решением не является. Вызов cudaStreamDestroy ждёт, пока стрим завершит работу, но не прерывает эту работу.
Я, если честно, уже слегка обалдел от такого положения вещей :-) Для меня критично отрубать кернел извне - но пока складывается ощущение, что этого вообще никак не сделать ...
Если стрим недосчитал, то его убить не очень жалко. непонятн
Если стрим недосчитал, то его убить не очень жалко. непонятно что будет с ресурсами, которые на карте
Именно. Если я в цикле последовательно зупущу 1000 кернелов,
Именно.
Если я в цикле последовательно зупущу 1000 кернелов, но 30% из них отбракую и уничтожу до окончания их работы (а это будет фактически означать, что кернел будет работать десятки минут)... что будет на карточке происходить - неясно.
Вам там нвидиевец ответил, что нет способа на сегодня. Мда.
Вам там нвидиевец ответил, что нет способа на сегодня.
Мда. для всяких алгортимов, которые сходятся с разной скоростью (от данных) может быть неудобно, придется итерации и/или клоки считать внутри.
Так и поступаю - считаю итерации.
Так и поступаю - считаю итерации.