Pull to refresh
101
0
Иван @ishevchuk

User

Send message
Из-за того, что код сгенеренный получается открытым, особых проблем в подсоединении кернела в свою систему я не вижу, но надо поработать руками :)

Для перекачки данных с видеокамеры или сетевого порта Altera предлагает использовать I/O Channels.


Я глубо это не копал, но есть пример, где данные забираются с UDP-корки.
Огромное спасибо за статью! :)

По поводу цен на FPGA — не совсем ясно откуда (просто с сайта или закупочная цена у дилеров в России со всеми налогами и пр.) взяты цены и в какой момент времени.

Дело в том, что Альтера методично поднимает цены на старые семейства (наверно и Xilinx тоже). И это весьма логично: старый техпроцесс и надо как-то людей заставить пересаживаться на новые чипы. А новые чипы предлагаются по очень привлекательным ценам.

Хотелось бы узнать, как соединяют блоки на разных FPGA. Допустим используемая шина AXI, то её сигналы просто через GPIO пробрасываются и никакой магии нет? Или как-то хитро конвертируется в высокоскоростной поток с использованием трансиверов? Если из-за этого набегает задержка (в тактах) на общение между модулями, то пытаются ли это как-то компенсировать для симуляции прям точь-в-точь как это будет в ASICe, или на это закрывают глаза?
Описал архитектуру ядра и как он работает тут.
Я немного скептически отношусь к подобным маркетинговым словам и не уверен, что с использованием GUI IDE я стану продуктивнее, но подожду какого-нибудь релиза и видео с демонстрацией работы)
Мне это не особо интересно — я на VHDL не пишу)
Даже если вы сделаете поддержку Verilog/SystemVerilog, мне больше интересно, что «дополнительное» сможет IDEA, кроме подсветки кода?

Грубо говоря, чем IDEA с поддержкой VHDL/Verilog будет лучше связки vim + ctags? Автоматический рефакторинг? Автосоединение модулей? Автодокументирование?
Ух ты, не видел такой платы — значит я был не прав про гиперболизирование :)
Выглядит она немного устрашающе)

Если взять самый топовой чип, что туда можно поставить XC6SLX150, что дает 147443 * 25 = 3.6M Logic Cells.
В самом топовом Virtex UltraScale 5.5M Logic Cells, так что сейчас наверно целесообразнее будет поставить один, но большой чип (без учёта разницы архитектур между семействами).

P.S.
JetBrains не планирует смотреть в сторону FPGA?
Разработать удобное IDE, например ;)
mezastel, спасибо за интервью и упоминание про FPGA ;)
Правда в примере с 25 FPGA на одной плате вы явно гиперболизируете: вряд ли кто-то ставит такое количество чипов FPGA на одной плате :)

Можете в двух словах рассказать, как сына обучаете программированию под FPGA и что с ним удалось сделать?
Сколько задержка конвеера кернела? Или ожидаемое количество тактов на 1000000 вычислений?
Нет, я такой информации в отчете не видел
Я чуть выше описал на каких платах гарантированно работает из коробки OpenCL, а так же что делать если плата не входит в этот список :)

В принципе, это обычный квартусовский проект (я ссылочку на гитхаб дал в статье), и под Stratix IV собрать можно, только придется поработать руками — изменить чип на нужный в проекте, возможно сделать виртуальные интерфейсы и т.п.
У меня дома 16 GB ОЗУ. Запустилось без проблем, но если будете компилировать под большие чипы (Stratix V, Arria 10) большие проекты, то оперативки может не хватить: на работе на сборочную машину мы докупали ОЗУ из-за этого.
Идеалогия предполагает, что программисты не будут брать в руки FPGA-шные инструменты (SignalTap и пр.):
  • есть возможность собрать ядро, которое можно запустить под эмулятором (x86)
  • оценить архитектуру и увидеть проблемные места по производительности получаемого решения можно БЕЗ компиляции квартусом

см. полный workflow:
Скрытый текст
image

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

Про симуляцию с потоком HD-видео ничего сказать не могу — никогда с этим не работал, но на создание очень простого тестового окружения для симуляции (в ModelSim'e) кернела vector_add ушло полчаса.
Там вообще интересная ситуация получается: код получается открытым, и его можно портировать на другие чипы (хоть Xilinx), правда придется настройку кернелов и пр. писать самому.

Хотя, наверно, никому это не надо: у Xilinx есть своя тулза (SDAccel) для OpenCL.
Я и сам бы хотел увидеть такие бенчмарки :)

В презентации Harnessing the Power of FPGAs using Altera’s OpenCL Compiler приведены несколько бенчмарков (сравнение с Xeon'ом и Tesl'ой) на реальных задачах.

Слайды из презентации под спойлером:
Скрытый текст




Ну, Stratix 10 выйдет после Arria 10, а Arria еще находится на стадии инженерных образцов. Посмотрим, что будет
Ultrascale+ Kintex? Уже коммерческие образцы? Какая цена? :)
Да, теперь предполагается, что вам не надо отлаживаться как обычному FPGA-разработчику используя Modelsim'e/SignalTap'e.
Насколько это реально, я не знаю — серьезных проектов на OpenCL под FPGA я не делал.

Буду признателен, если кто-то поделится реальным опытом применения Altera SDK for OpenCL в комментариях (или может в отдельной статье?), насколько всё радужно, как это рисуют маркетинговые буклетики)
А вообще, не надо забывать, что Интел купил Альтеру, и собирается выпустить серверные процессоры Xeon со встроенной FPGA. Если они это сделают, и цена будет на 100$ больше, чем на процессор без FPGA, а количество ресурсов будет большим, то такой вариант станет очень привлекательным.
В статье я дал ссылку на гитхаб, где лежит квартусовский проект с Verilog IP.
Сгенерированые файлы открыты и вы можете как-то совместить с другим кодом или даже модифицировать.
Но придется поработать ручками, т.к. из коробки это пока не предполагается (механизма я не нашел).
«Сложность делать» вылезает из-за управления низким уровнем) Это как на 8-битном контроллере писать перемножение float чисел на ассемблере. Да, сложно, но можно попытаться в интернете готовые примеры найти и пр.

Как это решать, когда внешняя оболочка OpenCL даже не предусматривает таких заморочек?

Не очень понял вопроса: почему внешняя оболочка не предусматривает?

Да, чипы FPGA дороже своих конкурентов, и если основное различие будет только в энергоэффективности, то, мне кажется, съэкономленные деньги на электроэнергию не отобьют разницу в чипах. Может быть только в тех странах, где дорогая электроэнергия?
На «горячих» серверах подняты сетевые интерфейсы с пропускной способностью до 80 гигабит, на «холодных» до 40.

Вы используете 40G карточки? Если да, то какие? :)

Information

Rating
Does not participate
Registered
Activity