Битовые маски: о системном программировании простыми словами
Podkast haqqında
Системное программирование и разработка процессоров – область довольно узкая. Но именно в ней работает множество отличных профессионалов, создавших продукты, которыми программисты пользуются ежедневно. Мы познакомим вас с этими экспертами, расскажем об актуальных задачах, которые решают в отрасли, и покажем варианты развития для системных программистов и тех, кто хочет ими стать.
Janr və etiketlər
В тридцать четвертом выпуске «Битовых масок» Антон Афанасьев и Алина Галичина обсуждают сложные вопросы разработки СнК в целом и RTL в частности. Компанию ведущим составили два инженера YADRO — Денис Трифонов и Дмитрий Форлетов. Денис руководит командой RTL-имплементации и доводит блоки до tape-out, Дмитрий отвечает за архитектуру СнК.
Дескрипшен:
Денис Трифонов и Дмитрий Форлетов объясняют, почему RTL-инженер пишет не только RTL и где архитектура СнК граничит с микроархитектурой
00:01:05 - Как Денис пришел в RTL: от радиотехники и ПЛИС к своему чипу
00:05:15 - Путь Дмитрия: МИРЭА, оборонка и морская радиолокация
00:16:29 - Архитектор как ветка развития старшего инженера
00:22:39 - Что такое constraint и почему RTL-инженер пишет не только RTL
00:28:45 - Когда правки от бэкенда требуют переделки микроархитектуры
00:33:31 - CDC-переходы: закладывать заранее или решать вопросы по ходу
00:44:45 - Кто и когда решает, какие интерфейсы будут у чипа
00:53:36 - Как архитектор проверяет технологическую реализуемость
01:00:02 - Где заканчивается архитектура и начинается микроархитектура
01:07:30 - Как выбирают программную модель для большой подсистемы
01:23:16 - Red flag для имплементации: когда задачу возвращают архитекторам
01:27:18 - Зачем нужно программное моделирование архитектуры
01:34:43 - Что такое чиплеты и что на них теряют
01:47:09 - Что делать с багом: занести в errata или переделать микроархитектуру
01:53:17 - Chisel и проблемы кодогенерации в RTL
02:00:22 - Как писать constraint на дизайн, который постоянно регенерируется
02:06:15 - Используют ли AI в RTL
02:18:25 - Где учат на RTL-инженеров: кафедра YADRO и МИЭТ, курс APS и другие
02:23:59 - Где учатся архитекторы СнК и что читать по теме
02:28:36 - Студенческий чип МИЭТ каждый год: первый уже прошел bring-up
Полезные ссылки:
курс «Архитектура процессорных систем» (APS) на GitHub: https://github.com/MPSU/APSмагистратура YADRO и МИЭТ: https://edu.yadro.com/miet_mpsu_master/телеграм-канал «Битовых масок»: https://t.me/bitemask телеграм-канал «Истового инженера»: https://t.me/ultimate_engineerПомогите развитию «Битовых Масок» — пройдите наш опрос https://clck.ru/3VT54fВ тридцать втором выпуске «Битовых масок» Антон Афанасьев и Алина Галичина разбираются в краевом искусственном интеллекте вместе с Иваном Дейнекой — заведующим лабораторией Высшей инженерно-технической школы ИТМО. Иван совмещает три роли сразу: инженерную, научную и преподавательскую, а его команда размещает нейросети на ПЛИС и SoC.
00:01:01 - Как тройка по физике привела Ивана в ИТМО и оптику
00:08:06 - Как совмещать три роли: инженер, преподаватель, научный сотрудник
00:18:27 - Как изменился студент и что ИИ-ассистенты делают с образованием
00:30:07 - Стек лаборатории: Qt, ПЛИС и собственные функциональные модули
00:35:22 - Редкие баги и идея ловить их нейросетью прямо в ПЛИС
00:48:46 - Почему DSP-процессоры — вымирающий вид
00:54:50 - На каких ПЛИС учить студентов и почему стоит попробовать несколько
01:18:28 - Оптимизация проекта: время компиляции, площадь и ресурс-балансинг
01:35:47 - Что такое краевой ИИ и зачем алгоритм переносят к источнику данных
01:41:39 - Какие модели размещают на ПЛИС
01:50:26 - Память как главное ограничение ПЛИС по сравнению с GPU
01:56:39 - Локальные LLM в лаборатории: экономия токенов и защита данных
02:03:14 - Как обучали свою сверточную сеть на синтетических данных
Полезные ссылки:
GitHub лаборатории Высшей инженерно-технической школы ИТМО: https://github.com/debreti/nirsii-fpgai
доклад Ивана Дейнеки «Edge AI на ПЛИС: тенденции и руководство по размещению»: https://www.youtube.com/watch?v=iG6lkyFEBVg
выпуск «Битовых масок» о верификации, open source и AI с Богданом Колбовым: https://engineer.yadro.com/podcast/kogerentnost-avtomatizacziya-ml-dlya-rtl-i-verifikaczii/
выпуск «Битовых масок» о спецпроцессорах с Петром Советовым: https://engineer.yadro.com/podcast/dsl/
телеграм-канал «Битовых масок»: https://t.me/bitemask
телеграм-канал «Истового инженера»: https://t.me/ultimate_engineer
В тридцать первом выпуске «Битовых масок» Елена Лепилкина и Алина Галичина разбираются в функциональном моделировании вместе с двумя экспертами из YADRO — Семёном Ковалем и Иваном Клоковым. Их команда развивает функциональный симулятор на базе QEMU и моделирует систему на кристалле целиком: от кластера CPU до высоко- и низкоскоростной периферии.
Гости объяснили, чем функциональный симулятор отличается от performance- и RTL-симуляторов и почему QEMU быстрый, но неточный. Рассказали, что приходится дописывать к upstream-версии под собственные чипы и зачем производители процессоров вкладываются в открытый проект. Разобрали косимуляцию с FPGA и RTL-симулятором, отладку многопоточных гонок и порог входа в функциональное моделирование.
Среди тем подкаста:
чем QEMU отличается от Gem5 и RTL-симуляторов;
какие баги в QEMU не отловить;
что такое TCG и зачем он нужен;
зачем производители процессоров вкладываются в upstream QEMU;
как из разных симуляторов собирают виртуальную платформу;
как устроена косимуляция QEMU с FPGA и RTL-симулятором;
как работает реверс-дебаг и зачем он нужен в QEMU.
00:01:02 - Как Семён и Иван пришли в функциональное моделирование
00:07:54 - Какие бывают симуляторы и какое место среди них занимает QEMU
00:13:01 - Что приходится дописывать к opensource-версии QEMU под конкретные чипы
00:25:51 - Какие ошибки не поймать в QEMU из-за игнорирования кешей
00:30:49 - Как QEMU стал стандартом функционального симулятора
00:32:50 - История QEMU и интересы вендоров в upstream
00:37:44 - Как часто выходят релизы QEMU
00:44:37 - Что в QEMU реализуют через плагины, а что внутри
00:55:34 - Как собирают единую виртуальную платформу из разных симуляторов
00:58:44 - Косимуляция QEMU с RTL-симулятором и FPGA
01:05:39 - Как тестируют сам QEMU
01:08:39 - Многопоточность в QEMU и плавающие баги
01:17:44 - Как в QEMU устроена работа с MMU
01:26:44 - QEMU для системных программистов и разработчиков драйверов
01:37:16 - Реверс-дебаг: как вернуться с QEMU в прошлое
01:38:58 - Порог входа в функциональное моделирование: что читать по теме
01:50:13 - AI в разработке моделей и патчей для QEMU
Тридцатый выпуск «Битовых масок» привел в студию к Елене Лепилкиной сразу двух экспертов из SberDevices — Олега Лёвина и Дмитрия Рокосова. Они разрабатывают операционные системы на основе Linux и AOSP, а также развивают сообщество Russian Linux Kernel Community.
Эксперты поделились историями о создании прошивок для медиаустройств и обсудили разные системы сборок. Представили стандартные бизнес-сценарии работы с китайскими поставщиками. Разобрали преимущества AOSP и те места, где приходится самостоятельно ее дорабатывать. Обсудили цели и задачи Russian Linux Kernel Community, а также способы попасть в сообщество.
В 29 выпуске «Битовых масок» к Алине Галичиной и Антону Афанасьеву присоединился Богдан Колбов — ведущий инженер по модульной верификации YADRO, специалист с широким опытом на разных инженерных позициях в индустрии.
Начав разговор с верификации кеша в многоядерных системах, собеседники перешли к сложностям для верификаторов в разных компаниях. Вспомнили о воспроизводимости багов и других рабочих проблемах, балансе энтерпрайза и open source в индустрии. Оценили успехи AI в RTL-разработке, а также обсудили его сбалансированное использование в личных проектах.
Среди тем подкаста:
в чем основная головная боль при построении чекеров кеша,
почему в верификации сложно разделить само тестирование и его автоматизацию,
как верификаторы в крупных компаниях оказываются «меж трех огней»,
в чем заключается «проклятие воспроизводимости»,
в какие open source-проекты вкладывается Богдан,
как стоит использовать AI для разработки «в свободное время»,
как актуальные AI-модели справляются с RTL-разработкой,
что интересного можно найти в телеграм-канале Богдана.
Полезные ссылки:
open source инструмент Corsair для построения карт регистров https://github.com/esynr3z/corsair,
«позитивслэк» — канал Богдана об аппаратной разработке с уклоном в верификациюhttps://t.me/positiveslack,
упомянутые выпуски подкаста:
FPGA / Разработка на FPGA / Создание FPGA-сообщества https://youtu.be/UvJxCEgaTNQ
Верификация аппаратных блоков / UVM / Рынок труда в hardware https://youtu.be/A3Y5gb4YIt4
00:00:50 - Как Богдан попал в полупроводниковую отрасль
00:05:35 - В чем особенность кешей для многоядерных систем
00:13:22 - Сложности освоения протокола AMBA CHI
00:21:34 - Верификация когерентности кеша
00:42:53 - Место автоматизации в сфере верификации
00:47:12 - Как добиваться воспроизводимости багов
01:00:28 - Чего не хватает современным инструментам верификации и ее автоматизации
01:15:10 - Open source-проект Corsair и подходы к разработке с помощью AI
01:32:29 - Как обстоят дела с внедрением AI в RTL-разработку
01:39:28 - Консолидация крупных производителей ПО для аппаратной разработки
01:49:39 - О телеграм-канале Богдана «Позитивслэк»
#БитовыеМаски #Верификация #SystemVerilog #RTL #HardwareVerification #UVM #CacheCoherency #AMBA #AMBA_CHI #SoC #ASIC #EDA #OpenSource #AI #Microelectronics #HardwareEngineering #YADRO #СистемноеПрограммирование
В новом выпуске «Битовые маски» возвращаются к своим истокам, а именно к компиляторам для процессоров. И процессоров весьма специфических — на базе архитектуры VLIW (Very Long Instruction Word). Разобраться в теме ведущим Елене Лепилкиной и Алине Галичиной поможет Виктор Шампаров — разработчик компилятора LCC для микропроцессоров «Эльбрус».
Виктор провел подробную экскурсию по особенностям «Эльбруса» и архитектуры VLIW с точки зрения системного программирования. Кроме того, Виктор как опытный преподаватель оценил, как сегодня осваивают компиляторы студенты технических вузов. Среди тем подкаста:
почему сложно сделать хороший компилятор под VLIW;
в чем разница между советским и российским «Эльбрусом»;
почему в разработке для «Эльбруса» очень важно знание компилятора;
почему в архитектуре «Эльбруса» сравнительно больше регистров;
существуют ли «Эльбрусы» для нейросетей;
что делают студенты на курсе Виктора по оптимизациям в компиляции;
в каких вузах стоит учиться работе с компиляторами.
Полезные ссылки:
доклад Виктора «Компилятор LCC и оптимизация слияния кода» https://jrg.su/FzxcY2,
доклад Виктора «PGO: как профиль используется для оптимизации» https://jrg.su/XDSELb,
портал о разработке на платформе «Эльбрус» https://dev.mcst.ru/.
В новом выпуске «Битовых масок» главной темой стали нейросети — и, конечно же, системное программирование и аппаратная разработка в этой области. К Елене Лепилкиной и Антону Афанасьеву присоединился Андрей Камаев. Андрей стартовал в ИИ-разработке с популярнейшей библиотеки компьютерного зрения OpenCV еще в те времена, когда этим занималась независимая компания Itseez.
Затем он продолжил карьеру в Intel, а сейчас является экспертом по разработке ПО искусственного интеллекта YADRO.
В ходе выпуска Андрей рассказал об истории развития современных нейросетей и осветил текущий рынок «железа» для ИИ. После этого разговор перешел к специфике разработки LLM «изнутри» и завершился полезными советами для тех, кто только начинает искать место разработчика и боится конкуренции с нейросетями. Основные темы подкаста:
как сфера искусственного интеллекта пришла к LLM и другим современным концепциям;
как устроены гонки на рынке больших языковых моделей сегодня;
как поделен рынок «железа» для тренировки LLM;
почему в лидеры ИИ-железа не вышла AMD;
почему сложно сделать специальный аппаратный акселератор для LLM, как для криптовалюты;
что особенного в компиляторах для нейросетей;
почему любая нейросеть — это вредный джинн;
что важно разработчикам-джунам для успешной конкуренции с LLM.
Как стандарты беспроводной связи воплощают в «железе»
Мы стартуем новый сезон «Битовых масок»! Гостем 26 выпуска стал Антон Бобков — опытный инженер YADRO, работающий в сфере цифровой обработки сигналов едва ли не с начала широкого распространения интернета. Собеседники Антона Бобкова — уже знакомый вам Антон Афанасьев и Алина Галичина, новая ведущая подкаста.
Антон подробно рассказал о существующих стандартах сотовой связи, о том, зачем их столько нужно и во что упирается потенциал их развития. А также оценил свою область с точки зрения классической аппаратной разработки. Среди тем подкаста:
почему нельзя просто взять и поставить базовую станцию;
чем ограничены возможности беспроводной передачи информации;
как стандарт WiMAX впервые объединил разные типы трафика и в итоге был забыт;
зачем нужен Wi-Fi, Bluetooth и другие стандарты связи, если есть LTE;
актуальны ли еще DSP-процессоры в разработке для ЦОС;
почему верификация — самый сложный этап в аппаратной телеком-разработке.
В юбилейном, 25 выпуске «Битовых масок» гостем стал Михаил Коробков — основатель сообщества FPGA-Systems и одноименной конференции, издатель FPGA-Systems Magazine. Михаил более 10 лет занимается FPGA и программируемой логикой, работает в отделе прототипирования YADRO.
Михаил провел для ведущих подкаста Елены Лепилкиной и Антона Афанасьева обзорную экскурсию в мир FPGA — от начала отрасли до актуальных проблем, включая особенности российского рынка. Помимо аппаратной части, в подкасте осветили и языки ПЛИС-разработки (спойлер: тема оказалась весьма острой). Наконец, Михаил поделился «теплыми ламповыми» воспоминаниями о том, как зарождалось сообщество FPGA-Systems, как появилась одноименная конференция и журнал.
Героем 24 выпуска «Битовых масок» стал Артём Кашканов из группы мониторинга производительности ПО YADRO, ранее — специалист по аппаратной трассировке в Intel.
Артём — создатель популярного YouTube-канала, где он показывает, как создает новые необычные вычислительные устройства и возвращает к жизни старые, основанные на устаревших элементных базах. Также Артём пишет о своем увлечении на Хабре и регулярно участвует с восстановленной техникой в тематических мероприятиях.
С Еленой Лепилкиной и Антоном Афанасьевым герой обсудил свое увлечение вычислительной техникой, рассказал о пути к нему и об интересных устройствах, над которыми работает сейчас. Кроме того, Артём подробно остановился на аппаратной и других видах трассировки — применительно как к современным, так и к ретрокомпьютерам.
YouTube-канал Артёма: https://youtube.com/c/ArtemKashkanov/
Телеграм-канал BrainfuckPC: https://t.me/brainfuckpc
Статьи Артёма на Хабре: https://habr.com/ru/users/radiolok/articles/
Мы готовим новый сезон «Битовых масок» и хотим учесть вашу обратную связь при планировании выпусков. Пожалуйста, пройдите опрос(https://surveys.yadro.com/s/cmfe1uvat04a6so01l9leghnv/?utm_source=surveys&utm_medium=referral&utm_campaign=bitmask_podcast&utm_content=opros), чтобы подкаст стал еще более интересным и полезным для вас.