Новогодний плейлист инженера-программиста: что послушать в подкасте «Битовые маски»
Новогодние каникулы — отличное время не только для отдыха, но и для саморазвития. Если вы хотите узнать больше о низкоуровневой оптимизации, тонкостях работы с GPU или разобраться в архитектуре ядра Linux, эти выпуски подкаста «Битовые Маски» точно стоит добавить в свой плейлист. Эксперты с многолетним опытом обсуждают самые сложные темы из мира низкоуровневого программирования, делятся ценными инсайтами и реальными историями из профессиональной практики.
LLVM в GPU компиляторах, стандарты С++
На самом деле, не совсем нормально передавать вычисления на видеокарту для 3D-графики без подготовки. Если вы дошли до этого этапа, значит, вам важен перформанс. Вы написали шейдер и передали вычисления на видеокарту, но, чтобы добиться нужной производительности, сначала скомпилируйте его офлайн.
Большинство графических компиляторов предоставляют возможность офлайн-компиляции. Скомпилируйте шейдер, а затем изучите получившийся ассемблерный код. Если в нем присутствуют ненужные операции (спилы), перепишите шейдер. Серьезно. Спилы в шейдере — это прямой путь к потере производительности, а ведь вы писали шейдер именно для улучшения перфоманса.
Во этом выпуске подкаста «Битовые маски» Константин Владимиров, инженер с 20-летним опытом разработки на C/C++, расскажет о тонкостях создания компиляторов для GPU. Также он поделится своими мыслями о нововведениях в стандартах C++ и объяснит, почему разработчикам компиляторов важно хорошо разбираться в стандарте.
Из подкаста вы узнаете:
Чем отличаются CPU и GPU.
В чем сложность гетерогенного программирования.
Почему MLIR не используется в графических компиляторах.
Как применять LLVM для GPU-компиляторов с учетом его ограничений.
Когда использование SSA может быть проблемой.
Почему наличие undefined behaviour может быть полезным.
Какие нововведения могут появиться в C++26.
Смотреть на YouTube
Слушать
Разработка DSP-библиотеки, низкоуровневые оптимизации и программирование в 80–90-е
Дебаггинг на рубеже 80-х и 90-х: под конец компиляции, когда программа уже почти полностью работала, любое небольшое исправление могло занять до 20 минут компиляции. И это даже при условии, что компилятор загружался не с дискеты, а с устройства хранения на 256 килобайт.
В этом выпуске подкаста «Битовые маски» в гостях Игорь Астахов — инженер-программист с более чем 25-летним опытом работы. Его карьера началась во времена, когда компьютеры занимали целый шкаф, а в конце 90-х он стал сотрудником Intel. Сегодня Игорь работает в YADRO, где занимается оптимизацией DSP-алгоритмов и разработкой высокопроизводительных библиотек.
В этом выпуске ведущие с Игорем обсудили:
Правда ли, что раньше код писали и отлаживали прямо на бумаге.
Используют ли до сих пор ассемблер для достижения максимальной производительности.
Почему Intel Itanium считали идеальным процессором.
Как перенести библиотеку на архитектуру, которая еще даже не существует.
Может ли искусственный интеллект создавать высокопроизводительный код.
Смотреть на YouTube
Слушать
Архитектура ядра Linux, ЦОС и DSP-процессоры, Linux для RISC-V
Есть такая поговорка: человек всегда программирует на языке, который изучил первым. Если ты начал с Delphi, то, как ни странно, на любом другом языке будешь писать в стиле Delphi. Если твой первый язык — C, то и на других платформах ты будешь оставаться верен привычкам из C.
В этом выпуске подкаста — все о системном программировании. Наш гость — Дмитрий Точанский, инженер с более чем 20-летним опытом работы в системном и embedded-программировании.
Дмитрий пришел в системное программирование после того, как бывший руководитель застал его за попыткой исправить баг драйвера сетевой карты, из-за которого рушилась вся система. До этого Дмитрий работал системным администратором — путь, который он выбрал благодаря своей любви к Linux. Свой первый дистрибутив этой операционной системы он получил еще в начале 2000-х, практически подпольно.
В этом выпуске подкаста мы обсуждаем:
Как устроены системы цифровой обработки сигналов и какие аппаратные и программные решения здесь применяются.
Подходит ли Linux для использования в качестве real-time операционной системы.
С какими сложностями сталкиваются при портировании Linux на RISC-V.
Почему ядро Linux до сих пор не перешло на Rust и неизбежен ли отказ от C.
Какая архитектура операционных систем лучше — микроядерная или монолитная.
Смотреть на YouTube
Слушать
Операционные системы, Linux / Zephyr, HAL и BSP, ARC-V
Ключевым элементом любой операционной системы является процесс — единица выполнения задачи. Чтобы координировать работу нескольких процессов одновременно, операционной системе нужен диспетчер процессов. Именно он распределяет ресурсы устройства, позволяя запускать несколько задач одновременно и обеспечивая их эффективное взаимодействие.
Такое устройство, как мощный современный компьютер или телефон, способно одновременно воспроизводить музыку, обрабатывать сложные вычисления и выполнять множество других операций. И все это становится возможным благодаря тому, что операционная система предоставляет удобные абстракции и эффективно управляет процессами.
В этом выпуске подкаста «Битовые маски» поговорили с Алексеем Бродкиным. Он уже 16 лет работает в компании Synopsys и сегодня возглавляет команду инженеров, занимающихся разработкой операционных систем — от Linux до систем реального времени (RTOS).
Расстояние в тысячи километров не стали преградой для интересной беседы в подкасте «Битовые маски». Мы обсудили, как разрабатывать и поддерживать операционные системы для разных процессоров и архитектур, заглянули в будущее Synopsys и поговорили о новом процессорном семействе ARC-V, которое будет основано на открытом наборе команд RISC-V.
Что интересного вас ждет в выпуске:
Почему вероятность появления новой, большой и полноценной операционной системы крайне мала.
Как устроен уровень аппаратных абстракций в ОС и зачем он нужен.
Почему термин «операционная система реального времени» иногда вводит в заблуждение.
Перемещаются ли функции между Linux и RTOS.
Можно ли начинать разработку операционной системы до того, как микросхема воплотилась в кремнии.
Как связаны прерывания, их обработчики и планировщик задач.
Смотреть на YouTube
Слушать
Независимо от того, интересуетесь ли вы системным программированием, шейдерами для GPU, функциями Linux или разработкой DSP-библиотек, в этих выпусках вы найдете ценные советы, уникальные истории и идеи для роста. Слушайте, смотрите, и пусть новый год начнется с мощного апгрейда ваших знаний!
Не пропустите последние «Битовые маски» в уходящем году: гостем выпуска стал Юрий Панчул, один из основателей Школы синтеза цифровых схем! Он рассказал о своем пути в дизайн процессоров, о том, как он работает с точки зрения бизнеса, а также дал ценные советы молодым инженерам, которые как можно быстрее стремятся в крупные компании. Смотреть на Rutube/YouTube или слушать →
Слушайте «Битовые маски» на любой удобной платформе: Яндекс.Музыка, Apple Podcasts, Telegram-плеер, Castbox, YouTube и других.