LLVM и GCC / Register allocation / IT-образование в вузах (часть 1)

Sdílet
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

Komentáře • 64

  • @Ol5xHd0
    @Ol5xHd0 Před měsícem +2

    Какой же умный мужик. Боже, дай мне хоть вполовину так же грамотно и чётко мыслить

  • @user-ft3xw2kg9u
    @user-ft3xw2kg9u Před 6 měsíci +7

    Владимир Александрович, здравствуйте! Спасибо, что на одной из пар порекомендовали этот канал! Я знаю, вы это прочитаете!)

  • @user-fn8qh2md3i
    @user-fn8qh2md3i Před 6 měsíci +11

    Роскошный выпуск! Просто подарок к новому году). Спасибо ведущим и конечно же Константину!

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci

      Спасибо большое! В новом году выйдет вторая часть :)

  • @MikhailGoncharov-tl4cr
    @MikhailGoncharov-tl4cr Před 3 měsíci +1

    я просмотрел сначала 2 часть. она прогла на одном дыхании. полтора часа прошли как 10 минут. но когда понял что есть ещёи первая часть был очень доволен

  • @sup5282
    @sup5282 Před 6 měsíci +4

    мало что понимаю, но очень интересно слушать. Атмосфера в студии и манера речи гостя располагает к прослушиванию)

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci +1

      Здорово, что не пасуете перед непонятной информацией. Смотрите и другие выпуски "Битовых масок"!

  • @mr.Ponizovsky
    @mr.Ponizovsky Před 6 měsíci +1

    Отлично! Большое спасибо за выпуск!
    Жду вторую часть

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci +1

      Спасибо вам! Новый выпуск выйдет в январе :)

    • @mr.Ponizovsky
      @mr.Ponizovsky Před 6 měsíci

      @@ultimate_engineer супер, а пока я посмотрю другие видео) кажется там есть серия про "железо" и его программирование

  • @CatExpert1211
    @CatExpert1211 Před 6 měsíci +10

    Хороший канал, интересное интервью. Смотрю магистерский курс С++ на канале Константина с большим удовольствием

  • @taraslitvinenko8651
    @taraslitvinenko8651 Před 2 měsíci

    Спасибо большое, ребята. Успехов вам всем. Очень приятно смотреть и слушать.

    • @ultimate_engineer
      @ultimate_engineer  Před 2 měsíci +1

      Спасибо большое! Если вам понравился гость, то на канале есть также 2 часть выпуска (czcams.com/video/_SIBiSR8rzM/video.html) и доклад Константина с недавнего митапа: czcams.com/video/cK4cMdx9QeQ/video.html

    • @taraslitvinenko8651
      @taraslitvinenko8651 Před 2 měsíci

      @@ultimate_engineer спасибо за ссылки, да я уже посмотрел вторую часть и доклад недавний в первую очередь.

  • @vanhelsing4214
    @vanhelsing4214 Před 6 měsíci +2

    Еее!! Комменты для продвижения!! Вперёёд)

  • @romankrivonogov9474
    @romankrivonogov9474 Před 6 měsíci +4

    Я в процессе профессионального самоопределения, и контент Константина (и материалы "Истового Инженера*) мотивируют развиваться в разработке, несмотря на трудности ❤

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci +2

      Это очень радостно слышать! Желаем удачи на профессиональном пути! Будет сложно, но интересно :)

  • @user-sw6hg7pb1p
    @user-sw6hg7pb1p Před měsícem +1

    ООО это очень крутой дядька, со скином скинхеда)) Ему надо дать государственную премию за его Ютуб канал, именно таких людей которые имеют большой практический опыт мне не хватало в образовании, одни просидевшие на кафедре всю жизнь пердуны с большим чсв.

  • @ruslankhl
    @ruslankhl Před 6 měsíci +1

    Послушал с удовольствием!

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci

      Рады, что понравился выпуск! Если ещё не слушали, то у "Битовых масок" вышло ещё 6 эпизодов подкаста с интересными спикерами ;)

  • @taraslitvinenko8651
    @taraslitvinenko8651 Před 2 měsíci

    Про преподавателей я полностью согласен. Моя учёба давно окончена и не бы связанна с программированием, но у нас были на кафедре преподы которые имели рабочий опыт и это круто, истории, советы и прочие фишки открываются. Но немного взгрустнул с фразы Константина Владимирова

  • @brotherofken
    @brotherofken Před 6 měsíci

    Спасибо за годный хардкорный контент.

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci

      Спасибо вам! Рады, что понравился подкаст!

  • @rake2029
    @rake2029 Před 6 měsíci +17

    Первый раз вижу, чтобы интервьюеры были разбирающимися людьми, а не смузихлебами

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci

      Спасибо, стараемся делать только то, за что не стыдно и создавать действительно полезный контент :)

    • @bookbrain9863
      @bookbrain9863 Před 6 měsíci

      Первый и последний раз походу 😂

  • @yurykorolev
    @yurykorolev Před 6 měsíci +1

    Спасибо

  • @xaoc3932
    @xaoc3932 Před 5 měsíci

    Конечно знаю))

  • @rkc137
    @rkc137 Před 6 měsíci +1

    си плас плас )))
    про то что ядро линукса переписать на плюсах мешает только фанатизм Торвальдса это база
    топ контент ❤

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci

      Спасибо, рады, что понравился выпуск!

    • @alexgorodecky1661
      @alexgorodecky1661 Před 6 měsíci +1

      Это не база, а смех. Rust еще сойдёт более менее

    • @MariaEsenina
      @MariaEsenina Před 6 měsíci +1

      @@alexgorodecky1661 Rust - вот это шутка. От Rust в ядре не матерится только ленивый и это больше смахивает на саботаж и лицемерие.

  • @vitalyl1327
    @vitalyl1327 Před 6 měsíci +2

    А есть еще и GPU, для которых register pressure определяет, сколько параллельных потоков можно исполнять одновременно. Задача тогда существенно усложняется - надо не просто уложиться в, например, 16 регистров доступного адресного пространства, а минимизировать регистры насколько это возможно. Или даже удалить некоторые регистры (rematerialisation) и заменить их повторными вычислениями.

  • @user-bu5yz9pd8e
    @user-bu5yz9pd8e Před 6 měsíci +3

    Экстра лекция бакалаврского курса 😂❤

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci

      Мы тоже радуемся, что удалось договориться с Константином об участии в подкасте! Спасибо, что смотрите!

  • @pompei2
    @pompei2 Před 3 měsíci

    "Я не боюсь когда меня спрашивают, а я ничего не знаю, либо отвечаю полную дичь.... ЯЗЫК ТАКОЙ" - это звучит прикольно!!!

    • @andreypopov6166
      @andreypopov6166 Před 2 měsíci

      ага и кажешься очень умным!

  • @andreykhakimov5588
    @andreykhakimov5588 Před 6 měsíci +3

    Где ссылка на канал Константина Владимирова??!!

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci +2

      Уже стоит в описании :) Спасибо, что смотрите наши выпуски одним из первых! Канал Константина: www.youtube.com/@tilir

    • @andreykhakimov5588
      @andreykhakimov5588 Před 6 měsíci

      @@ultimate_engineer Спасибо! (🤫у меня есть ссылка), просто Елена пообещала, на 57 секунде ролика ;) А как преподаватель, да и уверен, как разработчик, Константин хорош! И это скорее мягко сказано )

  • @apivovarov2
    @apivovarov2 Před 6 měsíci +3

    @9:50 а что за книгу он упомянул? Мучник?

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci +2

      Верно, Steven Muchnick "Advanced Compiler Design and Implementation"

  • @gallok-gv2iy
    @gallok-gv2iy Před 6 měsíci +1

    Не подскажите, что за книга на 9:53

    • @eklepilkina
      @eklepilkina Před 6 měsíci +1

      Steven Muchnick "Advanced Compiler Design and Implementation"

  • @user-hy8qj6nv8q
    @user-hy8qj6nv8q Před 6 měsíci +1

    В таймкоде написано "Все крупные системы должны быть переписаны на С", а гость говорит обратное :D

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci +1

      Видимо, CZcams считает, что это одно и то же :)) потому что в описании у нас стоит С++

    • @astralfoxy1787
      @astralfoxy1787 Před 3 měsíci +1

      Правильное исправление. Ютуб шарит.

  • @JohnJTraston
    @JohnJTraston Před 6 měsíci

    Ну так и шо? Современные процессоры (во всяком случае x86) даже спиллинт переименовывают. Т.е. внутри проца там типа очень много регистров (128-256...) и если мы пишем в пямять а потом читаем оттуда же то это происходит фактически за бесплатно, такая же скорость как и работы с регистрами.

  • @nagibator77779
    @nagibator77779 Před 5 měsíci +1

    Думал, что с jetbrains из РФ ушли топ специалисты по компиляторам, а похоже они все походили из jetbrains, ядро молодцы

  • @champion_of_the_light
    @champion_of_the_light Před 6 měsíci +6

    Человек говорит про фанатизм Торвальдса, и перед этим говорит - "Переписать все крупные системы на C++", смешно. Каждой задаче свой инструмент. А C++ уже должен начать переставать быть языком общего назначения и стать языком спец назначения. Для остального C и Rust. К счастью или сожалению, C++ становится легаси языком.

    • @The604FX
      @The604FX Před 6 měsíci

      Казалось бы, это было что-то наподобие профессионального фразеологизма с долей иронии, а не просто утверждение

    • @MariaEsenina
      @MariaEsenina Před 6 měsíci

      C++ никому ничего не должен). А то, что сейчас корпы насильно стараются пропихнуть Rust в ядро - это вообще саботаж. И да, скажите ведущим высокотехнологичным компаниям причём в разных сферах, что C++ оказывается legacy и посмеются над вами. Все драйверы как писали на C++, так и пишут и писать будут, Rust лезет со своей рекламной компанией, но дальше слов особо дело не движется, далее вся 3D графика - это C++, причём как для проприетарных продуктов nVidia, так и открытых, всё машинное обучение - это C++, то что вам предоставляют юзерспейс на Python - это ничего не значит, а иногда и вредит индустрии. Хорошенькое такое "legacy".

    • @cuniapapa5370
      @cuniapapa5370 Před 5 měsíci

      @@MariaEsenina А чем Rust хуже C++?

    • @dmitriidemenev5258
      @dmitriidemenev5258 Před 5 měsíci

      ​@@cuniapapa5370 Ответ Раст разработчика: всё ещё нет variadic generics (template packs). Но у плюсов гораздо больше проблем, поэтому испытываю меньшую боль в Rust.

  • @ortsaslan
    @ortsaslan Před 2 měsíci

    Неудачные обложки. Есть такая хорошая практика как ставить фото гостя и указывать его имя.

    • @ultimate_engineer
      @ultimate_engineer  Před 2 měsíci

      Нам известны такие практики, но не все инженеры в восторге от фотосессий и хотят видеть своё лицо на обложке :)

    • @ortsaslan
      @ortsaslan Před 2 měsíci

      @@ultimate_engineer вполне может быть)

    • @shatalinator
      @shatalinator Před měsícem

      @@ultimate_engineer Тогда хотя бы имя гостя, а то я видео хотел "скипнуть", не понимая почему оно в предложке всплыло.

    • @ultimate_engineer
      @ultimate_engineer  Před měsícem

      @shatalinator Имя гостя и из какой он компании указано на обложке внизу :)

  • @cuniapapa5370
    @cuniapapa5370 Před 5 měsíci +1

    "Ядро Linux должно быть переписано на C++"
    Столяров: 💀💀💀💀😡😡🤬🤬🤬🤬👺👺👺👹👹👹☠☠☠

  • @user-ne4bd3ry1n
    @user-ne4bd3ry1n Před 6 měsíci +1

    где же патриотизм? Столовка...

    • @ultimate_engineer
      @ultimate_engineer  Před 6 měsíci +3

      Кажется, патриотизм заключается не в этом :)