реклама на сайте
подробности

 
 
> Ищу любые вычислительные проекты для FPGA, помогите, кто чем может
Alexium
сообщение Mar 10 2011, 21:24
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Здравствуйте.
Пишу диплом магистра. Тема - ускорение вычислений (реконфигурируемый сопроцессор на ПЛИС).
Сейчас делаю собственно сопроцессор (фреймворк, в некотором роде). Потом надо будет исследовать производительность разных задач на ПЛИС, сравнивать с чисто программной реализацией.
Проблема в том, что время уже ой как поджимает, а еще сам фреймворк не готов. Времени писать для ПЛИС решения каких-то практически значимых задач нет вообще. Может, кто-то поделится каким-нибудь проектом? Или кто-то где-то что-то видел и даст ссылку...
Понимаю, что вряд ли кто-то поделится со мной своей интеллектуальной собственностью, но если вдруг - конфиденциальность я, разумеется, гарантирую. В отчет пойдет только краткое описание решаемой задачи и графики производительности.

Сообщение отредактировал Alexium - Mar 10 2011, 21:27
Go to the top of the page
 
+Quote Post
4 страниц V  < 1 2 3 4 >  
Start new topic
Ответов (15 - 29)
bogaev_roman
сообщение Mar 11 2011, 15:25
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Alexium @ Mar 11 2011, 17:34) *
UPD: посмотрел таблицу. Процессор Core 2, операция 32-битного умножения: latency - 5, throughput - 1.5. Так что даже в такой задаче небольшим ПЛИС приходится туго.

Ну где туго. Берите порядок под 100, влезть должно, умножители по лутам раскидайте, промежуточные результаты - в регистры, частоту в 50МГц всяко получите. Процессору 100 умножений за 150 тактов плюс еще 100 сложений. Выгода - 250 раз, частота для одного ядра - 50МГц*250=7,5ГГц. Сравнивать уже можно.
PS/ Почему 50МГц? Максимальная тактовая же для spartan 3a - 320МГц вроде, ну понятно что ее не получить, но 150 то можно думаю будет выжать при полной конвейеризации?
PSS/Попробуйте реализовать какой-нить FIR 10 порядка и посмотреть во что это выльется в процентном соотношении к полной площади и частоте (только отключите использование аппаратных умножителей). Дальше можно будет рассчитать примерный максимальный порядок фильтра.

Сообщение отредактировал bogaev_roman - Mar 11 2011, 15:28
Go to the top of the page
 
+Quote Post
Alexium
сообщение Mar 11 2011, 15:29
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Во-первых: с GPU, конечно, спавнивать тяжело. А вот процессор современный обогнать, я надеюсь, удастся.
А во-вторых - можно ведь сравнить со Спартаном на 50 МГц и экстраполировать на впятеро больший Виртекс на 200 МГц. Стоимость сравнить, опять же... Сказать, что в таких-то задачах такие-то FPGA выгоднее, чем современные ЦП (надеюсь, что где-то все-таки выгоднее).

Цитата(bogaev_roman @ Mar 11 2011, 17:25) *
Ну где туго. Берите порядок под 100

Да, так гораздо интереснее. А 50 МГц потому, что такой кварц на плате. Если и не 150, то 100-120 точно можно выжать, но нужно будет внешний генератор изготовить. Хотя я где-то читал, что вдвое частоту умножить можно с помощью ресурсов платы.
Go to the top of the page
 
+Quote Post
bav
сообщение Mar 11 2011, 15:47
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



Цитата
Сказать, что в таких-то задачах такие-то FPGA выгоднее, чем современные ЦП (надеюсь, что где-то все-таки выгоднее).

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

точно не помню, но в спартане есть pll
Go to the top of the page
 
+Quote Post
Alexium
сообщение Mar 11 2011, 15:53
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Цитата(bav @ Mar 11 2011, 17:47) *
чип, оптимизированный под определенную задачу по определению справится лучше, чем универсальный процессор.

Конечно, на то и расчет! Только нужно теперь, чтобы кто-то поделился проектами для ПЛИС, чтобы я мог именно в своей системе. со своими накладными расходами проанализировать производительность.

Цитата(bav @ Mar 11 2011, 17:47) *
точно не помню, но в спартане есть pll

Я посмотрел документацию - DCM (digital clock manager) умеет удваивать частоту. Выходит, что с одного DCM можно получить 100 МГц, а с двух - любую частоту от 100 до 200. Не знаю, правда, рассчитаны ли они на последовательное соединение.
Go to the top of the page
 
+Quote Post
bav
сообщение Mar 11 2011, 16:29
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



Цитата
Не знаю, правда, рассчитаны ли они на последовательное соединение.

читайте или пробуйте sm.gif
Цитата
Конечно, на то и расчет! Только нужно теперь, чтобы кто-то поделился проектами для ПЛИС, чтобы я мог именно в своей системе. со своими накладными расходами проанализировать производительность.

может, я не врубаюсь, но сравнивать автобус и грузовую машину тяжело. дело в том, что на защите у Вас спросят: "и что Вы хотите доказать? что на ПЛИС можно считать?"
к примеру, есть потоковые процессоры (SPI), в них несколько АЛУ, из которых можно сделать конвейер. многие задачи решаются быстрее чем на х86 и не хуже чем на ПЛИС.
Go to the top of the page
 
+Quote Post
Alexium
сообщение Mar 11 2011, 19:08
Сообщение #21


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Цитата(bav @ Mar 11 2011, 18:29) *
может, я не врубаюсь, но сравнивать автобус и грузовую машину тяжело. дело в том, что на защите у Вас спросят: "и что Вы хотите доказать? что на ПЛИС можно считать?"

Может, я не врубаюсь, но по-моему, сравнение все-таки имеет смысл при определенных условиях. А защита, все-таки, не суд, чтобы там что-то доказывать. А если мне зададут такой вопрос - я отвечу, что анализировал применимость ПЛИС для решения некоторых классов задач в сравнении с ЦП.
Go to the top of the page
 
+Quote Post
jojo
сообщение Mar 11 2011, 20:23
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



>Во-первых: с GPU, конечно, спавнивать тяжело.

Сейчас GPU часто используют для не графических вычислений, а там ПЛИС бывает лучше, чем GPU.

>Сказать, что в таких-то задачах такие-то FPGA выгоднее, чем современные ЦП (надеюсь, что где-то все-таки выгоднее).

Выгоднее, даже при большой разнице в частотах.

Некоторые классы задач прямо перечислены в http://www.altera.com/literature/manual/cookbook.zip.
Я бы ещё добавил генетические задачи http://www.timelogic.com/. Железка простая, а выигрыш в сотни раз.
Go to the top of the page
 
+Quote Post
Alexium
сообщение Mar 11 2011, 20:46
Сообщение #23


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Цитата(jojo @ Mar 11 2011, 22:23) *
Сейчас GPU часто используют для не графических вычислений, а там ПЛИС бывает лучше, чем GPU.

Так я о неграфических и говорю.

Цитата(jojo @ Mar 11 2011, 22:23) *
Я бы ещё добавил генетические задачи http://www.timelogic.com/. Железка простая, а выигрыш в сотни раз.

Да, в этой области FPGA сильны. Но, опять же, проектов в свободном доступе нет, чтоб пощупать...

Спасибо за книгу!
Go to the top of the page
 
+Quote Post
Alexium
сообщение Apr 12 2011, 19:52
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Доделал базовый функционал сопроцессора, а что ускорять - так и не придумал sad.gif (DSP-задачи оставил на крайний случай, я там ничерта не смыслю)
Может, еще идей подкинете?..
Go to the top of the page
 
+Quote Post
iiv
сообщение Apr 12 2011, 20:52
Сообщение #25


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(bogaev_roman @ Mar 11 2011, 17:53) *
Я вот тоже - не знаю, может ли GPU FFT считать, а если может - то с цифрами какой разрядности оперирует и максимальным окном.

На нвидишных графических картах от CUDA 1.3 и выше наш соотечественних Волков, сидящий у Деммеля смог пол аппаратного пика для FFT сделать. То есть если у Вас 4к чисел, то на дешевой карте полное преобразование можно посчитать за 0.4 мкс в двойной точности и примерно за 0.1 мкс в одинарной. Чтобы такое же получить на плиске, минимум пятый стратикс надо взять на 4к умножителей, и то не факт, что влезет. У АТИ-АМД еще круче, недавно видел инфу, что FFT для 1к на одном ядре модернового Радеона можно получить за 20нс, а на карте два ядра, то есть два FFT по 1к за 20нс - боюсь, что ни одна плиска не потянет.


Цитата(bogaev_roman @ Mar 11 2011, 17:53) *
Если у Вас задача стоит чего-нить наваять и сравнить, а насколько это быстрей будет подсчитано в ПЛИС, чем в процессоре, то сделать все довольно просто.
Сколько в Вашей ПЛИСке встроенных умножителей?
Создаете FIR фильтр с порядком, равным кол-ву аппаратных умножителей и распаралеливаете структуру фильтра, а процессору даете формулу для расчета в лоб - пусть загибается.
Ну и получится, что в ПЛИС результат на выходе будет через latency, но каждый такт, а процессор все вычислит если у него одна оперция за такт через Nx2-1 тактов минимум, N - порядок фильтра. При порядке 51 процессор должен сделать 51 умножений и 50 сложений.


А если по-честному, распараллелить по всем ядрам проца, попользовать SSE2-SSE3 то проц очевидно в 4-16 раз быстрее будет все это выплевывать, а если все сидит в кеше, то есть если взять 3-ий стратикс, который результат будет плевать с частотой 400МГц, и квад-кор с 3ГГц, то последний с легкостью сделает по 4 FIRа с частотой 250МГц, ессно что стратикс будет серьезно не дешевле квад кора...

Короче я к тому, что задачу подобрать, чтобы плиска была лучше - не совсем-то и просто, особенно если с процессора (а тем более с ГПУ) снимать то, что реально снять можно.

ИМХО: у процев и ГПУ очень логические операции хромают, так как АЛУ все на плавующую точку заточены, а у ПЛИСки как раз на оборот. посмотрите в эту сторону, криптография, и тд. Возможно что-то и найдется.

У меня у самого есть только одна задача, где плиска больше флопов показывает, но только из-за того, что в плиску удается очень быстрый (2ГБайт в секунду) поток завести, а, то же самое с обычным процем потребовало бы больших габаритов.

Сообщение отредактировал iiv - Apr 12 2011, 23:45
Go to the top of the page
 
+Quote Post
iiv
сообщение Apr 12 2011, 23:55
Сообщение #26


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(jojo @ Mar 11 2011, 23:23) *
Сейчас GPU часто используют для не графических вычислений, а там ПЛИС бывает лучше, чем GPU.


Уважаемый jojo,

не первый раз вижу, что Вы утверждаете, что ПЛИС лучше или быстрее GPU. Простите меня покорнейше, не ради стеба, а реально сильно интересуюсь на какой же все-таки задаче (не притянутой за уши) такое происходит?

ИМХО. Я сам знаю одну такую задачу, но только одну... Во всех остальных, при одинаковой цене, GPU делает плис как тузик грелку, обычно в 10 и более раз. Ессно я не рассматриваю графические карты лаптопов или очень дешевые GPU, но и вычислительные плиски (а борды тем более) редко меньше пары сотен зеленых стоят.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Apr 13 2011, 05:20
Сообщение #27


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(iiv @ Apr 13 2011, 02:55) *
не первый раз вижу, что Вы утверждаете, что ПЛИС лучше или быстрее GPU. Простите меня покорнейше, не ради стеба, а реально сильно интересуюсь на какой же все-таки задаче (не притянутой за уши) такое происходит?

ИМХО. Я сам знаю одну такую задачу, но только одну... Во всех остальных, при одинаковой цене, GPU делает плис как тузик грелку, обычно в 10 и более раз. Ессно я не рассматриваю графические карты лаптопов или очень дешевые GPU, но и вычислительные плиски (а борды тем более) редко меньше пары сотен зеленых стоят.

Да ПЛИС быстрее...
Из-за возможности выполнения параллельно нескольких задач, а процессор все делает последовательно.
Например задача:
a+b+c+d
процессор это будет делать последовательно, а в ПЛИС можно это посчитать за 3 такта.


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Alexium
сообщение Apr 13 2011, 05:54
Сообщение #28


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Рискну предположить, что современная емкая ПЛИС типа Stratix/Virtex сможет стравняться с GPU среднего уровня в арифметических задачах с меньшей разрядностью, чем разрядность ГП (скажем, 16 бит, или даже 12), а также в задачах, не являющихся арифметическими или арифметически интенсивными, например - работа со строками (поиск подстроки и т.п.).

Цитата(Maverick @ Apr 13 2011, 08:20) *
Например задача:
a+b+c+d
процессор это будет делать последовательно, а в ПЛИС можно это посчитать за 3 такта.

Увы, не будет. Процессор это тоже посчитает за 3 такта (дурацкий ОоО! sm.gif ), только такты у него раз в 10 короче.


Какие вычисления требуют много итераций над небольшим объемом входных данных?
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Apr 13 2011, 06:41
Сообщение #29


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Alexium @ Apr 13 2011, 09:54) *
Увы, не будет. Процессор это тоже посчитает за 3 такта (дурацкий ОоО! sm.gif ), только такты у него раз в 10 короче.

А если требуется подсчитать сумму тысячи элементов? Типичный, кстати, согласованный фильтр (простейший коррелятор), с одноразрядным коэффициентом. Например требуется подсчитать сумму 16384 элементов (одноразрядных), сколько тактов потребуется? Я на virtexIIpro за один такт подсчитаю, правда с latency в несколько тактов на частоте этак в 150-200МГц.

Сообщение отредактировал bogaev_roman - Apr 13 2011, 06:44
Go to the top of the page
 
+Quote Post
Alexium
сообщение Apr 13 2011, 06:48
Сообщение #30


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Цитата(bogaev_roman @ Apr 13 2011, 09:41) *
Например требуется подсчитать сумму 16384 элементов (одноразрядных)

Что значит одноразрядных? Сколько бит каждый элемент? Они целые?
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.015 секунд с 7
ELECTRONIX ©2004-2016