Компилятор для CPU и GPU. Часть 2. LLVM в GPU компиляторах/Стандарты С++
Listen now
Description
Во второй части выпуска «Битовых масок» Константин Владимиров, инженер с 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 — Заключение
More Episodes
В этом выпуске мы побеседовали с Николаем Иготти — разработчиком с опытом сразу во многих сферах системного программирования. Николай разрабатывал виртуальные машины (Java HotSpot), компиляторы (Kotlin/Native), гипервизоры (VirtualBox). Также в портфолио нашего гостя — браузеры Firefox, Chrome и...
Published 11/22/24
В этом выпуске мы продолжим погружаться в тему системного программирования и познакомим вас с Дмитрием Точанским — инженером с опытом работы более 20 лет в сферах системного и embedded-программирования. Дмитрий пришел в системное программирование из системного администрирования, куда его привела...
Published 10/11/24