Тёмный

Битовые маски #1. Разработка компиляторов / LLVM backend для RISC-V / Kotlin компилятор 

Истовый Инженер
Подписаться 9 тыс.
Просмотров 7 тыс.
50% 1

Опубликовано:

 

29 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 15   
@vladimiro3059
@vladimiro3059 Год назад
Том Круз в с++😂😂😂
@IshuckShow
@IshuckShow Год назад
Еее, респект за контент, бэкенд в массы!
@ultimate_engineer
@ultimate_engineer Год назад
Спасибо! Скоро будет второй выпуск ;)
@IshuckShow
@IshuckShow Год назад
Правда для бэкендеров они слишком много улыбаются, как-то не натурально получается
@ultimate_engineer
@ultimate_engineer Год назад
Дмитрий просто только что после отпуска - зарядил коллег своим отдохнувшим видом :)
@Max__O_o
@Max__O_o Год назад
Спасибо! Было было интересно.
@ultimate_engineer
@ultimate_engineer Год назад
Спасибо, нам очень приятно!
@DGT67
@DGT67 Год назад
в каком месте на данный момент находится передовая мысль разработчиков архитектуры? кто займет вершину надолго в ближайшем будущем ? ренессанс cisc возможен?)
@DmitryPetrov
@DmitryPetrov Год назад
Кто займёт вершину - это вопрос не технический, а скорее экономический и политический. RISC-V может сильно потеснить тот же ARM, но если это случится, то, скорее всего, не потому, что он такой замечательный с архитектурной точки зрения. Сейчас грань между RISC и CISC довольно сильно размыта. CISC-процессоры внутри имеют RISC-подобные конвейеры, исполняющие микрооперации. RISC-процессоры получают "сложные" инструкции (пример: векторые инструкции в RISC-V), переменную длину команд с особенностями кодирования (примеры из RISC-V: RVC, крипто-расширения) и прочие фичи, которые скорее похожи на CISC. Когда-то память микрокода была важна, и это деление было важным. Сейчас скорее важны кеши, параллелизм уровня инструкций и предсказание переходов.
@z140140
@z140140 Год назад
пока похоже что apple, amd и intel будут делать перескакивать друг через друга снова как в 90-х. и ещё в этот клуб пытается попасть arm, а может будут и другие претенденты
@ГеннадийФомин-л3й
Тоже занимаюсь компиляторами, только не для LLVM, а для виртуальной машины (исполнитель запросов колоночной базы, что-то отдаленно напоминающее интерпретатор SQLite). В свое время случайно узнал про SSA из какой-то статьи - для меня это было настолько неожиданное открытие, что я две недели переписывал генерацию кода в эту форму. Оказалось - мега удобная штука. Я бы послушал про оптимизации, основанные на IR. С dead code и удалением дубликатов - понятно, какие еще оптимизации применяются и как они работают, как определяется момент завершения цикла оптимизации?
@ultimate_engineer
@ultimate_engineer Год назад
Спасибо за вопрос! SSA - широко известная форма, хотя и не все компиляторы её используют, но она действительно упрощает часть оптимизаций. Про оптимизации, выполняющиеся в middle-end компиляторов можно почитать в классических книгах, помимо широко известного Dragon book, можно еще посоветовать Engineering: A Compiler www.amazon.com/Engineering-Compiler-Keith-Cooper/dp/012088478X (Modern Compiler Design link.springer.com/book/10.1007/978-1-4614-4699-6 еще например). Также можно посмотреть на документацию LLVM с описанием базовых оптимизирующих проходов, которые в нем есть llvm.org/docs/Passes.html#transform-passes. Завершение каждой оптимизации - очень индивидуальный вопрос, построенный часто на различных эвристиках, поверенных на определенном наборе бенчмарков. Это может быть завершение поиска всех подходящих для данной оптимизации случаев, использование различных thresholdов, анализ того насколько разрослось CFG и т.д. Тема оптимизаций очень обширная, и хотя мы ещё, конечно, будем разговаривать про компиляторы, но покрыть всё детально невозможно в таком формате, поэтому если есть заинтересованность, рекомендуем почитать литературу и посмотреть на код LLVM/GCC и других компиляторов (большинство open-source).
@skobkinru
@skobkinru Год назад
Подкаст не нашёлся через AntennaPod. Его нет на подкаст-платформах?
@ultimate_engineer
@ultimate_engineer Год назад
Наш подкаст Битовые маски уже доступен на большинстве площадок: bitmask.mave.digital/
@skobkinru
@skobkinru Год назад
@@ultimate_engineer Благодарю. Вот теперь он нашёлся через AntennaPod. Подписался, послушаем. Спасибо!
Далее
ХОККЕЙНАЯ КЛЮШКА ИЗ БУДУЩЕГО?
00:29
Владимир Кемпик - JVM для RISC-V
44:57