2014 dxdy logo

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

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




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

 
 
 
 Re: nVidia CUDA
Сообщение12.12.2009, 16:57 
Сразу скажу, что про CUDA тоже только наслышан, но...

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

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

 
 
 
 Re: nVidia CUDA
Сообщение12.12.2009, 18:16 
Увы, ускорить алгоритм в 10-50 раз стандартными способами не получится. Мне нужно, чтобы максимум за 5мс выполнялись следующие операции:
1) вейвлет-фильтрация изображения размером до 256х256 пикселей;
2) свертка отфильтрованного изображения с предыдущим
3) нахождение центра тяжести максимума полученной корреляционной функции.
Для работы с требуемой скоростью необходимо выполнять вычисления только на графических ядрах (теоретически, быстродействие возрастет раз в 100-1000 при условии правильного распараллеливания процессов).

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

 
 
 
 Re: nVidia CUDA
Сообщение12.12.2009, 20:21 
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 
Ed_Em, к сожалению, полезного ничего посоветовать не могу, но есть одна просьба: если доведёте дело до конкретных результатов, расскажите здесь, пожалуйста, что и как.

 
 
 
 Re: nVidia CUDA
Сообщение12.12.2009, 22:58 
Ed_Em в сообщении #270694 писал(а):
фурье

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

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

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

 
 
 
 Re: nVidia CUDA
Сообщение13.12.2009, 00:35 
Цитата:
Ну пусть CUDA, но на какой плате? Однозначно, на Tesla у Вас всё мухой пролетит, но вряд-ли "пролетит" по деньгам!
Почему же, есть и недорогие видеокарты (в районе 3тыс.р.), вполне поддерживающие эти технологии, правда, процессоров у них поменьше.

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

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

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

 
 
 
 Re: nVidia CUDA
Сообщение14.12.2009, 14:12 
Из общих соображений, я бы рассчитывал на 10 кратное увеличение производительности при использовании CUDA.

 
 
 
 Re: nVidia CUDA
Сообщение14.12.2009, 19:36 
ha в сообщении #271331 писал(а):
Из общих соображений, я бы рассчитывал на 10 кратное увеличение производительности при использовании CUDA.

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

 
 
 
 Re: nVidia CUDA
Сообщение22.12.2009, 00:14 
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 
Ajabsandal в сообщении #273952 писал(а):
Я мог бы сравнить результаты с GPU и без. Если у Вас готов код, то могу прогнать варианты на i7 Quad core 2.66 ггц и на GPU Radeon HD 5850. Производитель платы гарантирует 2 терафлопса, так что похоже удасться влезть в заданные параметры по скорости.

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

 
 
 [ Сообщений: 11 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group