LLVM и GCC / Register allocation / IT-образование в вузах (часть 1)
Vložit
- čas přidán 2. 07. 2024
- В этом выпуске Константин Владимиров, занимавшийся разработкой компиляторов для CPU и GPU, расскажет о том достоинствах и недостатках GCC и LLVM. Константин опишет различные современные подходы к аллокации регистров, применяемых в компиляторах. А также поделится базовыми рекомендациями для пользователей компиляторов, желающих улучшить производительность своих программ с помощью компиляторов. Кроме того, мы обсудили животрепещущий вопрос об IT-образовании с точки зрения преподавателя.
Насколько больно переходить на новые версии компилятора? По каким причинам выбирают LLVM? Какие достоинства и недостатки GCC и LLVM? Какие методы решения задачи аллокации регистров существуют? Насколько этот этап влияет на скорость работы программы? Почему инженерам полезно идти преподавать в ВУЗы? Какие проблемы есть у современного высшего образования в сфере IT? Ответы на эти и другие вопросы вы узнаете из этого эпизода. Больше интересного обсудим с Константином во второй части выпуска, которая выйдет чуть позже.
📍 Канал Константина: / @tilir
✅ Подписывайтесь на Telegram-канал подкаста: t.me/+bx50QfUlw4pkZDEy
🎧 Слушать «Битовые маски» на других платформах:
Яндекс.Музыка: music.yandex.com/album/26508178
Apple Podcasts: podcasts.apple.com/ru/podcast...
Все площадки: engineer.yadro.com/podcasts/c...
00:00:00 - Тизер
00:00:22 - В гостях Константин Владимиров
00:01:40 - Карьерный путь Константина
00:08:16 - Как Константин попал в сферу разработки компиляторов
00:10:05 - Процесс проектирования микроархитектуры
00:11:39 - Сравнение GCC и LLVM, преимущества и недостатки
00:15:47 - LLVM IR
00:16:41 - Все крупные системы должны быть переписаны на C++
00:17:18 - Преимущества C
00:18:57 - Наследие, оставшееся от С, в GCC
00:20:19 - Ниши gcc и clang
00:22:26 - Отсутствие бинарной совместимости для LLVM IR
00:24:42 - Различные методы аллокации регистров в компиляторах
00:34:47 - Как аллокация регистров влияет на качество сгенерированного кода
00:36:15 - Рекомендации для пользователей компиляторов
00:37:02 - Архитектурные решения проблемы аллокации регистров
00:40:07 - Польза преподавательской деятельности
00:43:43 - Собеседования при найме
00:45:27 - Что полезно для развития специалиста
00:46:56 - Проблемы IT-кафедр
00:52:10 - Участие компаний в высшем образовании
00:55:27 - Новогоднее пожелание будущим инженерам от Константина
00:57:02 - Тизер второй части
🔹 Стань частью команды YADRO! careers.yadro.com
#llvm #gcc #llvmir #c++ #itобразование - Věda a technologie
Какой же умный мужик. Боже, дай мне хоть вполовину так же грамотно и чётко мыслить
Владимир Александрович, здравствуйте! Спасибо, что на одной из пар порекомендовали этот канал! Я знаю, вы это прочитаете!)
Роскошный выпуск! Просто подарок к новому году). Спасибо ведущим и конечно же Константину!
Спасибо большое! В новом году выйдет вторая часть :)
я просмотрел сначала 2 часть. она прогла на одном дыхании. полтора часа прошли как 10 минут. но когда понял что есть ещёи первая часть был очень доволен
мало что понимаю, но очень интересно слушать. Атмосфера в студии и манера речи гостя располагает к прослушиванию)
Здорово, что не пасуете перед непонятной информацией. Смотрите и другие выпуски "Битовых масок"!
Отлично! Большое спасибо за выпуск!
Жду вторую часть
Спасибо вам! Новый выпуск выйдет в январе :)
@@ultimate_engineer супер, а пока я посмотрю другие видео) кажется там есть серия про "железо" и его программирование
Хороший канал, интересное интервью. Смотрю магистерский курс С++ на канале Константина с большим удовольствием
Спасибо вам большое!
Спасибо большое, ребята. Успехов вам всем. Очень приятно смотреть и слушать.
Спасибо большое! Если вам понравился гость, то на канале есть также 2 часть выпуска (czcams.com/video/_SIBiSR8rzM/video.html) и доклад Константина с недавнего митапа: czcams.com/video/cK4cMdx9QeQ/video.html
@@ultimate_engineer спасибо за ссылки, да я уже посмотрел вторую часть и доклад недавний в первую очередь.
Еее!! Комменты для продвижения!! Вперёёд)
Я в процессе профессионального самоопределения, и контент Константина (и материалы "Истового Инженера*) мотивируют развиваться в разработке, несмотря на трудности ❤
Это очень радостно слышать! Желаем удачи на профессиональном пути! Будет сложно, но интересно :)
ООО это очень крутой дядька, со скином скинхеда)) Ему надо дать государственную премию за его Ютуб канал, именно таких людей которые имеют большой практический опыт мне не хватало в образовании, одни просидевшие на кафедре всю жизнь пердуны с большим чсв.
Послушал с удовольствием!
Рады, что понравился выпуск! Если ещё не слушали, то у "Битовых масок" вышло ещё 6 эпизодов подкаста с интересными спикерами ;)
Про преподавателей я полностью согласен. Моя учёба давно окончена и не бы связанна с программированием, но у нас были на кафедре преподы которые имели рабочий опыт и это круто, истории, советы и прочие фишки открываются. Но немного взгрустнул с фразы Константина Владимирова
Спасибо за годный хардкорный контент.
Спасибо вам! Рады, что понравился подкаст!
Первый раз вижу, чтобы интервьюеры были разбирающимися людьми, а не смузихлебами
Спасибо, стараемся делать только то, за что не стыдно и создавать действительно полезный контент :)
Первый и последний раз походу 😂
Спасибо
Конечно знаю))
си плас плас )))
про то что ядро линукса переписать на плюсах мешает только фанатизм Торвальдса это база
топ контент ❤
Спасибо, рады, что понравился выпуск!
Это не база, а смех. Rust еще сойдёт более менее
@@alexgorodecky1661 Rust - вот это шутка. От Rust в ядре не матерится только ленивый и это больше смахивает на саботаж и лицемерие.
А есть еще и GPU, для которых register pressure определяет, сколько параллельных потоков можно исполнять одновременно. Задача тогда существенно усложняется - надо не просто уложиться в, например, 16 регистров доступного адресного пространства, а минимизировать регистры насколько это возможно. Или даже удалить некоторые регистры (rematerialisation) и заменить их повторными вычислениями.
Расслабься
Экстра лекция бакалаврского курса 😂❤
Мы тоже радуемся, что удалось договориться с Константином об участии в подкасте! Спасибо, что смотрите!
"Я не боюсь когда меня спрашивают, а я ничего не знаю, либо отвечаю полную дичь.... ЯЗЫК ТАКОЙ" - это звучит прикольно!!!
ага и кажешься очень умным!
Где ссылка на канал Константина Владимирова??!!
Уже стоит в описании :) Спасибо, что смотрите наши выпуски одним из первых! Канал Константина: www.youtube.com/@tilir
@@ultimate_engineer Спасибо! (🤫у меня есть ссылка), просто Елена пообещала, на 57 секунде ролика ;) А как преподаватель, да и уверен, как разработчик, Константин хорош! И это скорее мягко сказано )
@9:50 а что за книгу он упомянул? Мучник?
Верно, Steven Muchnick "Advanced Compiler Design and Implementation"
Не подскажите, что за книга на 9:53
Steven Muchnick "Advanced Compiler Design and Implementation"
В таймкоде написано "Все крупные системы должны быть переписаны на С", а гость говорит обратное :D
Видимо, CZcams считает, что это одно и то же :)) потому что в описании у нас стоит С++
Правильное исправление. Ютуб шарит.
Ну так и шо? Современные процессоры (во всяком случае x86) даже спиллинт переименовывают. Т.е. внутри проца там типа очень много регистров (128-256...) и если мы пишем в пямять а потом читаем оттуда же то это происходит фактически за бесплатно, такая же скорость как и работы с регистрами.
Думал, что с jetbrains из РФ ушли топ специалисты по компиляторам, а похоже они все походили из jetbrains, ядро молодцы
Человек говорит про фанатизм Торвальдса, и перед этим говорит - "Переписать все крупные системы на C++", смешно. Каждой задаче свой инструмент. А C++ уже должен начать переставать быть языком общего назначения и стать языком спец назначения. Для остального C и Rust. К счастью или сожалению, C++ становится легаси языком.
Казалось бы, это было что-то наподобие профессионального фразеологизма с долей иронии, а не просто утверждение
C++ никому ничего не должен). А то, что сейчас корпы насильно стараются пропихнуть Rust в ядро - это вообще саботаж. И да, скажите ведущим высокотехнологичным компаниям причём в разных сферах, что C++ оказывается legacy и посмеются над вами. Все драйверы как писали на C++, так и пишут и писать будут, Rust лезет со своей рекламной компанией, но дальше слов особо дело не движется, далее вся 3D графика - это C++, причём как для проприетарных продуктов nVidia, так и открытых, всё машинное обучение - это C++, то что вам предоставляют юзерспейс на Python - это ничего не значит, а иногда и вредит индустрии. Хорошенькое такое "legacy".
@@MariaEsenina А чем Rust хуже C++?
@@cuniapapa5370 Ответ Раст разработчика: всё ещё нет variadic generics (template packs). Но у плюсов гораздо больше проблем, поэтому испытываю меньшую боль в Rust.
Неудачные обложки. Есть такая хорошая практика как ставить фото гостя и указывать его имя.
Нам известны такие практики, но не все инженеры в восторге от фотосессий и хотят видеть своё лицо на обложке :)
@@ultimate_engineer вполне может быть)
@@ultimate_engineer Тогда хотя бы имя гостя, а то я видео хотел "скипнуть", не понимая почему оно в предложке всплыло.
@shatalinator Имя гостя и из какой он компании указано на обложке внизу :)
"Ядро Linux должно быть переписано на C++"
Столяров: 💀💀💀💀😡😡🤬🤬🤬🤬👺👺👺👹👹👹☠☠☠
где же патриотизм? Столовка...
Кажется, патриотизм заключается не в этом :)