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

Как прикладное ПО может взаимодействовать с устройством FPGA

26 минут назад, Oleg82 сказал:

20 4-байтных чисел. последнее число, с каждым циклом, увеличивается на 1. Скорость...даже не знаю.

А вам точно FPGA нужен? Судя по этому:

54 минуты назад, Oleg82 сказал:

Есть ПО, собирающее определенные числа, из БД, в массив. Размер массива всегда один и тот же. Как и выходной массив. Кажое число массива нужно обработать integer max value раз. И вернуть результат. Смісл таков: отправить, множеством потоков, множество массивов на оработку. Операции над числами - простейшие. 

Есть компьютер общего назначения, операции - простейшие.

Почему не получается все что нужно сделать на компьютере? И не станет ли проблемой скорость обмена с FPGA?

 

Обычно если уж берут FPGA в качестве ускорителя, то для выполнения операций, которые плохо ложатся на процессор общего назначения и обмен с ускорителем довольно плотный.

Может имеет смысл арендовать FPGA в облаке? Например ускорители этих ребят https://www.bittware.com/

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


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

49 minutes ago, Oleg82 said:

Хочется реализовать конвеер, например, чтоб такт обрабатывал, к примеру, 10000 шагов

Если под этим подразумеваются 10000 операций (суммирования) над 32-разрядными числами, с тактовой пусть 100МГц, то это уже 1Топ/сек, ПЛИС уровня 1млн ЛЕ, поток 20чисел*32разряда*100МГц*2направления(туда/обратно)=128Гбит/сек... 

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


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

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

19 minutes ago, dvladim said:

Может имеет смысл арендовать FPGA в облаке? Например ускорители этих ребят https://www.bittware.com/

Эти  ребята  чисто железо предлагают.   Тогда  уж  лучше  брать на AWS  (или у аналогов)  готовые инстансы с Alveo.  Там сразу и  инфраструктура с софтом готовая чтобы на C/C++  писать программы  и запускать на FPGA. И интерфейс взаимодействия с FPGA уже  есть. И куча готовых либ  есть для работы с  теми же  базами данных. 

 

Удачи! Rob.

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


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

12 часов назад, Oleg82 сказал:

Адекватная цена.... ну, 700- 1000 у.е.(+ -)

Для ускорителей на ПЛИС это не адекватная цена - серия Alveo от Xilinx на офсайте от 3 k$, при том что чип на такой плате в розницу стоит на порядок дороже.

В зависимости от задач вам могут подойти и новые версали, но там ценник на доску еще выше.

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


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

Не рассматриваете систему на кристалле? Например, Zynq. Там есть и процессорные ARM ядра (на которые можно поставить Линукс) и FPGA часть. Процессором сформировать массив в ОЗУ, затем "натравить" ПЛИС-ку, чтоб она по внутренней шине этот массив забрала, посчитала и выдала результат, дернув прерывание. Можно и без Линукса.

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

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


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

обратите внимание

https://www.cypress.com/documentation/application-notes/an65974-designing-ez-usb-fx3-slave-fifo-interface

реализация для плис написана - надо только разобраться

скорость до 3,2Гбит/с

у FTDI есть аналогичное решение

На мой взгляд альтернатива PCIe и 10G ethernet не плохая (возможно более медленная но более бюджетная и "скорость старта" выше)

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


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

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


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

17 hours ago, Oleg82 said:

Есть ПО, собирающее определенные числа, из БД, в массив. Размер массива всегда один и тот же. Как и выходной массив. Кажое число массива нужно обработать integer max value раз. И вернуть результат. Смісл таков: отправить, множеством потоков, множество массивов на оработку. Операции над числами - простейшие. 

Адекватная цена.... ну, 700- 1000 у.е.(+ -)

в видеокарту отправте.

там нынче десяток терафлопсов за килобакс вроде вполне найти можно.

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


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

28.05.2021 в 14:43, vitzap сказал:

Не рассматриваете систему на кристалле? Например, Zynq. Там есть и процессорные ARM ядра (на которые можно поставить Линукс) и FPGA часть. Процессором сформировать массив в ОЗУ, затем "натравить" ПЛИС-ку, чтоб она по внутренней шине этот массив забрала, посчитала и выдала результат, дернув прерывание. Можно и без Линукса.

 

Не расматриваю по одной причине: как мне кажется, встроить ускоритель в уже имеющийся комп - дешевле.

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


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

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

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

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

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

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

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

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

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

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