Эмейзинг Амазон факап
Сейчас занят тем, что переношу некоторый payload на AWS F1 (FPGA EC2 instance) и очень удивился, что по заветам ветерана отрасли в лице VCU1525 амазон таки-поставил 4 слота DIMM DDR4, но напрочь лишил свою F1 сетевых возможностей и даже порта UART (прости VCU1525!) 😱😱😱
Конфиг, в котором они предлагают 8хFPGA совершенно бестолковый: нет экономии по стоимости, а "быстрый" линк между FPGA в виду отсутствия всех сортов [Q]SFP[28] реализован "как смогли" (см.картинку).
Т.е. если мне надо разрезать дизайн на несколько FPGA, то вместо пересылки (почти в RAW) с минимальной задержкой через мультигигабитные трансиверы буду тратить LUTы на обслуживание PCIe стека 🙄
И это при том, что для GPU инстансов у них всё чётенько спроектировано: для конфига из мульти-GPU они коннектятся to each other через NVLink:
▫️ up to 1600 GBit/s (Volta V100)
▫️ up to 4800 GBit/s (Ampere A100)
@embedoka
Сейчас занят тем, что переношу некоторый payload на AWS F1 (FPGA EC2 instance) и очень удивился, что по заветам ветерана отрасли в лице VCU1525 амазон таки-поставил 4 слота DIMM DDR4, но напрочь лишил свою F1 сетевых возможностей и даже порта UART (прости VCU1525!) 😱😱😱
Конфиг, в котором они предлагают 8хFPGA совершенно бестолковый: нет экономии по стоимости, а "быстрый" линк между FPGA в виду отсутствия всех сортов [Q]SFP[28] реализован "как смогли" (см.картинку).
Т.е. если мне надо разрезать дизайн на несколько FPGA, то вместо пересылки (почти в RAW) с минимальной задержкой через мультигигабитные трансиверы буду тратить LUTы на обслуживание PCIe стека 🙄
И это при том, что для GPU инстансов у них всё чётенько спроектировано: для конфига из мульти-GPU они коннектятся to each other через NVLink:
▫️ up to 1600 GBit/s (Volta V100)
▫️ up to 4800 GBit/s (Ampere A100)
@embedoka
Embedded Doka
Как многие знают, Амазон в числе первых запустил FPGA-as-a-Service, благодаря чему сделал доступными даже для энтузиастов чипы с listed price >$40k (согласно дижикей), а недавно такая возможность появилась и в MS Azure. Так вот Амазон проапгрейдила шелл…
Пару слов об этом компактном шелле для AWS F1:
Сам шелл для интеграции в пользовательский проект поставляется (точнее скачивается скриптом с AWS S3) в виде файла Design CheckPoint as as 🤷♂️
В минималистичном сетапе компактный шелл занимает около 10% LUT (в VU9P, Карл!!!), выкинуты были:
▫️DDR4 ctrl
▫️XDMA (его там и не было, но предлагается альтернатива в виде SDE)
▫️VirtualJTAG, VIO, ILA
▫️IRQ logic
@embedoka
Сам шелл для интеграции в пользовательский проект поставляется (точнее скачивается скриптом с AWS S3) в виде файла Design CheckPoint as as 🤷♂️
В минималистичном сетапе компактный шелл занимает около 10% LUT (в VU9P, Карл!!!), выкинуты были:
▫️DDR4 ctrl
▫️XDMA (его там и не было, но предлагается альтернатива в виде SDE)
▫️VirtualJTAG, VIO, ILA
▫️IRQ logic
@embedoka
Заметил за собой особенность: раз в несколько недель стабильно гуглю AsciiTable. А как часто Вам приходится заглядывать в таблицу символов?
Anonymous Poll
4%
Да каждый божий (т.е. рабочий) день!
6%
Пару раз в неделю
19%
Пару раз в месяц
51%
Несколько раз в год
7%
AsciiTable - для слабаков, тру-эмбеддерщик помнит её наизусть!
1%
Ха! У меня плагин для IDE (c AsciiTable пожизни)!
12%
AsciiTable - что ты такое?
Audible Notification
Во всех этих многочасовых сборках проектов я наконец понял чего мне так не хватало на воркстейшен: чтобы из мейка проигрывался звук, что сборка готова (#WHF рулит!).
Поискал как из консоли проигрывать: есть
Кстати говоря при сборке на AWS у Амазона есть возможность использовать уведомления на почту по факту окончания сборки - олдовенькое решеньице :-/
@embedoka
Во всех этих многочасовых сборках проектов я наконец понял чего мне так не хватало на воркстейшен: чтобы из мейка проигрывался звук, что сборка готова (#WHF рулит!).
Поискал как из консоли проигрывать: есть
play (из пакета sox), но он не понимает формата m4r/m4a, так что остаётся ffplay (только не пытайтесь делать ffplay --help!) - добавил последней строчкой в цель мейка.Кстати говоря при сборке на AWS у Амазона есть возможность использовать уведомления на почту по факту окончания сборки - олдовенькое решеньице :-/
@embedoka
Audio
Directed By Robert B. Weide
ffplay -hide_banner -nodisp -autoexit directed_by_robert_b_weide.mp3 >/dev/null 2>&1@embedoka
Еще один шажок экспансии FPGA в облака
На сей раз в амазон завезли Xilinx® Alveo™ U30 card для рилтайм-транскодинга видео (Amazon EC2 VT1).
Hardware-accelerated video-transcoding-as-a-service ✌🏻
@embedoka
На сей раз в амазон завезли Xilinx® Alveo™ U30 card для рилтайм-транскодинга видео (Amazon EC2 VT1).
Hardware-accelerated video-transcoding-as-a-service ✌🏻
@embedoka
Embedded Doka
Гонения Master & Slave. Now in HW. Ну всё, приплыли, сушите вёсла. Это было прикольно когда не затрагивало HW индустрию: почитывать новости про выпиливание терминов из питона или смена дефолтного названия ветки на гитхаб, по похоже на то, что добрались до…
Сначала запретили мастеров и слейвов, казалось бы на этом закончится, но нет - теперь альянс за соц.справедливость среди роботов? 🙄
@embedoka
@embedoka
Какие-то непонятки с DDR5 DIMM.
Везде пишут что вроде как ЕСС обязателен и "встроен", но на картинках самих модулей виден только встроенный DC-DC. Получается ЕСС в самих чипах?
А десктопные процы Интела 12го поколения имеют поддержку DDR5, но не поддерживают ЕСС 🤷♂️
Вот пытаюсь понять как это всё состыкуется, а то год от года с ростом ОЗУ даже на десктопе без ЕСС всё хуже и хуже.
@embedoka
Везде пишут что вроде как ЕСС обязателен и "встроен", но на картинках самих модулей виден только встроенный DC-DC. Получается ЕСС в самих чипах?
А десктопные процы Интела 12го поколения имеют поддержку DDR5, но не поддерживают ЕСС 🤷♂️
Вот пытаюсь понять как это всё состыкуется, а то год от года с ростом ОЗУ даже на десктопе без ЕСС всё хуже и хуже.
@embedoka
Рубрика: идеи стартапа
Было бы круто иметь сервис, который по принципу социальной сети экспертов подбирал людей на основе компетенций для узкоспециализированных консультаций (конечно же - на основе нейросетей).
Вот кейс: допустим, у пользователя есть документ и нужен кто-то шарящий в предметной области, чтобы перевести с птичьего на человеческий, собственно за то, что понимание написанного занимает 5мин, а не час и платятся деньги. Сам эксперт подбирается из пула на основе парсинга документа и результата работы всяких NLP-like сеточек.
Потому что сегодня пожалуй потратишь больше времени на поиск человека с ключевой компетенцией, чем потребуется на самостоятельное раскуривание документа 🤷♂️
@embedoka
Было бы круто иметь сервис, который по принципу социальной сети экспертов подбирал людей на основе компетенций для узкоспециализированных консультаций (конечно же - на основе нейросетей).
Вот кейс: допустим, у пользователя есть документ и нужен кто-то шарящий в предметной области, чтобы перевести с птичьего на человеческий, собственно за то, что понимание написанного занимает 5мин, а не час и платятся деньги. Сам эксперт подбирается из пула на основе парсинга документа и результата работы всяких NLP-like сеточек.
Потому что сегодня пожалуй потратишь больше времени на поиск человека с ключевой компетенцией, чем потребуется на самостоятельное раскуривание документа 🤷♂️
@embedoka
Новый уровень импортозамещения (всегда интересовало сколько это стоит).
Это вам не наклейки в подворотнях переклеивать!
@embedoka
Это вам не наклейки в подворотнях переклеивать!
@embedoka
Куча битстримов: бессмысленных и беспощадных
Вот о какой вещи думаю последние недели для связки FPGA+хост: В битстрим можно заимпринтить timestamp сборки и даже автоматический номер ревизии, но всё равно это неудобно, когда собираются версии с какими-то минорными изменениями и этих сборок много 😱.
Приходится всё равно вести где-то табличку с описанием какие дефайны были установлены на момент сборки, чтобы в хостовом приложении установить идентичные (такое действительно часто бывает нужно). Но что-то меня это немного подзадолбало и вот до чего я додумался.
Регистр в адресном пространстве содержимое которого задаётся статично препроцессором на синтезе. И значения эти определяются примерно так:
Велосипед или есть какое-то готовое решение?
Кто как решает проблему?
@embedoka
Вот о какой вещи думаю последние недели для связки FPGA+хост: В битстрим можно заимпринтить timestamp сборки и даже автоматический номер ревизии, но всё равно это неудобно, когда собираются версии с какими-то минорными изменениями и этих сборок много 😱.
Приходится всё равно вести где-то табличку с описанием какие дефайны были установлены на момент сборки, чтобы в хостовом приложении установить идентичные (такое действительно часто бывает нужно). Но что-то меня это немного подзадолбало и вот до чего я додумался.
Регистр в адресном пространстве содержимое которого задаётся статично препроцессором на синтезе. И значения эти определяются примерно так:
`ifdef CAPABILITY_OPT2Соответственно на хосте в рантайме считываем регистр с Capability и делаем либо разные ветки выполнения, либо просто печатаем весь список установленных в RTL фич (для сравнения потребления разных битстримов, например).
assign opt_reg = `SET_CAPABILITY(opt_reg,`CAPABILITY_OPT2);
`endif
Велосипед или есть какое-то готовое решение?
Кто как решает проблему?
@embedoka
Который раз убеждаюсь - нигде нет столько инсайдеской инфы о деятельности компании как в профилях линкедина.
Ладно Интел и IBM со своими кастомными САПРами, но то что Apple стала настолько вертикально интегрированной - это любопытно: годик-другой и Apple купит/построит свой заводик по производству чипов.
Интересно, а Хуавей работает над собственными кастомными тулами для чип-дизайна? (им сейчас нужнее).
@embedoka
Ладно Интел и IBM со своими кастомными САПРами, но то что Apple стала настолько вертикально интегрированной - это любопытно: годик-другой и Apple купит/построит свой заводик по производству чипов.
Интересно, а Хуавей работает над собственными кастомными тулами для чип-дизайна? (им сейчас нужнее).
@embedoka
Olof Kindgren - уже достаточно долгое время считаю его законодателем трендов в индустрии.
Единственный нюанс: наверное года два как не понимал этого хайпа вокруг SERV и соревнования по напихиванию максимального числа ядер в FPGA.
Один слайд (см. в комментах) из короткого видео всё пояснил. Действительно SERV - крутая штука, у которой множество применений ну и конечно очень радует, что архитектура - не плод велосипедостроения, а уже ставшая стандартом RISC-V c мощным комьюнити и тулчейном + SERV поддерживает ОС Zephyr RTOS (не bare metal единым) 👍🏻
Вот что пишет Олоф в комментариях на линкедин: It has been used to initialize DRAM controllers and as a state machine for a UART-to-USB converter.
@embedoka
Единственный нюанс: наверное года два как не понимал этого хайпа вокруг SERV и соревнования по напихиванию максимального числа ядер в FPGA.
Один слайд (см. в комментах) из короткого видео всё пояснил. Действительно SERV - крутая штука, у которой множество применений ну и конечно очень радует, что архитектура - не плод велосипедостроения, а уже ставшая стандартом RISC-V c мощным комьюнити и тулчейном + SERV поддерживает ОС Zephyr RTOS (не bare metal единым) 👍🏻
Вот что пишет Олоф в комментариях на линкедин: It has been used to initialize DRAM controllers and as a state machine for a UART-to-USB converter.
@embedoka
Intel PSG supplied all new Nios V in Quartus 21.3. It is based on the open-source RISC-V Instruction Set Architecture.
Who is next? Xilinx will deliver MicroBlaze-V in Vivado 2021.2 (based on the RISC-V ISA)? 🤔
@embedoka
Who is next? Xilinx will deliver MicroBlaze-V in Vivado 2021.2 (based on the RISC-V ISA)? 🤔
@embedoka