В этом июле где то в 10-х числах у меня есть шанс побывать на Дальнем Востоке (Владивосток, возможно Находка). Просьба местных обозначиться в чате или у меня в лс и сказать (1) есть ли заинтересованность, (2) когда и где лучше устроить встречу с читателями и (3) можете ли вы помочь с организацией.
#author_event
#author_event
🔥41❤5👍1
Выложил лекцию по std::execution на английском языке. Это последняя, 28-я лекция англоязычного магистерского курса.
https://youtu.be/ZMcUTZppCAw
Финальная лекция магистерского курса по C++ посвящена std::execution -- новой модели исполнения, которая входит в C++26. Мы начнём с давно известных механизмов: параллельных алгоритмов стандартной библиотеки, ручного запуска потоков и std::async. На примере параллельного reduce посмотрим, почему этих средств быстро становится недостаточно, если хочется не просто запустить несколько потоков, но также аккуратно описывать и комбинировать вычисления. После этого перейдём к senders/receivers: разберём, что такое scheduler, sender, receiver и operation state, как работают адапторы и как вычисление может переходить между разными execution resources. Свяжем эту тему с миром GPGPU через bulk-вычисления, посмотрим на рекурсивное порождение асинхронных задач через execution scopes и обсудим разные варианты завершения вычислений. В конце поговорим о связи std::execution с корутинами, отмене задач через environment и ещё раз соберём общую картину: как C++26 предлагает описывать асинхронное и параллельное исполнение без ручного управления потоками.
Timeline
00:00 Введение. Параллельные алгоритмы в стандартной библиотеке.
03:30 Пишем собственный параллельный reduce.
10:05 std::async и его особенности. Замеры производительности.
16:50 Единая абстракция исполнения. Основы std::execution в C++26.
26:59 Концепт sender и адапторы.
35:00 Монадическая природа вычислений и let_value.
40:16 Адаптор bulk: снова заходим в мир GPGPU.
46:05 Параллельный reduce с использованием std::execution.
49:40 Execution scopes: динамическое создание задач. Параллельная сортировка.
54:41 Каналы в sender. Поведение upon_error и upon_stopped. Сигнатуры завершения.
01:02:19 Проверка completion signatures: упражнение в метапрограммировании и рефлексии.
01:06:50 Связь сендеров с корутинами: execution::task.
01:14:40 Снова многопоточная подписка и отмена задач.
01:18:47 Основные концепции ещё раз, список литературы и завершение.
#cpp_postgraduate
https://youtu.be/ZMcUTZppCAw
Финальная лекция магистерского курса по C++ посвящена std::execution -- новой модели исполнения, которая входит в C++26. Мы начнём с давно известных механизмов: параллельных алгоритмов стандартной библиотеки, ручного запуска потоков и std::async. На примере параллельного reduce посмотрим, почему этих средств быстро становится недостаточно, если хочется не просто запустить несколько потоков, но также аккуратно описывать и комбинировать вычисления. После этого перейдём к senders/receivers: разберём, что такое scheduler, sender, receiver и operation state, как работают адапторы и как вычисление может переходить между разными execution resources. Свяжем эту тему с миром GPGPU через bulk-вычисления, посмотрим на рекурсивное порождение асинхронных задач через execution scopes и обсудим разные варианты завершения вычислений. В конце поговорим о связи std::execution с корутинами, отмене задач через environment и ещё раз соберём общую картину: как C++26 предлагает описывать асинхронное и параллельное исполнение без ручного управления потоками.
Timeline
00:00 Введение. Параллельные алгоритмы в стандартной библиотеке.
03:30 Пишем собственный параллельный reduce.
10:05 std::async и его особенности. Замеры производительности.
16:50 Единая абстракция исполнения. Основы std::execution в C++26.
26:59 Концепт sender и адапторы.
35:00 Монадическая природа вычислений и let_value.
40:16 Адаптор bulk: снова заходим в мир GPGPU.
46:05 Параллельный reduce с использованием std::execution.
49:40 Execution scopes: динамическое создание задач. Параллельная сортировка.
54:41 Каналы в sender. Поведение upon_error и upon_stopped. Сигнатуры завершения.
01:02:19 Проверка completion signatures: упражнение в метапрограммировании и рефлексии.
01:06:50 Связь сендеров с корутинами: execution::task.
01:14:40 Снова многопоточная подписка и отмена задач.
01:18:47 Основные концепции ещё раз, список литературы и завершение.
#cpp_postgraduate
YouTube
Lecture 28: The C++ Standard Execution Model (MIPT, 2025–2026)
Master's degree lectures at MIPT on modern C++ in English. Department of Microprocessor Technologies.
The final lecture of the master's level C++ course is dedicated to std::execution, the new execution model entering C++26. We begin with familiar mechanisms:…
The final lecture of the master's level C++ course is dedicated to std::execution, the new execution model entering C++26. We begin with familiar mechanisms:…
❤38🔥33👍14😢1
Выложил лекцию по проблеме рекламации памяти, прочитанную в институте iSpring город Йошкар-Ола (на русском языке).
Youtube:
https://youtu.be/13b5hHwRvVk
Rutube:
https://rutube.ru/video/596ab835ce4cbb1ef4154bc43da58397/
Большое спасибо Алексею Малову (кстати у него есть канал https://youtube.com/@vividbw) и институту iSpring за приглашение, съёмку и монтаж видео.
00:00 Начало. Пример, который мы будем использовать всю лекцию.
03:56 Потоки и гонка за данные.
09:35 Mutex или простота хуже воровства.
12:12 RAII обёртки над mutex.
19:23 Мьютекс это очередь. Концепция read/write lock.
25:51 Сеттинг который мы будем использовать в лекции и первые замеры.
29:14 Убираем в целом блокировки. CAS-циклы.
34:45 Happens before, барьеры и модели памяти.
42:50 Проблема рекламации.
47:30 Атомарный разделяемый указатель и новые замеры.
52:05 C++26: решение проблемы рекламации в стиле RCU и ещё замеры.
01:01:35 C++26: решение проблемы рекламации через Hazard Pointers и ещё замеры.
01:07:55 Список литературы и вопросы.
Youtube:
https://youtu.be/13b5hHwRvVk
Rutube:
https://rutube.ru/video/596ab835ce4cbb1ef4154bc43da58397/
Большое спасибо Алексею Малову (кстати у него есть канал https://youtube.com/@vividbw) и институту iSpring за приглашение, съёмку и монтаж видео.
00:00 Начало. Пример, который мы будем использовать всю лекцию.
03:56 Потоки и гонка за данные.
09:35 Mutex или простота хуже воровства.
12:12 RAII обёртки над mutex.
19:23 Мьютекс это очередь. Концепция read/write lock.
25:51 Сеттинг который мы будем использовать в лекции и первые замеры.
29:14 Убираем в целом блокировки. CAS-циклы.
34:45 Happens before, барьеры и модели памяти.
42:50 Проблема рекламации.
47:30 Атомарный разделяемый указатель и новые замеры.
52:05 C++26: решение проблемы рекламации в стиле RCU и ещё замеры.
01:01:35 C++26: решение проблемы рекламации через Hazard Pointers и ещё замеры.
01:07:55 Список литературы и вопросы.
YouTube
Проблема рекламации памяти и два новых решения в C++26. Лекция в университете iSpring.
Лекция прочитанная весной 2026-го года в городе Йошкар-Ола. Мы начинаем от самых основ и прицельно разбираем разные аспекты проблемы рекламации памяти в многопоточных программах.
Timeline:
00:00 Начало. Пример, который мы будем использовать всю лекцию.
03:56…
Timeline:
00:00 Начало. Пример, который мы будем использовать всю лекцию.
03:56…
❤39👍32🔥9
Немного подзамочного контента для моих уважаемых подписчиков.
Ни для кого не секрет, что мой магистерский курс этого года я записывал на английском языке. Меньше людей знает, что исходно он читался на русском языке, на английский я (нейронкой) до лекции переводил только слайды. Далее я брал другую нейронку, распознавал свой голос с записи лекции на русском, грузил вместе со слайдами в третью нейронку и просил сделать мне подстрочник на английском и с этого подстрочника на английском уже и читал.
И, конечно, я просил нейросеть убрать из этого подстрочника все шутейки, хиханьки, хаханьки, общение с аудиторией и всё остальное. В процессе ещё и правил все ошибки, которые находили на лекциях. Поэтому мой магистерский на английском немного высушен.
Чисто для моей аудитории, готовой, прямо скажем, на многое, выкладываю ссылки на магистерский курс этого года на русском. Предупреждаю: это очень фанатский контент. Не надо даже пробовать его потреблять, если вы привыкли к той лакированной подаче, которую я считаю нормой для своего ютуба.
Это вторая часть выкладки.
Have fun.
Лекции 1-14: https://t.iss.one/cpp_lects_rus/333
Лекция 15. Аллокаторы, часть 1
Лекция 16. Аллокаторы, часть 2
Лекция 17. Умные указатели
Лекция 18. Полиморфизм
Лекция 19. Потоки, часть 1
Лекция 20. Потоки, часть 2
Лекция 21. Очереди
Лекция 22. Атомики, часть 1
Лекция 23. Атомики, часть 2
Лекция 24. Атомики, часть 3
Лекция 25. Корутины, часть 1
Лекция 26. Корутины, часть 2
Лекция 27. SYCL и GPGPU
Лекция 28. Execution
Да, все ссылки на rutube, я стримил туда.
#cpp_postgraduate
Ни для кого не секрет, что мой магистерский курс этого года я записывал на английском языке. Меньше людей знает, что исходно он читался на русском языке, на английский я (нейронкой) до лекции переводил только слайды. Далее я брал другую нейронку, распознавал свой голос с записи лекции на русском, грузил вместе со слайдами в третью нейронку и просил сделать мне подстрочник на английском и с этого подстрочника на английском уже и читал.
И, конечно, я просил нейросеть убрать из этого подстрочника все шутейки, хиханьки, хаханьки, общение с аудиторией и всё остальное. В процессе ещё и правил все ошибки, которые находили на лекциях. Поэтому мой магистерский на английском немного высушен.
Чисто для моей аудитории, готовой, прямо скажем, на многое, выкладываю ссылки на магистерский курс этого года на русском. Предупреждаю: это очень фанатский контент. Не надо даже пробовать его потреблять, если вы привыкли к той лакированной подаче, которую я считаю нормой для своего ютуба.
Это вторая часть выкладки.
Have fun.
Лекции 1-14: https://t.iss.one/cpp_lects_rus/333
Лекция 15. Аллокаторы, часть 1
Лекция 16. Аллокаторы, часть 2
Лекция 17. Умные указатели
Лекция 18. Полиморфизм
Лекция 19. Потоки, часть 1
Лекция 20. Потоки, часть 2
Лекция 21. Очереди
Лекция 22. Атомики, часть 1
Лекция 23. Атомики, часть 2
Лекция 24. Атомики, часть 3
Лекция 25. Корутины, часть 1
Лекция 26. Корутины, часть 2
Лекция 27. SYCL и GPGPU
Лекция 28. Execution
Да, все ссылки на rutube, я стримил туда.
#cpp_postgraduate
Telegram
C++ and other lectures
Немного подзамочного контента для моих уважаемых подписчиков.
Ни для кого не секрет, что мой магистерский курс этого года я записывал на английском языке. Меньше людей знает, что исходно он читался на русском языке, на английский я (нейронкой) до лекции…
Ни для кого не секрет, что мой магистерский курс этого года я записывал на английском языке. Меньше людей знает, что исходно он читался на русском языке, на английский я (нейронкой) до лекции…
🔥188❤71👍22🙏3😁1👾1
Всем привет. Выложил главы 2.1 и 2.2 моей книги про C++
https://boosty.to/cpp_lects_rus/posts/26f430cd-22b9-4d79-9a00-97a0ade31fb5
Также обновил посты с предыдущими главами. Подписчики и те, кто уже купил книгу, могут бесплатно скачать апдейт и я рекомендую это сделать, там есть изменения.
https://boosty.to/cpp_lects_rus/posts/eeee2a76-c1be-46e5-a248-c8c1eb62fae8
https://boosty.to/cpp_lects_rus/posts/5029d95f-831c-4262-9002-19ce8ea5208a
Спасибо всем моим подписчикам на boosty за поддержку которая вдохновляет меня работать над этой книгой и подписчикам уровня principal и выше за участие в ревью.
Если вы ещё не подписались, рассмотрите возможность это сделать. Ну и конечно буду рад отзывам комментариям и предложениям и на boosty и здесь в комментариях к посту.
#cppbook #boosty
https://boosty.to/cpp_lects_rus/posts/26f430cd-22b9-4d79-9a00-97a0ade31fb5
Также обновил посты с предыдущими главами. Подписчики и те, кто уже купил книгу, могут бесплатно скачать апдейт и я рекомендую это сделать, там есть изменения.
https://boosty.to/cpp_lects_rus/posts/eeee2a76-c1be-46e5-a248-c8c1eb62fae8
https://boosty.to/cpp_lects_rus/posts/5029d95f-831c-4262-9002-19ce8ea5208a
Спасибо всем моим подписчикам на boosty за поддержку которая вдохновляет меня работать над этой книгой и подписчикам уровня principal и выше за участие в ревью.
Если вы ещё не подписались, рассмотрите возможность это сделать. Ну и конечно буду рад отзывам комментариям и предложениям и на boosty и здесь в комментариях к посту.
#cppbook #boosty
👍55🔥22❤5🤝2🙏1
Встреча во Владивостоке пройдет 12 июля на кампусе ДВФУ. Посетить может кто угодно не только студенты. Регистрация открыта ))
🔥27❤2
Forwarded from Andrei Sushchenko
🔔 Встреча с Константином Владимировым — автором блога @cpp_lects_rus
Друзья, у нас отличные новости!
12 июля в 16:00 состоится встреча с Константином Владимировым — преподавателем МФТИ, автором книги «Оптимизирующие компиляторы. Структура и алгоритмы» и создателем популярного Telegram-канала «C++ and other lectures».
Константин более 15 лет работает в области компиляторных технологий, возглавлял рабочую группу по разработке компилятора для Intel, а сейчас занимается компилятором для RISC-V в компании Syntacore. На его YouTube-канале — сотни лекций и докладов по C++, а сам блог @cpp_lects_rus собрал уже тысячи подписчиков.
На встрече вы сможете задать вопросы, обсудить актуальные темы разработки и узнать много нового из первых рук.
🗓 Когда: 12 июля в 16:00
📍 Где: Кампус ДВФУ, Корпус D, 7 уровень, ауд. D738
Для участия обязательна предварительная регистрация:
https://forms.yandex.ru/cloud/6a3511c79029026df82c8c4d
✅Организатор площадки: департамент математического и компьютерного моделирования ДВФУ
❓По оргвопросам можно обращаться к директору департамента математического и компьютерного моделирования ДВФУ Андрею Сущенко @AndreiSushchenko
Друзья, у нас отличные новости!
12 июля в 16:00 состоится встреча с Константином Владимировым — преподавателем МФТИ, автором книги «Оптимизирующие компиляторы. Структура и алгоритмы» и создателем популярного Telegram-канала «C++ and other lectures».
Константин более 15 лет работает в области компиляторных технологий, возглавлял рабочую группу по разработке компилятора для Intel, а сейчас занимается компилятором для RISC-V в компании Syntacore. На его YouTube-канале — сотни лекций и докладов по C++, а сам блог @cpp_lects_rus собрал уже тысячи подписчиков.
На встрече вы сможете задать вопросы, обсудить актуальные темы разработки и узнать много нового из первых рук.
🗓 Когда: 12 июля в 16:00
📍 Где: Кампус ДВФУ, Корпус D, 7 уровень, ауд. D738
Для участия обязательна предварительная регистрация:
https://forms.yandex.ru/cloud/6a3511c79029026df82c8c4d
✅Организатор площадки: департамент математического и компьютерного моделирования ДВФУ
❓По оргвопросам можно обращаться к директору департамента математического и компьютерного моделирования ДВФУ Андрею Сущенко @AndreiSushchenko
🔥44❤8
Выложил лекцию по llvm-snippy. Настало время рассказать о моём лучшем проекте на моём канале.
Английская версия: https://youtu.be/gomtQMGOFF8
Русская версия и качество не хуже: https://rutube.ru/video/18e1a8bfca1d9e2979d8b8a631e68207
Документация: https://llvm-snippy.github.io/llvm-snippy
#snippy
Английская версия: https://youtu.be/gomtQMGOFF8
Русская версия и качество не хуже: https://rutube.ru/video/18e1a8bfca1d9e2979d8b8a631e68207
Документация: https://llvm-snippy.github.io/llvm-snippy
#snippy
YouTube
LLVM-snippy: An Instruction Sequence Generator. Part 1: Overview
In this lecture, I introduce llvm-snippy -- an LLVM-based instruction sequence generator for low-level verification. We start with the basic problem: how to verify processor models against an ISA specification. Then we look at why ad hoc random instruction…
❤🔥31👍27🔥12🤯3❤2👎2
У llvm-snippy теперь есть DOI.
Мы добавили в репозиторий citation metadata и заархивировали проект на Zenodo:
https://doi.org/10.5281/zenodo.20969925
Если вы используете llvm-snippy в статьях, отчётах, диссертациях, прототипах, исследовательских проектах или просто в воспроизводимых экспериментах, пожалуйста, ссылайтесь на него.
Это важно не только как формальная благодарность авторам. Для нас, как команды разработки, ссылки -- это способ понять, где и как инструмент реально используется. Так мы сможем находить ваши работы, смотреть на новые сценарии применения, оценивать результаты и, возможно, что-то забирать обратно в развитие проекта.
Репозиторий:
https://github.com/LLVM-Snippy/llvm-snippy
Документация:
https://llvm-snippy.github.io/llvm-snippy
#snippy #official
Мы добавили в репозиторий citation metadata и заархивировали проект на Zenodo:
https://doi.org/10.5281/zenodo.20969925
Если вы используете llvm-snippy в статьях, отчётах, диссертациях, прототипах, исследовательских проектах или просто в воспроизводимых экспериментах, пожалуйста, ссылайтесь на него.
Это важно не только как формальная благодарность авторам. Для нас, как команды разработки, ссылки -- это способ понять, где и как инструмент реально используется. Так мы сможем находить ваши работы, смотреть на новые сценарии применения, оценивать результаты и, возможно, что-то забирать обратно в развитие проекта.
Репозиторий:
https://github.com/LLVM-Snippy/llvm-snippy
Документация:
https://llvm-snippy.github.io/llvm-snippy
#snippy #official
Zenodo
LLVM-snippy
LLVM-snippy is an LLVM-based instruction sequence generator for low-level verification. It generates randomized machine-code test programs from configurable inputs and reuses LLVM target descriptions and code-generation infrastructure. The project is primarily…
👍49🔥16❤6👏1
Выложил лекцию Анастасии Черниковой о практическом внедрении llvm-snippy в верификацию аппаратуры на примере открытого RISC-V ядра Ibex.
https://youtu.be/fSsq5mm3I40
Эта лекция -- настоящее путешествие по применению llvm-snippy в живой DV-инфраструктуре. Она затрагивает вопросы: как встроиться в существующий маршрут с riscv-dv, как написать хороший враппер и как доработать загрузчик и обработчики прерываний. Всё изложение построено вокруг поэтапной доработки сценариев генерации ради достижения функционального покрытия.
Лекцию можно смотреть и отдельно от первой части: весь необходимый контекст даётся по ходу. Но вместе они хорошо показывают две стороны llvm-snippy: внутреннее устройство инструмента и его практическое применение в реальной задаче верификации.
Русскоязычный вариант: https://rutube.ru/video/27414410f66e3d36e4733c9390062304
#snippy
https://youtu.be/fSsq5mm3I40
Эта лекция -- настоящее путешествие по применению llvm-snippy в живой DV-инфраструктуре. Она затрагивает вопросы: как встроиться в существующий маршрут с riscv-dv, как написать хороший враппер и как доработать загрузчик и обработчики прерываний. Всё изложение построено вокруг поэтапной доработки сценариев генерации ради достижения функционального покрытия.
Лекцию можно смотреть и отдельно от первой части: весь необходимый контекст даётся по ходу. Но вместе они хорошо показывают две стороны llvm-snippy: внутреннее устройство инструмента и его практическое применение в реальной задаче верификации.
Русскоязычный вариант: https://rutube.ru/video/27414410f66e3d36e4733c9390062304
#snippy
YouTube
LLVM-snippy: An Instruction Sequence Generator. Part 2: Ibex
This lecture by Anastaiya Chernikova is a real journey through applying llvm-snippy in a live DV infrastructure. It covers questions such as how to integrate into an existing flow with riscv-dv, how to write a good wrapper, and how to improve the loader and…
👍44❤21🔥16❤🔥3🤯1😍1
Сделал свой канал в Max публичным.
Теперь буду туда всё дублировать:
https://max.ru/channel_cpp_lects_rus
И появились комментарии.
#official
Теперь буду туда всё дублировать:
https://max.ru/channel_cpp_lects_rus
И появились комментарии.
#official
MAX
C++ and other lectures
Педагогический канал для выкладки записей лекций и стримов
👎219💩119🤮68👍67✍14🔥14❤12🗿7🥱6🫡3🦄2
Выложили моё видео на C++ Russia 2026, посвящённое выводу типов, его тонкой связи с перегрузкой и некоторым моим мечтам о языке.
https://youtu.be/ebyXav1JAEQ?is=rAumvFRI4sFTRFPQ
00:00 Intro: немного болтовни
03:20 Начало. Напоминаю про семантические процессы
06:10 Мечта про инференс в стиле Хиндли-Милнера и как перегрузка ломает унификацию.
11:58 Почему мы любим перегрузку и как мы пишем множества перегрузки?
16:54 Сложность разрешения перегрузки: частичный порядок.
24:28 Перегрузка связана с выводом типов. Правила одношаговой унификации (дедукции) типов.
29:24 Немного про CTAD и пара безумных примеров.
35:28 Мечта про вывод по всем путям. Комбинаторные взырывы и non-deduced context.
38:35 Мечта про "Семантически неограниченный C++".
42:04 Раскрытие секрета почему у нас всё так, как оно есть. И дальше вопросы.
Слайды: https://sourceforge.net/projects/cpp-lects-rus/files/conference-talks/deduction.pdf/download
#conference
https://youtu.be/ebyXav1JAEQ?is=rAumvFRI4sFTRFPQ
00:00 Intro: немного болтовни
03:20 Начало. Напоминаю про семантические процессы
06:10 Мечта про инференс в стиле Хиндли-Милнера и как перегрузка ломает унификацию.
11:58 Почему мы любим перегрузку и как мы пишем множества перегрузки?
16:54 Сложность разрешения перегрузки: частичный порядок.
24:28 Перегрузка связана с выводом типов. Правила одношаговой унификации (дедукции) типов.
29:24 Немного про CTAD и пара безумных примеров.
35:28 Мечта про вывод по всем путям. Комбинаторные взырывы и non-deduced context.
38:35 Мечта про "Семантически неограниченный C++".
42:04 Раскрытие секрета почему у нас всё так, как оно есть. И дальше вопросы.
Слайды: https://sourceforge.net/projects/cpp-lects-rus/files/conference-talks/deduction.pdf/download
#conference
YouTube
Константин Владимиров — Перегрузка и вывод: проблемы жизни вместе
Подробнее о конференции C++ Russia: https://jrg.su/nbdpQS
— —
Вывод типов может потребовать разрешения перегрузки. Но и разрешение перегрузки может потребовать вывода типов. Эти два механизма очень сильно связаны в языке. Перегрузка принципиально мешает выводу…
— —
Вывод типов может потребовать разрешения перегрузки. Но и разрешение перегрузки может потребовать вывода типов. Эти два механизма очень сильно связаны в языке. Перегрузка принципиально мешает выводу…
🔥73👍27❤21❤🔥1🙏1
Всем привет. Отчётный стрим на boosty проведу в воскресенье, 26 июля в 20 по Москве.
https://boosty.to/cpp_lects_rus
Уровень доступа: студент и выше.
Обсудим прогресс по книге, прошедшую конференцию C++ Russia, предстоящую Zero Cost Conf и многое другое.
#boosty
https://boosty.to/cpp_lects_rus
Уровень доступа: студент и выше.
Обсудим прогресс по книге, прошедшую конференцию C++ Russia, предстоящую Zero Cost Conf и многое другое.
#boosty
👍34❤13🔥5❤🔥1🥰1🙏1
К слову о разговорных жанрах. Выложили интервью со мной на C++ Russia. Вроде неплохо получилось.
https://youtu.be/jeX96GPYSlI?is=kwLq3K1Qtvy64oE1
#conference
https://youtu.be/jeX96GPYSlI?is=kwLq3K1Qtvy64oE1
#conference
YouTube
Интервью с Константином Владимировым
Подробнее о конференции C++ Russia: https://jrg.su/nbdpQS
— —
Говорим о компиляторах, практике и RISC-V
Спикер: Константин Владимиров
Ведущий: Виталий Аксенов
— —
Говорим о компиляторах, практике и RISC-V
Спикер: Константин Владимиров
Ведущий: Виталий Аксенов
🔥66👍30❤13🐳2👏1🙏1
И снова пятничный зачилл.
Подумайте вот о таком коде. Сначала не открывая годболт. Что скажете?
Теперь откройте ссылку и сверьте ощущения.
https://godbolt.org/z/6rfGzx991
Кто прав — gcc или clang? Или... оба? ))) Ссылки на стандарт обязательны. За нейронку — штрафные баллы ))
Пример восхитителен не глубокими причинами в стандарте, а тем насколько всё тупо. В общем смешной кейс на пятничный вечер.
#questions
Подумайте вот о таком коде. Сначала не открывая годболт. Что скажете?
struct T { const int &p; };
void foo() { T t{0}; } // ???
void bar() { T t(0); } // ???Теперь откройте ссылку и сверьте ощущения.
https://godbolt.org/z/6rfGzx991
Кто прав — gcc или clang? Или... оба? ))) Ссылки на стандарт обязательны. За нейронку — штрафные баллы ))
Пример восхитителен не глубокими причинами в стандарте, а тем насколько всё тупо. В общем смешной кейс на пятничный вечер.
#questions
🥴25❤14🤔3❤🔥1👏1🎉1
Выступил на C++ ZCC. Видео выложу по мере появления. А пока мне тут скинули бинго по моим докладам на конференциях.
Не знаю только при чем тут userver.
#official
Не знаю только при чем тут userver.
#official
👍30❤9
Выложили наш с Лизой доклад на ZCC. Спасибо организаторам за оперативность.
https://youtu.be/ohYtMHBXLvM?is=lwvD3swa1fLQOPff
00:00 Начало и немного о мире стабильного ABI: немного C и ассемблера
10:35 Про ABI в C++ и генерализованную перегрузку сущностей
16:02 Появление Лизы и много компиляторной магии
35:20 Возвращение меня и история про static chain register
40:10 Ответы на вопросы.
#conference
https://youtu.be/ohYtMHBXLvM?is=lwvD3swa1fLQOPff
00:00 Начало и немного о мире стабильного ABI: немного C и ассемблера
10:35 Про ABI в C++ и генерализованную перегрузку сущностей
16:02 Появление Лизы и много компиляторной магии
35:20 Возвращение меня и история про static chain register
40:10 Ответы на вопросы.
#conference
YouTube
Что C++-программист должен знать про ABI / Константин Владимиров и Елизавета Носкова
На конференции Back to Back выступили коллеги из Синтакора: Константин Владимиров, начальник отдела компиляторов и средств разработки, и Елизавета Носкова, старший инженер-программист.
Ребята посвятили свой доклад тонким и неочевидным вопросам ABI: точно…
Ребята посвятили свой доклад тонким и неочевидным вопросам ABI: точно…
🔥40👍24❤10🙏1🥴1
Выложили выступление на C++ Russia моего коллеги Юлия Тарасова.
https://youtu.be/Zrwe4vCzvbM
Юлий рассказывает про std::simd
00:00 Начало. Опрос про векторные интринсики, язык боли и язык страданий.
06:00 Автовекторизация в компиляторе
12:05 Абстрагирующие библиотеки и std::simd
18:35 Интеграция со стандартной библиотекой и выравнивание
23:15 Время некоторых конкретных замеров
30:22 Ограничения std::simd и альтернативы на примере ISPC
34:00 Выводы и ответы на вопросы
#conference
https://youtu.be/Zrwe4vCzvbM
Юлий рассказывает про std::simd
00:00 Начало. Опрос про векторные интринсики, язык боли и язык страданий.
06:00 Автовекторизация в компиляторе
12:05 Абстрагирующие библиотеки и std::simd
18:35 Интеграция со стандартной библиотекой и выравнивание
23:15 Время некоторых конкретных замеров
30:22 Ограничения std::simd и альтернативы на примере ISPC
34:00 Выводы и ответы на вопросы
#conference
YouTube
Векторизация в C++: от ассемблерных вставок к переносимой производительности со std::simd
Подробнее о конференции C++ Russia: https://jrg.su/nbdpQS
— —
Скачать презентацию с сайта — https://jrg.su/qzX49M
Хватит ли вам терпения копировать код, заменяя _mm256 на _mm512? Надоело гадать, справится ли автовекторизатор с вашим циклом? Разработка векторизованного…
— —
Скачать презентацию с сайта — https://jrg.su/qzX49M
Хватит ли вам терпения копировать код, заменяя _mm256 на _mm512? Надоело гадать, справится ли автовекторизатор с вашим циклом? Разработка векторизованного…
❤🔥32👍19🔥12✍1❤1
Чем заняться вечером и на выходных? Конечно чтением книги по C++. Я как раз выложил главы 2.3 и 2.4
https://boosty.to/cpp_lects_rus/posts/0b557d7e-d4a2-4d30-881a-c8ea704d67ba
Спасибо всем моим подписчикам на boosty за поддержку которая вдохновляет меня работать над этой книгой и подписчикам уровня principal и выше за участие в ревью.
Я, между прочим, суммарно написал уже больше, чем моя прошлая книга по компиляторам и написал куда быстрее. Всё благодаря вам.
Если вы ещё не подписались, рассмотрите возможность это сделать или повысить ваш уровень подписки. Ну и конечно буду рад отзывам комментариям и предложениям и на boosty и здесь в комментариях к посту.
#cppbook #boosty
https://boosty.to/cpp_lects_rus/posts/0b557d7e-d4a2-4d30-881a-c8ea704d67ba
Спасибо всем моим подписчикам на boosty за поддержку которая вдохновляет меня работать над этой книгой и подписчикам уровня principal и выше за участие в ревью.
Я, между прочим, суммарно написал уже больше, чем моя прошлая книга по компиляторам и написал куда быстрее. Всё благодаря вам.
Если вы ещё не подписались, рассмотрите возможность это сделать или повысить ваш уровень подписки. Ну и конечно буду рад отзывам комментариям и предложениям и на boosty и здесь в комментариях к посту.
#cppbook #boosty
🔥77🥰17❤12🌭5😁1