2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Вейвлет/фурье библиотеки для CUDA
Сообщение12.12.2009, 14:47 


04/02/08
325
Буково
Я наслышан о CUDA, позволяющей проводить вычисления на графических процессорах. Есть у меня одна задача, требующая очень быстрых вычислений (обработка видео "на лету"). Обработка участка изображения 128х128 пикселей занимает 4мс, а 256х256 пикселей - аж 56мс (естественно, с такой скоростью 30 кадров в секунду не обработать).
Насколько возрастет производительность, если эти вычисления проводить на GPU?
Есть ли вейвлет-библиотеки CUDA?
Если кто-нибудь занимался вычислениями на GPU, просветите, пожалуйста.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение12.12.2009, 16:57 
Заслуженный участник


04/05/09
4587
Сразу скажу, что про CUDA тоже только наслышан, но...

А может, алгоритм изменить или соптимизировать? Какова вычислительная сложность вашего алгоритма?

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

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение12.12.2009, 18:16 


04/02/08
325
Буково
Увы, ускорить алгоритм в 10-50 раз стандартными способами не получится. Мне нужно, чтобы максимум за 5мс выполнялись следующие операции:
1) вейвлет-фильтрация изображения размером до 256х256 пикселей;
2) свертка отфильтрованного изображения с предыдущим
3) нахождение центра тяжести максимума полученной корреляционной функции.
Для работы с требуемой скоростью необходимо выполнять вычисления только на графических ядрах (теоретически, быстродействие возрастет раз в 100-1000 при условии правильного распараллеливания процессов).

Вот и хочу узнать, есть ли готовые вейвлет/фурье библиотеки для CUDA, или придется тратить кучу времени на написание своих.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение12.12.2009, 20:21 


22/09/09
275
Ed_Em в сообщении #270694 писал(а):
Увы, ускорить алгоритм в 10-50 раз стандартными способами не получится. Мне нужно, чтобы максимум за 5мс выполнялись следующие операции:
1) вейвлет-фильтрация изображения размером до 256х256 пикселей;
2) свертка отфильтрованного изображения с предыдущим
3) нахождение центра тяжести максимума полученной корреляционной функции.
Для работы с требуемой скоростью необходимо выполнять вычисления только на графических ядрах (теоретически, быстродействие возрастет раз в 100-1000 при условии правильного распараллеливания процессов).

Вот и хочу узнать, есть ли готовые вейвлет/фурье библиотеки для CUDA, или придется тратить кучу времени на написание своих.

1. Почему CUDA? А OPEN CL что, побоку?
2. Ну пусть CUDA, но на какой плате? Однозначно, на Tesla у Вас всё мухой пролетит, но вряд-ли "пролетит" по деньгам! Надо оптимизировать отношение: Цена/Быстродействие. А это метод проб и ошибок.
А так, я уже здесь писал (про Суперкомпьютер), есть уже много приложений для GPU. Есть и компиляторы с С и Фортрана.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение12.12.2009, 21:02 
Заслуженный участник


09/08/09
3438
С.Петербург
Ed_Em, к сожалению, полезного ничего посоветовать не могу, но есть одна просьба: если доведёте дело до конкретных результатов, расскажите здесь, пожалуйста, что и как.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение12.12.2009, 22:58 


06/04/09
156
Воронеж
Ed_Em в сообщении #270694 писал(а):
фурье

В примерах есть примеры с FFT, DWT. На счет готовых либ (не считая CUFFT): надо посмотреть.

Ajabsandal в сообщении #270737 писал(а):
Почему CUDA? А OPEN CL что, побоку?

У НВидии они сейчас в одном СДК.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение13.12.2009, 00:35 


04/02/08
325
Буково
Цитата:
Ну пусть CUDA, но на какой плате? Однозначно, на Tesla у Вас всё мухой пролетит, но вряд-ли "пролетит" по деньгам!
Почему же, есть и недорогие видеокарты (в районе 3тыс.р.), вполне поддерживающие эти технологии, правда, процессоров у них поменьше.

Цитата:
есть одна просьба: если доведёте дело до конкретных результатов, расскажите здесь, пожалуйста, что и как.

Обязательно. Правда, быстро не обещаю: у меня сейчас четыре параллельных проекта. Но, как только дойдут руки до этого, о результатах сообщу.

Даже если вейвлет-библиотеки в CUDA-libs нет, уж переписать алгоритм вычисления вейвлетов Дюбеши, думаю, будет несложно.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение14.12.2009, 14:12 


02/09/08
143
Из общих соображений, я бы рассчитывал на 10 кратное увеличение производительности при использовании CUDA.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение14.12.2009, 19:36 


04/02/08
325
Буково
ha в сообщении #271331 писал(а):
Из общих соображений, я бы рассчитывал на 10 кратное увеличение производительности при использовании CUDA.

Даже так было бы очень неплохо.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение22.12.2009, 00:14 


22/09/09
275
Ed_Em в сообщении #270811 писал(а):
Цитата:
Ну пусть CUDA, но на какой плате? Однозначно, на Tesla у Вас всё мухой пролетит, но вряд-ли "пролетит" по деньгам!
Почему же, есть и недорогие видеокарты (в районе 3тыс.р.), вполне поддерживающие эти технологии, правда, процессоров у них поменьше.

Цитата:
есть одна просьба: если доведёте дело до конкретных результатов, расскажите здесь, пожалуйста, что и как.

Обязательно. Правда, быстро не обещаю: у меня сейчас четыре параллельных проекта. Но, как только дойдут руки до этого, о результатах сообщу.

Даже если вейвлет-библиотеки в CUDA-libs нет, уж переписать алгоритм вычисления вейвлетов Дюбеши, думаю, будет несложно.

Я мог бы сравнить результаты с GPU и без. Если у Вас готов код, то могу прогнать варианты на i7 Quad core 2.66 ггц и на GPU Radeon HD 5850. Производитель платы гарантирует 2 терафлопса, так что похоже удасться влезть в заданные параметры по скорости.

 Профиль  
                  
 
 Re: nVidia CUDA
Сообщение22.12.2009, 08:48 


04/02/08
325
Буково
Ajabsandal в сообщении #273952 писал(а):
Я мог бы сравнить результаты с GPU и без. Если у Вас готов код, то могу прогнать варианты на i7 Quad core 2.66 ггц и на GPU Radeon HD 5850. Производитель платы гарантирует 2 терафлопса, так что похоже удасться влезть в заданные параметры по скорости.

Спасибо, как напишу - выложу. Пока что руки еще не дошли. Зато обнаружил, что в пакете CUDA вейвлеты тоже реализованы. На одном из наших рабочих компьютеров nVidia 9500GT, потренируюсь на нем. Но это, скорее всего, в лучшем случае к концу января. Пока нет времени.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group