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

Поділитися
Вставка
  • Опубліковано 2 чер 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образование
  • Наука та технологія

КОМЕНТАРІ • 64

  • @Ol5xHd0
    @Ol5xHd0 17 днів тому +1

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

  • @user-fn8qh2md3i
    @user-fn8qh2md3i 5 місяців тому +11

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому

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

  • @user-ft3xw2kg9u
    @user-ft3xw2kg9u 5 місяців тому +7

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

  • @CatExpert1211
    @CatExpert1211 5 місяців тому +10

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

  • @MikhailGoncharov-tl4cr
    @MikhailGoncharov-tl4cr 2 місяці тому +1

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

  • @sup5282
    @sup5282 5 місяців тому +4

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому +1

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

  • @mr.Ponizovsky
    @mr.Ponizovsky 5 місяців тому +1

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому +1

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

    • @mr.Ponizovsky
      @mr.Ponizovsky 5 місяців тому

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

  • @rake2029
    @rake2029 5 місяців тому +17

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому

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

    • @bookbrain9863
      @bookbrain9863 5 місяців тому

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

  • @taraslitvinenko8651
    @taraslitvinenko8651 Місяць тому

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

    • @ultimate_engineer
      @ultimate_engineer  Місяць тому +1

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

    • @taraslitvinenko8651
      @taraslitvinenko8651 Місяць тому

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

  • @vanhelsing4214
    @vanhelsing4214 5 місяців тому +2

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

  • @ruslankhl
    @ruslankhl 5 місяців тому +1

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому

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

  • @taraslitvinenko8651
    @taraslitvinenko8651 Місяць тому

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

  • @romankrivonogov9474
    @romankrivonogov9474 5 місяців тому +4

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому +2

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

  • @brotherofken
    @brotherofken 5 місяців тому

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому

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

  • @yurykorolev
    @yurykorolev 5 місяців тому +1

    Спасибо

  • @andreykhakimov5588
    @andreykhakimov5588 5 місяців тому +3

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому +2

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

    • @andreykhakimov5588
      @andreykhakimov5588 5 місяців тому

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

  • @apivovarov2
    @apivovarov2 5 місяців тому +3

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому +2

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

  • @rkc137
    @rkc137 5 місяців тому +1

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому

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

    • @alexgorodecky1661
      @alexgorodecky1661 5 місяців тому +1

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

    • @MariaEsenina
      @MariaEsenina 5 місяців тому +1

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

  • @xaoc3932
    @xaoc3932 5 місяців тому

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

  • @user-bu5yz9pd8e
    @user-bu5yz9pd8e 5 місяців тому +3

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому

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

  • @vitalyl1327
    @vitalyl1327 5 місяців тому +1

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

  • @gallok-gv2iy
    @gallok-gv2iy 5 місяців тому +1

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

    • @eklepilkina
      @eklepilkina 5 місяців тому +1

      Steven Muchnick "Advanced Compiler Design and Implementation"

  • @user-sw6hg7pb1p
    @user-sw6hg7pb1p 21 день тому

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

  • @pompei2
    @pompei2 2 місяці тому

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

    • @andreypopov6166
      @andreypopov6166 Місяць тому

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

  • @JohnJTraston
    @JohnJTraston 5 місяців тому

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

  • @user-hy8qj6nv8q
    @user-hy8qj6nv8q 5 місяців тому +1

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому +1

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

    • @astralfoxy1787
      @astralfoxy1787 2 місяці тому +1

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

  • @nagibator77779
    @nagibator77779 4 місяці тому +1

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

  • @ortsaslan
    @ortsaslan Місяць тому

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

    • @ultimate_engineer
      @ultimate_engineer  Місяць тому

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

    • @ortsaslan
      @ortsaslan Місяць тому

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

    • @shatalinator
      @shatalinator 8 днів тому

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

    • @ultimate_engineer
      @ultimate_engineer  5 днів тому

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

  • @champion_of_the_light
    @champion_of_the_light 5 місяців тому +6

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

    • @The604FX
      @The604FX 5 місяців тому

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

    • @MariaEsenina
      @MariaEsenina 5 місяців тому

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

    • @cuniapapa5370
      @cuniapapa5370 4 місяці тому

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

    • @dmitriidemenev5258
      @dmitriidemenev5258 4 місяці тому

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

  • @cuniapapa5370
    @cuniapapa5370 4 місяці тому +1

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

  • @user-ne4bd3ry1n
    @user-ne4bd3ry1n 5 місяців тому +1

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

    • @ultimate_engineer
      @ultimate_engineer  5 місяців тому +3

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