Битовые маски: о системном программировании простыми словами

Елена Лепилкина, Антон Афанасьев и Алина Галичина

Системное программирование и разработка процессоров —  область довольно узкая. Но именно в ней работает множество отличных профессионалов, создавших продукты, которыми программисты пользуются ежедневно. Мы познакомим вас с этими экспертами, расскажем об актуальных задачах, которые решают в отрасли, и покажем варианты развития для системных программистов и тех, кто хочет ими стать. 

  1. Sep 11

    Запуск нейросетей на ПЛИС. Краевой ИИ. Академическая деятельность.

    В тридцать втором выпуске «Битовых масок» Антон Афанасьев и Алина Галичина разбираются в краевом искусственном интеллекте вместе с Иваном Дейнекой — заведующим лабораторией Высшей инженерно-технической школы ИТМО. Иван совмещает три роли сразу: инженерную, научную и преподавательскую, а его команда размещает нейросети на ПЛИС и 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

  2. Aug 28

    Функциональные симуляторы: использование, точность, скорость. Симулятор QEMU. TCG engine

    В тридцать первом выпуске «Битовых масок» Елена Лепилкина и Алина Галичина разбираются в функциональном моделировании вместе с двумя экспертами из 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

  3. Jul 3

    Когерентность. Автоматизация. Искусственный интеллект для RTL и верификации

    В 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 #СистемноеПрограммирование

  4. Jun 5

    Архитектура «Эльбрус» / Компилятор и профилировщик

    В новом выпуске «Битовые маски» возвращаются к своим истокам, а именно к компиляторам для процессоров. И процессоров весьма специфических — на базе архитектуры VLIW (Very Long Instruction Word). Разобраться в теме ведущим Елене Лепилкиной и Алине Галичиной поможет Виктор Шампаров — разработчик компилятора LCC для микропроцессоров «Эльбрус». Виктор провел подробную экскурсию по особенностям «Эльбруса» и архитектуры VLIW с точки зрения системного программирования. Кроме того, Виктор как опытный преподаватель оценил, как сегодня осваивают компиляторы студенты технических вузов. Среди тем подкаста: почему сложно сделать хороший компилятор под VLIW; в чем разница между советским и российским «Эльбрусом»; почему в разработке для «Эльбруса» очень важно знание компилятора; почему в архитектуре «Эльбруса» сравнительно больше регистров; существуют ли «Эльбрусы» для нейросетей; что делают студенты на курсе Виктора по оптимизациям в компиляции; в каких вузах стоит учиться работе с компиляторами. Полезные ссылки: доклад Виктора «Компилятор LCC и оптимизация слияния кода» https://jrg.su/FzxcY2, доклад Виктора «PGO: как профиль используется для оптимизации» https://jrg.su/XDSELb, портал о разработке на платформе «Эльбрус» https://dev.mcst.ru/.

  5. May 15

    GPU и акселераторы для нейросетей / Тензорные компиляторы / Инференс LLM

    В новом выпуске «Битовых масок» главной темой стали нейросети — и, конечно же, системное программирование и аппаратная разработка в этой области. К Елене Лепилкиной и Антону Афанасьеву присоединился Андрей Камаев. Андрей стартовал в ИИ-разработке с популярнейшей библиотеки компьютерного зрения OpenCV еще в те времена, когда этим занималась независимая компания Itseez. Затем он продолжил карьеру в Intel, а сейчас является экспертом по разработке ПО искусственного интеллекта YADRO. В ходе выпуска Андрей рассказал об истории развития современных нейросетей и осветил текущий рынок «железа» для ИИ. После этого разговор перешел к специфике разработки LLM «изнутри» и завершился полезными советами для тех, кто только начинает искать место разработчика и боится конкуренции с нейросетями. Основные темы подкаста: как сфера искусственного интеллекта пришла к LLM и другим современным концепциям; как устроены гонки на рынке больших языковых моделей сегодня; как поделен рынок «железа» для тренировки LLM; почему в лидеры ИИ-железа не вышла AMD; почему сложно сделать специальный аппаратный акселератор для LLM, как для криптовалюты; что особенного в компиляторах для нейросетей; почему любая нейросеть — это вредный джинн; что важно разработчикам-джунам для успешной конкуренции с LLM.

  6. Apr 20

    Стандарты беспроводной связи / Аппаратная разработка для ЦОС / DSP-процессоры

    Как стандарты беспроводной связи воплощают в «железе»? Мы стартуем новый сезон «Битовых масок»! Гостем 26 выпуска стал Антон Бобков — опытный инженер YADRO, работающий в сфере цифровой обработки сигналов едва ли не с начала широкого распространения интернета. Собеседники Антона Бобкова — уже знакомый вам Антон Афанасьев и Алина Галичина, новая ведущая подкаста. Антон подробно рассказал о существующих стандартах сотовой связи, о том, зачем их столько нужно и во что упирается потенциал их развития. А также оценил свою область с точки зрения классической аппаратной разработки. Среди тем подкаста: почему нельзя просто взять и поставить базовую станцию; чем ограничены возможности беспроводной передачи информации; как стандарт WiMAX впервые объединил разные типы трафика и в итоге был забыт; зачем нужен Wi-Fi, Bluetooth и другие стандарты связи, если есть LTE; актуальны ли еще DSP-процессоры в разработке для ЦОС; почему верификация — самый сложный этап в аппаратной телеком-разработке.

About

Системное программирование и разработка процессоров —  область довольно узкая. Но именно в ней работает множество отличных профессионалов, создавших продукты, которыми программисты пользуются ежедневно. Мы познакомим вас с этими экспертами, расскажем об актуальных задачах, которые решают в отрасли, и покажем варианты развития для системных программистов и тех, кто хочет ими стать. 

You Might Also Like