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

Вопрос по FPGA

Приветствую всех!

Я в плис полный новичок, кому несложно - подскажите пожалуйста.

 

Есть алгоритм, для работы которого нужно:

700 32 битных слова памяти (массив)

3 32 битных константы

 

На каждый шаг работы алгоритма делается:

3 обращения к массиву на чтение

Два битовых сдвига и одно суммирование

Две операции XOR

Три сравнения.

Одно обращение к массиву на запись.

 

Примерно раз в 4 миллиарда операций нужно пробросить два двойных слова наверх.

 

Требуется обработать огромное количество таких данных (тот же алгоритм, разный входной массив).

А теперь собственно вопросы:

1) Насколько эта задача подходит для реализации на плис ?

2) Сколько одновременно выполняющихся таких "алгоритмов" можно засунуть в самую навороченную FPGA ?

 

Текущие тесты пока показывают, что

1) Вычислять на процессорах - совсем плохо

2) Xeon Phi - быстрее, но далеко от желаемой производительности

3) CUDA - Kepler K10 практически в шесть раз быстрее одного Intel Core i7 3.33 Ghz, но хочется большего.

 

Интересует на что можно рассчитывать на плис.

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


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

1) Насколько эта задача подходит для реализации на плис ?
Хорошо подходит. Что бы знать насколько хорошо нужно более подробное описание потока данных и зависимостей между чтениями и записями в массив

2) Сколько одновременно выполняющихся таких "алгоритмов" можно засунуть в самую навороченную FPGA ?

Если исходить из размера памяти (в вашем случае потребуется 2048х32, т.к. нужно увеличить число портов до 3х), то в самый большой Virtex7 (XC7VX1140T) влезет 1000 шт. В Virtex Ultra Scale (XCVU190) в 2 раза больше

На шаг алгоритма уйдет 2-4 тактов (надо смотреть data flow). Частота будет в районе нескольких сот мегагерц (100-200, может и больше)

 

Стоят они в районе 25-40K$ (первый), сколько будет стоить второй - даже боюсь предположить :smile3046:

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


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

Без описания Вашего алгоритма, параметров "входного массива", что такое "на процессорах - совсем плохо

" и др. - подсказать что-то конкретное довольно сложно.

Судя по всему можно добиться выполнения одного шага алгоритма за один такт (если например получится разбить 3 обращения к массиву на чтение - на 1 обращение к 3 массивам). Расчитывайте на такты в сотни МГц.

В любом случае задача полностью "подходит для реализации на плис".

По поводу сколько одновременно выполняющихся таких "алгоритмов" врядли Вам кто-то поможет (см. выше). Можно поступить примерно так:

В среде разработки выбрать "самую навороченную FPGA", реализовать алгоритм и посмотреть сколько он занимает емкости камня в процентах от общей емкости. А если мало - поставить несколько FPGA (т.к. все алгоритмы параллельны).

Кстати, самые навороченные FPGA стоят тысячи долларов...

Пока набирал текст - XVR уже ответил, получилось почти одно и тоже...

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

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


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

Пока набирал текст - XVR уже ответил, получилось почти одно и тоже...

..так не думаю, по моему XVR ответил правильнее.

з.ы.

Память кстати - можно внешнюю использовать, тогда поместиться гораздо больше 1000.

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


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

Да ладно Вам, конечно правильнее. Я же написал "почти"...

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

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


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

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

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

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

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

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

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

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

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

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