Перейти к содержанию
    

Производительность современных ПЛИС

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

Умножители 16х16, а накопители имеют по 40 бит.

Тактовая частота умножений = 30 МГц

Изменено пользователем OldDSPer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Умножители 16х16, а накопители имеют по 40 бит.

Можно. Только зависит от частоты - мегагерц до 250 без проблем, дальше надо смотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю за ответ.

Следующий вопрос: справится ли какая-нибудь Altera с 7000МАС х 30 МГц? Или сразу нужно искать Xilinx?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно. Только зависит от частоты - мегагерц до 250 без проблем, дальше надо смотреть.

 

Смелое заявление, а какой кристалл то хоть имели ввиду :) v4 или v5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю за ответ.

Следующий вопрос: справится ли какая-нибудь Altera с 7000МАС х 30 МГц? Или сразу нужно искать Xilinx?

У обоих такие микросхемы только объявлены, но Xilinx выйдет скорее, так как семейство уже в производстве, а у Altera семейство только объявлено.

Xilinx, который справится с такой задачей - это XC5VSX240T. В нем тысяча с копейками умножителей, и чтобы получить 7000 умножений на 30МГц, вам придется запустить их на 210 МГц, что вполне реально.

У Altera это новое семейство Stratix-IV, там у половины микросхем столько умножителей, плюс они 40nm, поэтому разгоняться будут проще. В Stratix-III умножителей максимум 800 с мелочью, так что разгонять придется пости до 300 МГц, что IMHO тяжеловато будет, если вообще возможно.

Учитывайте только в своих прикидках, что такие микросхемы стоят многие тысячи долларов и требуют относительно высоких затрат на PCB в силу больших корпусов, а также тщательно спроектированного питания: мне страшно даже представить, сколько электричества схавают 1000 умножителей на 210 МГц. Думаю, десятки ампер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно. Только зависит от частоты - мегагерц до 250 без проблем, дальше надо смотреть.
:)

Интересно, сколько для этого потребуется кристаллов, и сколько они будут стоить? ;)

Может, лучше в сторону CUDA и Nvidia посмотреть? Эти DSP на мат. вычислениях значительно мощнее самых "толстых" FPGA, а по цене просто несравнимы - стОят на порядок-два меньше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может, лучше в сторону CUDA и Nvidia посмотреть?

вы меня опередили. Сам хотел подобную штуку автору предложить.

К тому же, как я понял, автор хочет делать фильтрацию, и плавающая запятая, реализованная в NVIDIA будет как раз к месту.

Только вот как на NVIDIA входной сигнал завести... :07:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только вот как на NVIDIA входной сигнал завести... :07:

Так вот с этого надо IMHO начинать. В принципе, идея считать математику на GPU не нова и уже есть много реализаций, даже кластеры. Однако, это все хорошо именно чтобы считать математику: для обработки сигналов GPU приспособлен плохо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только вот как на NVIDIA входной сигнал завести... :07:
Известно как - через PCI-E. 30МГц следования входных/выходных отсчётов для него - сущие пустяки.

Чтобы сказать определённее, нужно, чтобы ув. OldDSPer обрисовал задачу подробно, а то не совсем понятно, что к чему...

 

Так вот с этого надо IMHO начинать. В принципе, идея считать математику на GPU не нова и уже есть много реализаций, даже кластеры. Однако, это все хорошо именно чтобы считать математику: для обработки сигналов GPU приспособлен плохо.
Простите, не совсем понял.

Что есть обработка сигналов и что есть математика?

Насколько мне известно, для обработки сигналов GPU подходят очень даже неплохо. Правда, я нахожусь только в начальной стадии их изучения, и документация весьма скудная...

Во всяком случае, пропускная способность Экспресса х16 достаточно велика. А скорость обмена с памятью у GPU просто умопомрачительная: сейчас туда GDDR5 уже прикручивают, и шины толщиной в 512 бит или более - уже не новость. У новых чипов - это более 100 ГБайт/С, и в ближайшее время её обещают удвоить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Умножители 16х16, а накопители имеют по 40 бит.

Тактовая частота умножений = 30 МГц

На Xilinx V4 полупараллельные фильтры спокойно работают на 450 МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На Xilinx V4 полупараллельные фильтры спокойно работают на 450 МГц.

Ну вообще отлично, XC4VSX55 подойдет тогда (512 умножителей), и он стоит чуть более тысячи. Только надо сначала всеж промоделировать, так как способность умножителей V5 работать на 210 Мгц не подвергается сомнениям, а вот 450 МГц в V4 - это с полным конвейером и т.п., просто может не подойти для конкретного алгоритма.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На Xilinx V4 полупараллельные фильтры спокойно работают на 450 МГц.
Скажите, а сколько при этом используется умножителей одновременно?

 

2 DmitryR

А для чего нужна такая длина (аж 7000 к-тов) для фильтра, если точность их представления всего 16 бит?

Или, по-другому. Уверены ли Вы, что для фильтра такой длины хватит точности представления к-тов в 16 бит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Известно как - через PCI-E.

...

Насколько мне известно, для обработки сигналов GPU подходят очень даже неплохо. Правда, я нахожусь только в начальной стадии их изучения, и документация весьма скудная...

Я объясню, почему плохо подходят в моем понимании. Обработка сигналов нужна обычно зачем? Сделать коммуникационное устройство. То есть, в подавляющем большинстве случаев, микросхему. В оставшихся случаях - мелкосерийное устройство на FPGA. В первом случае FPGA еще используется для прототипирования, чтобы продемонстрировать реализуемость выбранного DSP алгоритма в HDL и потом этот HDL перенести в ASIC.

 

В свете вышесказанного попытка применить GPU означает что? Сделать плату, на которой будет этот GPU, его сверхбыстрая память, еще все же будет несложная FPGA, которая будет захватывать данные от источника сигнала (АЦП) и передавать на PCI-E мост (так как PCI-E это единственный интерфейс GPU). Да, BOM этого всего может оказаться дешевле одной большой FPGA, но во что выльется разработка? И естественно, ни о какой серийности говорить не придется. А так стоит один кристалл, получает данные сам, сам считает и сам отправляет дальше. С учетом сложности разработки будет гораздо дешевле GPU. Надо сделать много - выпустили ASIC, он будет стоить еще дешевле.

 

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

 

Скажите, а сколько при этом используется умножителей одновременно?

В FPGA могут одновременно использоваться все умножители, что там есть. В свежеобъявленном Stratix-IV 1300 штук максимум, и частота там будет уже повыше, мегагерц до шестисот примерно. В реальных микросхемах, которые можно купить немедленно - около полутысячи или чуть больше.

 

А для чего нужна такая длина (аж 7000 к-тов) для фильтра, если точность их представления всего 16 бит?

Или, по-другому. Уверены ли Вы, что для фильтра такой длины хватит точности представления к-тов в 16 бит?

Я вообще не в курсе - я не алгоритмист ;). Задачу же не я ставил, я только обсуждаю ее технический аспект. Но по теме - в Virtex-5 умножители 18*25, так что можно данные тащить 25 бит и использовать 18-бит коэффиценты. Или наоборот. Мы расчитывали фильтры длиной 512 - 18*18 бит хватало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:)

Интересно, сколько для этого потребуется кристаллов, и сколько они будут стоить? ;)

Может, лучше в сторону CUDA и Nvidia посмотреть? Эти DSP на мат. вычислениях значительно мощнее самых "толстых" FPGA, а по цене просто несравнимы - стОят на порядок-два меньше.

 

а документация на эти GPU и доступ к ним? или предполагается использовать готовые видеокарты?

мне на будущее хотелось бы понять - насколько реально такое решение

 

----------------

 

а про использование FPGA - ничего страшного нет. если делать единичное устройство, то неизвестно какой вариант выгоднее

 

возьмем Spartan-3A DSP : у них ~100 (86 или 124) блока МАС 18х18 48асс, тактовая до 300

то есть 1000 МАС @ 30МГц при выполнении 10 операций на каждом блоке

еще на логике развести такие блоки на 30МГц не проблема - может еще 100 удастся вытащить

 

то есть надо меньше 10 ПЛИС, при этом цена каждой 150-200$. то есть вполне бюджетно

 

а если свою плату с GPU делать - там наверняка широченная шина памяти, то есть камней надо несколько

 

если инженеру с зарплатой в несколько к$ придется "хачить" GPU или какие-то драйвера к видеокарте дольше месяца - то неизвестно, что дешевле

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю увжаемый цех специалистов по ПЛИС.

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

Вслед доп.вопросам о точности вычислений укажу, что она была выверена на MatLab и найдена достаточной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...