Битовые маски: о системном программировании простыми словами
Елена Лепилкина и Антон Афанасьев
24 episodes
1 month ago
Системное программирование и разработка процессоров — область довольно узкая. Но именно в ней работает множество отличных профессионалов, создавших продукты, которыми программисты пользуются ежедневно. Мы познакомим вас с этими экспертами, расскажем об актуальных задачах, которые решают в отрасли, и покажем варианты развития для системных программистов и тех, кто хочет ими стать.
All content for Битовые маски: о системном программировании простыми словами is the property of Елена Лепилкина и Антон Афанасьев and is served directly from their servers
with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
Системное программирование и разработка процессоров — область довольно узкая. Но именно в ней работает множество отличных профессионалов, создавших продукты, которыми программисты пользуются ежедневно. Мы познакомим вас с этими экспертами, расскажем об актуальных задачах, которые решают в отрасли, и покажем варианты развития для системных программистов и тех, кто хочет ими стать.
Компилятор для CPU и GPU. Часть 2. LLVM в GPU компиляторах/Стандарты С++
Битовые маски: о системном программировании простыми словами
1 hour 2 minutes
1 year ago
Компилятор для CPU и GPU. Часть 2. LLVM в GPU компиляторах/Стандарты С++
Во второй части выпуска «Битовых масок» Константин Владимиров, инженер с 20-летним опытом разработки на C/C++, расскажет об особенностях разработки компиляторов для GPU. А также порассуждает о новых полезных вещах в стандартах C++ и объяснит, почему разработчикам компиляторов так важно знать стандарт.
Чем отличаются CPU и GPU? В чем сложность гетерогенного программирования? Почему MLIR не применяется в графических компиляторах? Как использовать LLVM для GPU-компиляторов, несмотря на его недостатки для подобных архитектур? Когда мешает SSA? Почему наличие undefined behaviour — это хорошо? Что может быть включено в C++26? Ответы на эти и другие вопросы вы узнаете из второй части выпуска.
Видеоверсия выпуска: https://youtu.be/_SIBiSR8rzM
00:00:00 — Тизер второй части
00:01:00 — Отличия CPU и GPU
00:02:33 — Особенности компиляторов для GPU
00:04:31 — Сложности применения LLVM для GPU-компиляторов
00:06:43 — Spill’ы в шейдерах
00:10:45 — Сложность гетерогенного программирования
00:11:48 — Проблемы компиляторных инженеров
00:13:57 — Использование LLVM в GPU-компиляторах
00:19:27 — MLIR и возможность его применения
00:21:43 — Особенности языков для GPU
00:26:37 — Backend в GPU-компиляторах
00:27:12 — Интересный баг
00:32:56 — Стоит ли писать на ассемблере
00:34:19 — Почему важно знать стандарты C++
00:36:40 — Ошибка в Linux
00:39:26 — Польза undefined behaviour
00:46:04 — Новшества в C++23 и C++26
00:56:07 — Участие в разработке стандартов C++
01:01:30 — Заключение
Битовые маски: о системном программировании простыми словами
Системное программирование и разработка процессоров — область довольно узкая. Но именно в ней работает множество отличных профессионалов, создавших продукты, которыми программисты пользуются ежедневно. Мы познакомим вас с этими экспертами, расскажем об актуальных задачах, которые решают в отрасли, и покажем варианты развития для системных программистов и тех, кто хочет ими стать.