Выложил лекцию Анастасии Черниковой о практическом внедрении 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💩120👍68🤮68✍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
— —
Вывод типов может потребовать разрешения перегрузки. Но и разрешение перегрузки может потребовать вывода типов. Эти два механизма очень сильно связаны в языке. Перегрузка принципиально мешает выводу…
— —
Вывод типов может потребовать разрешения перегрузки. Но и разрешение перегрузки может потребовать вывода типов. Эти два механизма очень сильно связаны в языке. Перегрузка принципиально мешает выводу…
🔥75👍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👍25❤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👍21🔥12❤2✍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
🔥83🥰17❤15🌭5👍1😁1
Официальное уведомление. Господа, если вы хотите зайти в комментарии и:
(1) Обсудить новый язык который куда лучше С++ и даже уже почти компилируется с помощью llvm/mlir в x86 ассемблер.
(2) Посомневаться в необходимости ISO, стандартов и всякой замшелой бюрократии которая вовсе не нужна молодым и динамичным.
(3) Содержательно ответить по пунктам (1) и (2).
То я могу вам посоветовать для этого другие площадки. Например детские. А тут, извините, вы будете удалены из приличного общества.
#official
(1) Обсудить новый язык который куда лучше С++ и даже уже почти компилируется с помощью llvm/mlir в x86 ассемблер.
(2) Посомневаться в необходимости ISO, стандартов и всякой замшелой бюрократии которая вовсе не нужна молодым и динамичным.
(3) Содержательно ответить по пунктам (1) и (2).
То я могу вам посоветовать для этого другие площадки. Например детские. А тут, извините, вы будете удалены из приличного общества.
#official
😁314❤67🤡36🔥28🤣24👏13😎10🤯5👌4🐳4👨💻1
Вот и наступил сентябрь, начало учебного года.
Каждый год я делаю стримы со своего магистерского и бакалаврского курсов. Этот год не станет исключением.
Ссылки выкладываются в дискорд для либералов: https://discord.gg/w73eVVraKg
И в Max для патриотов: https://max.ru/channel_cpp_lects_rus
Ссылки на стрим постятся до начала лекции, так что вы можете участвовать онлайн в реальном времени. Вопросы по теме лекции из чата стрима зачитываются в аудитории. В основном канале дискорд-сервера обычно помещается организационная информация. Как вы понимаете, я нигде не размещаю рекламу, ничего не монетизирую и т.п. Если вы хотите меня поддержать у меня есть boosty: https://boosty.to/cpp_lects_rus и это единственный официальный способ.
Стримы в этом году будут вестись на rutube, технология опробована и сюрпризов не ожидается. Стримы отличаются от публично выложенных на канале курсов некоторыми обновлениями материала, отсутствием видео и традиционно плохим звуком (с обработкой звука и съёмкой видео я заморачиваюсь только для официальной выкладки), на стримах у меня обычно только экран -- слайды и код. Записи стримов сохраняются и доступны после стрима в том числе доступны записи с прошлых лет.
#official
Каждый год я делаю стримы со своего магистерского и бакалаврского курсов. Этот год не станет исключением.
Ссылки выкладываются в дискорд для либералов: https://discord.gg/w73eVVraKg
И в Max для патриотов: https://max.ru/channel_cpp_lects_rus
Ссылки на стрим постятся до начала лекции, так что вы можете участвовать онлайн в реальном времени. Вопросы по теме лекции из чата стрима зачитываются в аудитории. В основном канале дискорд-сервера обычно помещается организационная информация. Как вы понимаете, я нигде не размещаю рекламу, ничего не монетизирую и т.п. Если вы хотите меня поддержать у меня есть boosty: https://boosty.to/cpp_lects_rus и это единственный официальный способ.
Стримы в этом году будут вестись на rutube, технология опробована и сюрпризов не ожидается. Стримы отличаются от публично выложенных на канале курсов некоторыми обновлениями материала, отсутствием видео и традиционно плохим звуком (с обработкой звука и съёмкой видео я заморачиваюсь только для официальной выкладки), на стримах у меня обычно только экран -- слайды и код. Записи стримов сохраняются и доступны после стрима в том числе доступны записи с прошлых лет.
#official
🎉72❤64🤣31🔥17👍16💊9👎4😁3🕊1
Выложили доклад моего студента и коллеги Саши Романова про рефлексию в C++.
С моей точки зрения, композиционно и содержательно это лучшее что вы можете посмотреть о рефлексии в этом году.
https://www.youtube.com/watch?v=M58nlv0lJr4
00:00 Intro.
02:46 Начало доклада. Немного о макросах.
07:08 Рефлексия, кошачьи уши, сплайсы и template for: самый быстрый тур.
23:58 Паттерны проектирования и их переиспользование.
28:36 Factory на рефлексии
32:48 Observer на рефлексии
43:09 Стирание типов на рефлексии
53:20 Завершение и вопросы
#conference
С моей точки зрения, композиционно и содержательно это лучшее что вы можете посмотреть о рефлексии в этом году.
https://www.youtube.com/watch?v=M58nlv0lJr4
00:00 Intro.
02:46 Начало доклада. Немного о макросах.
07:08 Рефлексия, кошачьи уши, сплайсы и template for: самый быстрый тур.
23:58 Паттерны проектирования и их переиспользование.
28:36 Factory на рефлексии
32:48 Observer на рефлексии
43:09 Стирание типов на рефлексии
53:20 Завершение и вопросы
#conference
YouTube
Александр Романов — Почти прикладная рефлексия: формализуем паттерны программирования на C++26
Подробнее о конференции C++ Russia: https://jrg.su/nbdpQS
— —
Скачать презентацию с сайта — https://jrg.su/3XdaN7
Хочу познакомить зрителей с рефлексией в C++26. Поскольку этот инструмент крайне нов, я предложу свои варианты его применения, а именно формализацию…
— —
Скачать презентацию с сайта — https://jrg.su/3XdaN7
Хочу познакомить зрителей с рефлексией в C++26. Поскольку этот инструмент крайне нов, я предложу свои варианты его применения, а именно формализацию…
🔥50❤14👍13❤🔥5💩2🙏1
Мне начали кидать в личку всякие странные видео из бентосных интернетов, появляющиеся (сейчас в 2026-м) как реакт на моё старое интервью 2024-го года. Вот на это:
https://t.iss.one/cpp_lects_rus/225
Хочется во-первых поздравить их авторов с подключением к интернету. А во вторых хочется объявить первый из серии добрых стримов.
Итак встречайте, добрый стрим №1 пройдёт в среду вечером в 22-00 на бусти. Обсудим безопасные языки. В стриме будет две части. Сначала я в формате образовательного семинара не особо вчитываясь в вопросы разберу что это вообще такое, в чём они безопасные, какие вообще есть и всё такое. Дальше поотвечаю на вопросы. Ну а потом серьёзная часть закончится и я поразбираю видосы, которые мне накидали. И комменты под ними. И личности авторов. Стрим, как я и обещал, будет добрым.
Не пропустите:
https://boosty.to/cpp_lects_rus/streams/video_stream?share=post_link
Для вопросов:
https://www.donationalerts.com/r/cpp_lects_rus
UPD
Запись и слайды доступны тут:
https://boosty.to/cpp_lects_rus/posts/d66e9da6-08e2-414b-8f8f-be8fd0c8787d
#boosty
https://t.iss.one/cpp_lects_rus/225
Хочется во-первых поздравить их авторов с подключением к интернету. А во вторых хочется объявить первый из серии добрых стримов.
Итак встречайте, добрый стрим №1 пройдёт в среду вечером в 22-00 на бусти. Обсудим безопасные языки. В стриме будет две части. Сначала я в формате образовательного семинара не особо вчитываясь в вопросы разберу что это вообще такое, в чём они безопасные, какие вообще есть и всё такое. Дальше поотвечаю на вопросы. Ну а потом серьёзная часть закончится и я поразбираю видосы, которые мне накидали. И комменты под ними. И личности авторов. Стрим, как я и обещал, будет добрым.
Не пропустите:
https://boosty.to/cpp_lects_rus/streams/video_stream?share=post_link
Для вопросов:
https://www.donationalerts.com/r/cpp_lects_rus
UPD
Запись и слайды доступны тут:
https://boosty.to/cpp_lects_rus/posts/d66e9da6-08e2-414b-8f8f-be8fd0c8787d
#boosty
Telegram
C++ and other lectures
Меня очень редко зовут на интервью (и почему-то обычно перед Новым Годом).
На этот раз меня позвали на довольно крупный и популярный канал, за что уважаемому автору канала огромное спасибо.
https://youtu.be/u3uuGrptpBs
В этом интервью я:
* Ностальгирую…
На этот раз меня позвали на довольно крупный и популярный канал, за что уважаемому автору канала огромное спасибо.
https://youtu.be/u3uuGrptpBs
В этом интервью я:
* Ностальгирую…
🔥90👍21😁16❤9❤🔥3
Выложили доклад моего аспиранта и коллеги Владислава Белова @sick_hoof по алиасингу памяти в C++.
https://www.youtube.com/watch?v=lkklIY4580o
00:00 Начало и представление оратора.
01:41 Определение алиасинга, его цена и опыт запрета алиасинга в Fortran.
07:45 Революция языка C: type-based aliasing и его поддержка в компиляторах.
13:31 Алиасинг в C++ на сегодняшний день. Свод правил type punning.
22:50 Привет из прошлого: restrict в C и эффект наблюдателя.
28:02 Попытки добавить в C++ такого рода механизмы.
41:04 Итоги и ответы на вопросы
Мы с ним вместе докладывали на ту же тему на ZCC прошлого года, но тут куда больше интересной информации по C++ части и очень обстоятельный разбор вариантов добавления подобных механизмов в язык.
Очень рекомендую посмотреть. Доклад визуально безупречен. Мне наша деврел написала "выложили твоего котика" ))
Настя Черникова @anastasiya_chernik0va (вы её уже видели на этом канале) как эксперт тоже очень хороша.
#conference
https://www.youtube.com/watch?v=lkklIY4580o
00:00 Начало и представление оратора.
01:41 Определение алиасинга, его цена и опыт запрета алиасинга в Fortran.
07:45 Революция языка C: type-based aliasing и его поддержка в компиляторах.
13:31 Алиасинг в C++ на сегодняшний день. Свод правил type punning.
22:50 Привет из прошлого: restrict в C и эффект наблюдателя.
28:02 Попытки добавить в C++ такого рода механизмы.
41:04 Итоги и ответы на вопросы
Мы с ним вместе докладывали на ту же тему на ZCC прошлого года, но тут куда больше интересной информации по C++ части и очень обстоятельный разбор вариантов добавления подобных механизмов в язык.
Очень рекомендую посмотреть. Доклад визуально безупречен. Мне наша деврел написала "выложили твоего котика" ))
Настя Черникова @anastasiya_chernik0va (вы её уже видели на этом канале) как эксперт тоже очень хороша.
#conference
YouTube
Владислав Белов — Алиасинг памяти в C++: прошлое, настоящее и будущее
Подробнее о конференции C++ Russia: https://jrg.su/nbdpQS
— —
Алиасинг — одна из самых важных и при этом до сих пор недостаточно хорошо понимаемых тем в системном программировании. Проблема контроля алиасинга существует во всех языках программирования, работающих…
— —
Алиасинг — одна из самых важных и при этом до сих пор недостаточно хорошо понимаемых тем в системном программировании. Проблема контроля алиасинга существует во всех языках программирования, работающих…
❤29🔥19👍15👏1😁1🙏1💅1