Ещё одно дополнительное занятие, на этот раз по основам сборки. Это собственно не семинар. Я попросил на вечер лекционную аудиторию и это больше мой любимый лекционный формат.
https://youtu.be/KPlVqXsXKVA
Мы начнём с разминки в виде анализа зависимостей между файлами. Очень быстро пройдя первый наивный способ собирать скриптом, мы за час напишем три версии makefiles возрастающей сложности. Ну а в конце нас ждёт немного cmake.
Я немного подумал и не стал ничего вырезать, хотя там есть пара моментов которые я обычно вырезаю т.к. они не предусмотрены сценарием занятия (внезапные проблемы, глитчи, отладка в реальном времени). Тут вы сможете почувствовать себя на настоящей не слишком отредактированной лекции.
#c_graduate
https://youtu.be/KPlVqXsXKVA
Мы начнём с разминки в виде анализа зависимостей между файлами. Очень быстро пройдя первый наивный способ собирать скриптом, мы за час напишем три версии makefiles возрастающей сложности. Ну а в конце нас ждёт немного cmake.
Я немного подумал и не стал ничего вырезать, хотя там есть пара моментов которые я обычно вырезаю т.к. они не предусмотрены сценарием занятия (внезапные проблемы, глитчи, отладка в реальном времени). Тут вы сможете почувствовать себя на настоящей не слишком отредактированной лекции.
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake).
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
У студентов в самом разгаре проекты и настало время познакомиться с системами сборки. Мы начнём с разминки в виде анализа зависимостей между файлами. Очень быстро пройдя первый наивный…
У студентов в самом разгаре проекты и настало время познакомиться с системами сборки. Мы начнём с разминки в виде анализа зависимостей между файлами. Очень быстро пройдя первый наивный…
🔥138👍34❤10🎉1🫡1
Подводим итоги конкурса нейросетей.
30 апреля 2023 года я объявил конкурс нейросетей на лучшую картинку по запросу.
https://t.me/cpp_lects_rus/99
Убедительную победу в конкурсе нейросетей одержала человек Даша https://t.me/dariaemacs чью картинку я в итоге и использовал в новой пачке слайдов к лекциям. Впрочем, в том посте были и довольно милые варианты.
У Даши тоже есть блог по программированию и подписчиков там почти как у меня https://youtube.com/@DariaEmacs
А рисование - это её хобби, работы можно посмотреть тут https://www.livemaster.ru/dariaemacs/category/205?v=0&sortitems=0&cid=0 (мне показались отличными).
#llm #questions
30 апреля 2023 года я объявил конкурс нейросетей на лучшую картинку по запросу.
https://t.me/cpp_lects_rus/99
Убедительную победу в конкурсе нейросетей одержала человек Даша https://t.me/dariaemacs чью картинку я в итоге и использовал в новой пачке слайдов к лекциям. Впрочем, в том посте были и довольно милые варианты.
У Даши тоже есть блог по программированию и подписчиков там почти как у меня https://youtube.com/@DariaEmacs
А рисование - это её хобби, работы можно посмотреть тут https://www.livemaster.ru/dariaemacs/category/205?v=0&sortitems=0&cid=0 (мне показались отличными).
#llm #questions
😁38🔥35👍15❤13🍌1
Наконец-то выложили в открытый доступ мой доклад на прошлогодней C++Russia. Не прошло и года. Подписчики моего телеграм-канала уже видели его по ссылке в посте https://t.me/cpp_lects_rus/112, но, кажется, пришло время пересмотреть и накидать лайков ))
https://www.youtube.com/watch?v=lc3UkIZ4zOY&t=110s
К слову, я также выступаю на C++Russia в этом году: 2 июня в 16-30 https://cppconf.ru/en/schedule/days/#day-2
Мой доклад будет продолжением прошлого: мы погрузимся в философию языка (как естественного так и языка C++). С нами будут Бертран Рассел и самое большое и самое недооценённое изменение в C++23.
#conference
https://www.youtube.com/watch?v=lc3UkIZ4zOY&t=110s
К слову, я также выступаю на C++Russia в этом году: 2 июня в 16-30 https://cppconf.ru/en/schedule/days/#day-2
Мой доклад будет продолжением прошлого: мы погрузимся в философию языка (как естественного так и языка C++). С нами будут Бертран Рассел и самое большое и самое недооценённое изменение в C++23.
#conference
🔥106😎11👍8❤4🦄3
Выложил первую часть последнего логического семинара, посвящённого в целом научным вычислениям.
https://youtu.be/FXzlzyQQ90c
На этом занятии мы разберёмся с матрицами, линейным программированием, захватим библиотеки BLAS и LAPACK и познакомимся с солверами на примере COIN-OR Linear Programming Solver. Я прямо предчувствую как меня будут критиковать за некоторый советский (а некоторые скажут: антисоветский) окрас второй части семинара. Ничего не поделать. Я как обычно постарался минимизировать политические присадки, но тут они полезны для усвояемости материала. Да и речь идёт о делах давно минувших дней.
#c_graduate
https://youtu.be/FXzlzyQQ90c
На этом занятии мы разберёмся с матрицами, линейным программированием, захватим библиотеки BLAS и LAPACK и познакомимся с солверами на примере COIN-OR Linear Programming Solver. Я прямо предчувствую как меня будут критиковать за некоторый советский (а некоторые скажут: антисоветский) окрас второй части семинара. Ничего не поделать. Я как обычно постарался минимизировать политические присадки, но тут они полезны для усвояемости материала. Да и речь идёт о делах давно минувших дней.
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Семинар 8.1. Матрицы и линейное программирование.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы начинаем последний логический семинар, посвящённый научным вычислениям. Мы разберёмся с матрицами, линейным программированием, захватим библиотеки BLAS и LAPACK…
На этом занятии мы начинаем последний логический семинар, посвящённый научным вычислениям. Мы разберёмся с матрицами, линейным программированием, захватим библиотеки BLAS и LAPACK…
🔥57👍20❤5🍓2😱1🤡1
В тему последнего семинара по C, но расширяя её на C++, мой уважаемый подписчик @A_A_Arg задаёт вопросы, в равной степени интересные и для меня тоже так что хочется их вынести на общее обсуждение.
(1) Каковы шансы, что std::linalg попадет в состав стандартной библиотеки C++26, и хорошо ли это?
(2) Что сейчас считается лучшим пакетом на C++ для линейной алгебры (например, в отношении скорости и встроенных возможностей распараллеливания)?
Если на канале есть специалисты, поделитесь пожалуйста со всеми.
#questions
(1) Каковы шансы, что std::linalg попадет в состав стандартной библиотеки C++26, и хорошо ли это?
(2) Что сейчас считается лучшим пакетом на C++ для линейной алгебры (например, в отношении скорости и встроенных возможностей распараллеливания)?
Если на канале есть специалисты, поделитесь пожалуйста со всеми.
#questions
🤔22❤8🔥5👍1🥱1
Выложил вторую часть восьмого семинара
https://youtu.be/Yp-rN_AZVSI
В основном она посвящена решению уравнений.
Мы начнём с того, что рассмотрим разнообразные сложности и ловушки плавающих чисел. Далее мы займёмся нахождением корней уравнений: сначала рассмотрим методы в которых надо сохранять брекетинг корня, потом уйдём от них в неизвестность. Ну и в конце нас ждёт применение метода Ньютона для вычисления функций, разгадка магического инверсного корня, правила работы с комплексными числами и немного красоты в виде всяких фракталов.
https://youtu.be/Yp-rN_AZVSI
В основном она посвящена решению уравнений.
Мы начнём с того, что рассмотрим разнообразные сложности и ловушки плавающих чисел. Далее мы займёмся нахождением корней уравнений: сначала рассмотрим методы в которых надо сохранять брекетинг корня, потом уйдём от них в неизвестность. Ну и в конце нас ждёт применение метода Ньютона для вычисления функций, разгадка магического инверсного корня, правила работы с комплексными числами и немного красоты в виде всяких фракталов.
YouTube
Практика языка C (МФТИ, 2023-2024). Семинар 8.2. Решение уравнений и вычисление функций.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
Вторая часть восьмого семинара посвящена решению уравнений. Мы начнём с того, что рассмотрим разнообразные сложности и ловушки плавающих чисел. Далее мы займёмся нахождением корней…
Вторая часть восьмого семинара посвящена решению уравнений. Мы начнём с того, что рассмотрим разнообразные сложности и ловушки плавающих чисел. Далее мы займёмся нахождением корней…
🔥90👍14❤13💔1
Выложил дополнение к восьмому семинару, не обязательное, но мне кажется милым и интересным.
https://youtu.be/Y_2uSYwQdtU
Мы поговорим про использование библиотеки SDL для создания простых визуализаций и даже игр. Я пробую рассмотреть все базовые возможности и для практики посередине будет задание.
#c_graduate
https://youtu.be/Y_2uSYwQdtU
Мы поговорим про использование библиотеки SDL для создания простых визуализаций и даже игр. Я пробую рассмотреть все базовые возможности и для практики посередине будет задание.
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Дополнение: SDL и визуализация
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
Это дополнение к восьмому семинару, не обязательное, но мне кажется милым и интересным. Мы поговорим про использование библиотеки SDL для создания простых визуализаций и даже игр.…
Это дополнение к восьмому семинару, не обязательное, но мне кажется милым и интересным. Мы поговорим про использование библиотеки SDL для создания простых визуализаций и даже игр.…
❤74👍33🤩9🔥4
Небольшой опрос.
Какие изменения в C++23 вам кажутся самыми существенными (рассматриваем только core language, не библиотеку)? Я понимаю, что вопрос расплывчатый, выберите критерий "существенности" самостоятельно. Можно выбрать несколько.
Какие изменения в C++23 вам кажутся самыми существенными (рассматриваем только core language, не библиотеку)? Я понимаю, что вопрос расплывчатый, выберите критерий "существенности" самостоятельно. Можно выбрать несколько.
Final Results
20%
Explicit object parameter (deducing this)
11%
if consteval
24%
import std
4%
Метки и goto в constexpr функциях
13%
Многомерные индексаторы
10%
Статические операторы [] и ()
4%
Чисто бюрократические уточнения в стандарт относительно некоторых семантических процессов
0%
Свой вариант в комментарии
52%
Просто посмотреть результаты
🤔19👍4🤩2🤡2❤1👎1
Выложил последний семинар курса по языку C. Собственно языка C тут уже не будет, мы поговорим скорее о программировании в целом и про его пределы.
https://youtu.be/k9qO7Jthk60
На этом семинаре мы начнём с обычного ассемблера и будем его упрощать. Сначала на этом пути мы получим RAM-модель, далее машину Минского ну и в конце машину Тьюринга. Где-то там, на том краю, где программирование уже смыкается с математикой, мы рассмотрим фундаментальные проблемы вычислимости и познакомимся с быстро растущими функциями.
В конце видео я скажу пару слов в напутствие. Ну а ниже напишу чуть больше. Пожалуйста дальше читайте только после просмотра ))
—-
Проект записи и выкладки первого курса очень долго меня особенно пугал. Семинары были бессистемными, основывались больше на личном общении и проходили в аудиториях куда сложно было хоть как-то воткнуть камеру. Не очень понятно было как же записать моё трёхчасовое хождение между студентами, перемежаемое какими-то объяснениями в основном у доски. Оформился этот проект в прошлом году когда после пяти лет ведения этих семинаров я придумал их формат, сочетающий некоторые разъяснения (которыми я компенсирую недостатки лекционного материала) и много самостоятельной работы.
Я бы не вытянул этот проект, если бы не помощь в первую очередь Марка Гончарова, Юлия Тарасова, а также Владислава Белова, Станислава Сидельникова и Сергея Циммермана, которые всё это время были за кадром (Марк впрочем в кадре ненадолго появился) но делали куда больше чем многим кажется. Хочется казать им большое спасибо, в том числе за преподавание на открытых в этом году дополнительных курсах лаборатории RISC-V. Очень надеюсь, что эти курсы получат своё продолжение и будут в свою очередь записаны через несколько лет, но уже без меня.
—-
Немного о дальнейших творческих планах я напишу уже летом. Они есть и скоро всех моих уважаемых подписчиков ждёт нечто крайне интересное.
—-
P. S.
Марка на следующий год для преподавания на РТ не утвердили. Формальное основание: набор студентов сокращается, в этом году группы и так были маленькие, много преподавателей не надо. Так что курс остаётся как чистый онлайн, а на первом курсе в наступающем году на ФРКТ будет всё как обычно, но уже без возможности учиться по этой семинарской программе (у каждого семинариста программа индивидуальная). В общем я его очень вовремя записал. Такие дела.
#c_graduate
https://youtu.be/k9qO7Jthk60
На этом семинаре мы начнём с обычного ассемблера и будем его упрощать. Сначала на этом пути мы получим RAM-модель, далее машину Минского ну и в конце машину Тьюринга. Где-то там, на том краю, где программирование уже смыкается с математикой, мы рассмотрим фундаментальные проблемы вычислимости и познакомимся с быстро растущими функциями.
В конце видео я скажу пару слов в напутствие. Ну а ниже напишу чуть больше. Пожалуйста дальше читайте только после просмотра ))
—-
Проект записи и выкладки первого курса очень долго меня особенно пугал. Семинары были бессистемными, основывались больше на личном общении и проходили в аудиториях куда сложно было хоть как-то воткнуть камеру. Не очень понятно было как же записать моё трёхчасовое хождение между студентами, перемежаемое какими-то объяснениями в основном у доски. Оформился этот проект в прошлом году когда после пяти лет ведения этих семинаров я придумал их формат, сочетающий некоторые разъяснения (которыми я компенсирую недостатки лекционного материала) и много самостоятельной работы.
Я бы не вытянул этот проект, если бы не помощь в первую очередь Марка Гончарова, Юлия Тарасова, а также Владислава Белова, Станислава Сидельникова и Сергея Циммермана, которые всё это время были за кадром (Марк впрочем в кадре ненадолго появился) но делали куда больше чем многим кажется. Хочется казать им большое спасибо, в том числе за преподавание на открытых в этом году дополнительных курсах лаборатории RISC-V. Очень надеюсь, что эти курсы получат своё продолжение и будут в свою очередь записаны через несколько лет, но уже без меня.
—-
Немного о дальнейших творческих планах я напишу уже летом. Они есть и скоро всех моих уважаемых подписчиков ждёт нечто крайне интересное.
—-
P. S.
Марка на следующий год для преподавания на РТ не утвердили. Формальное основание: набор студентов сокращается, в этом году группы и так были маленькие, много преподавателей не надо. Так что курс остаётся как чистый онлайн, а на первом курсе в наступающем году на ФРКТ будет всё как обычно, но уже без возможности учиться по этой семинарской программе (у каждого семинариста программа индивидуальная). В общем я его очень вовремя записал. Такие дела.
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Завершение: вычислимость.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом семинаре мы начнём с обычного ассемблера и будем его упрощать. Сначала на этом пути мы получим RAM-модель, далее машину Минского ну и в конце машину Тьюринга. Где-то там,…
На этом семинаре мы начнём с обычного ассемблера и будем его упрощать. Сначала на этом пути мы получим RAM-модель, далее машину Минского ну и в конце машину Тьюринга. Где-то там,…
👍137🔥47❤33👏5😢5👌1
Выступил на конференции МТС с вечным докладом на тему открытой и расширяемой архитектуры RISC-V.
https://www.youtube.com/watch?v=qoNjayusCX4
Я бы сказал этот -- один из лучших которые у меня получились в этом жанре.
Сама конференция к слову произвела на меня отличное впечатление, это без преувеличений было пока что самое эпичное из мероприятий куда меня в этом году звали. С другой стороны я пока не сходил на C++ Russia и на Сбер GigaConf (и туда и туда я тоже приглашён) так что пока что сезон не закрыт.
UPD: слайды https://sourceforge.net/projects/cpp-lects-rus/files/conference-talks/mts-riscv-2024-nopwd.pdf/download
#conference #riscv
https://www.youtube.com/watch?v=qoNjayusCX4
Я бы сказал этот -- один из лучших которые у меня получились в этом жанре.
Сама конференция к слову произвела на меня отличное впечатление, это без преувеличений было пока что самое эпичное из мероприятий куда меня в этом году звали. С другой стороны я пока не сходил на C++ Russia и на Сбер GigaConf (и туда и туда я тоже приглашён) так что пока что сезон не закрыт.
UPD: слайды https://sourceforge.net/projects/cpp-lects-rus/files/conference-talks/mts-riscv-2024-nopwd.pdf/download
#conference #riscv
YouTube
Инструменты программирования для открытой архитектуры RISC V | Константин Владимиров (SYNTACORE)
Подписывайтесь на True Tech в Telegram: https://t.me/truetechcommunity
Познакомимся с открытой расширяемой архитектурой RISC-V и особенностями оптимизации и разработки под нее программ. Рассмотрим ABI (Application Binary Interface), особенности компилятора…
Познакомимся с открытой расширяемой архитектурой RISC-V и особенностями оптимизации и разработки под нее программ. Рассмотрим ABI (Application Binary Interface), особенности компилятора…
👍100🔥32❤12👏2👌2
Выступил весной на конференции Heizenbug с докладом про генератор llvm-snippy, который мы недавно заопенсорсили. Сейчас видео стало доступно публично.
https://www.youtube.com/watch?v=ceAK85rAkfY&t=146s
Timeline
00:00 -- Разминка и вводная информация про RISC-V (иначе никто бы ничего не понял)
05:53 -- Постановка задачи
11:00 -- Недостатки существующих генераторов и как мы их адресуем компиляторными технологиями
18:10 -- Архитектура llvm-snippy
23:30 -- Генерация доступов к памяти
27:17 -- Условные переходы и вызовы функций
35:27 -- Система пассов. Сниппи как последний в мире генератор, потому что других теперь не надо.
38:24 -- Вопросы
Слайды к докладу: https://github.com/tilir/snippy/releases/download/1.0/snippy-heizenbug.pdf
Собственно генератор: https://github.com/syntacore/snippy
Документация к генератору является частью первого релиза: https://github.com/syntacore/snippy/releases/tag/snippy-1.0
---
В целом это был очень интересный опыт. Конференция была отчётливо "не моя". Я редко выступаю перед пустыми залами. Обычно на мои выступления идут, что бы я ни рассказывал. На Гейзенбаге, наконец-то, это был тот самый случай когда меня вообще никто не знал, и, логично, что почти никто не пришёл. Зал был человек на 150, по факту же в нём сидело где-то 25 человек из них человек двадцать это джаваскриптеры со стеклянными глазами. Остальные ушли в другие залы. Осудим ли мы их за это? ))
С одной стороны можно сказать, что вообще идти туда было ошибкой. С другой стороны, а где найти в России не слишком душную конференцию по дизайну и верификации аппаратуры? Если у вас такая есть, позовите меня туда. Я понадеялся что на Гейзенбаге будут интересные доклады по тестированию разного уровня и что для того уровня, о котором рассказываю я, тоже найдутся те, кто его поймёт и воспримет. Если судить по оценкам, то можно сказать так: всем, кто его посмотрел, доклад очень понравился. Просто мало кто посмотрел.
Сам доклад тоже для меня не типичный. Я редко рассказываю о том, что делаю на работе. А тут я рассказывал о проекте, который моя команда делала и внедряла около года и для которого я сам был и остаюсь чем-то вроде архитектора и руководителя в одном лице. То есть для меня эта тема очень живая и очень интересная.
Посмотрим будет ли интересно моей уважаемой аудитории здесь ))
#conference
https://www.youtube.com/watch?v=ceAK85rAkfY&t=146s
Timeline
00:00 -- Разминка и вводная информация про RISC-V (иначе никто бы ничего не понял)
05:53 -- Постановка задачи
11:00 -- Недостатки существующих генераторов и как мы их адресуем компиляторными технологиями
18:10 -- Архитектура llvm-snippy
23:30 -- Генерация доступов к памяти
27:17 -- Условные переходы и вызовы функций
35:27 -- Система пассов. Сниппи как последний в мире генератор, потому что других теперь не надо.
38:24 -- Вопросы
Слайды к докладу: https://github.com/tilir/snippy/releases/download/1.0/snippy-heizenbug.pdf
Собственно генератор: https://github.com/syntacore/snippy
Документация к генератору является частью первого релиза: https://github.com/syntacore/snippy/releases/tag/snippy-1.0
---
В целом это был очень интересный опыт. Конференция была отчётливо "не моя". Я редко выступаю перед пустыми залами. Обычно на мои выступления идут, что бы я ни рассказывал. На Гейзенбаге, наконец-то, это был тот самый случай когда меня вообще никто не знал, и, логично, что почти никто не пришёл. Зал был человек на 150, по факту же в нём сидело где-то 25 человек из них человек двадцать это джаваскриптеры со стеклянными глазами. Остальные ушли в другие залы. Осудим ли мы их за это? ))
С одной стороны можно сказать, что вообще идти туда было ошибкой. С другой стороны, а где найти в России не слишком душную конференцию по дизайну и верификации аппаратуры? Если у вас такая есть, позовите меня туда. Я понадеялся что на Гейзенбаге будут интересные доклады по тестированию разного уровня и что для того уровня, о котором рассказываю я, тоже найдутся те, кто его поймёт и воспримет. Если судить по оценкам, то можно сказать так: всем, кто его посмотрел, доклад очень понравился. Просто мало кто посмотрел.
Сам доклад тоже для меня не типичный. Я редко рассказываю о том, что делаю на работе. А тут я рассказывал о проекте, который моя команда делала и внедряла около года и для которого я сам был и остаюсь чем-то вроде архитектора и руководителя в одном лице. То есть для меня эта тема очень живая и очень интересная.
Посмотрим будет ли интересно моей уважаемой аудитории здесь ))
#conference
YouTube
Константин Владимиров — llvm-snippy: тестирование RISC-V аппаратуры случайными тестами
Ближайшая конференция — Heisenbug 2025 Autumn, 19—20 октября, Санкт-Петербург + online. Подробности и билеты: https://jrg.su/D6uGC9
— —
Верификация аппаратуры — это сложный процесс, в котором генераторы тестов играют ключевую роль. Этот доклад — о новом генераторе…
— —
Верификация аппаратуры — это сложный процесс, в котором генераторы тестов играют ключевую роль. Этот доклад — о новом генераторе…
❤🔥77👍42❤12🔥8🤷♂1😁1
Опубликовали нашу с Ильёй Андреевым https://t.me/BruceGliff очередную статью. Её тематика хорошо продолжает тему прошлого поста (может мне для snippy и системной верификации завести тег?). Генератор llvm-snippy принципиально однопоточный, он никак не учитывает возможных эффектов многопоточного true sharing. А что если развить идею и из нескольких сниппетов, каждый из которых исполняется на отдельном ядре, сделать поверх некий граф возможных общих обращений в память, смоделировать мьютексы, смоделировать CAS-циклы и т.п. Возможно ли тогда по этому графу понять корректность многопоточного кода с учётом возможных переупорядочений операций и с учётом слабой модели памяти?
Нечто подобное делают давно известные литмус-тесты, но они маленькие и короткие. Можно ли как-то решить проблему комбинаторного взрыва при росте числа верифицируемых операций? Собственно об этом статья.
http://sitito.cs.msu.ru/index.php/SITITO/article/view/1068
Фактически, как вы догадываетесь, мы сделали LLVM-based инструмент, теория для которого изложена в этой статье. Сам инструмент пока в опен-сорсе не появился и в ближайшее время вряд ли мне удастся согласовать его появление, т.к. такого рода программы продаются и стоят дорого (см. например breker от brekersystems.com). Но в статье мы постарались достаточно подробно описать основные алгоритмы.
PDF надеюсь скоро доедет до сайта.
P. S. установочная статья по llvm-snippy тоже в процессе подготовки.
#publications
Нечто подобное делают давно известные литмус-тесты, но они маленькие и короткие. Можно ли как-то решить проблему комбинаторного взрыва при росте числа верифицируемых операций? Собственно об этом статья.
http://sitito.cs.msu.ru/index.php/SITITO/article/view/1068
Фактически, как вы догадываетесь, мы сделали LLVM-based инструмент, теория для которого изложена в этой статье. Сам инструмент пока в опен-сорсе не появился и в ближайшее время вряд ли мне удастся согласовать его появление, т.к. такого рода программы продаются и стоят дорого (см. например breker от brekersystems.com). Но в статье мы постарались достаточно подробно описать основные алгоритмы.
PDF надеюсь скоро доедет до сайта.
P. S. установочная статья по llvm-snippy тоже в процессе подготовки.
#publications
🔥60👍22❤5🤮3🤔1😢1
Всем привет. Выложили по ссылке моё выступление на C++ Russia. Через годик откроют, а пока как водится эксклюзив для моих уважаемых подписчиков.
https://www.youtube.com/watch?v=kJ6RvI9A1bU
Сама конференция в этом году была довольно удачной организационно и мне очень понравилась аудитория, много с кем очень приятно было пообщаться в кулуарах. Правда, с моей точки зрения, программный комитет недоработал и в программу натащили неприлично много контента, не имеющего отношения к C++. И не просто не имеющего, а агрессивно не желающего иметь. Когда я в своё время ходил на эту же конференцию с докладом про GPU и SYCL, я, тем не менее, выделил минут десять тайминга на связь с эволюцией языка и всякие поклоны в сторону собственно C++. А тут люди просто приходили с докладами про работу с матрицами на фортране или там про ручную векторизацию на интринсиках, не упоминая C++ вообще.
Мой доклад в этом отношении возвысился этакой скалой традиционных ценностей. Он про язык и только про него. Это второй в серии моих семантических докладов. Рассказав год назад про синтаксис и семантику в целом, в этом году я ныряю в разрешение имён.
P. S. и к слову, меня включили в этом году в программу Zero Cost Conf, туда вход будет свободный.
#conference
https://www.youtube.com/watch?v=kJ6RvI9A1bU
Сама конференция в этом году была довольно удачной организационно и мне очень понравилась аудитория, много с кем очень приятно было пообщаться в кулуарах. Правда, с моей точки зрения, программный комитет недоработал и в программу натащили неприлично много контента, не имеющего отношения к C++. И не просто не имеющего, а агрессивно не желающего иметь. Когда я в своё время ходил на эту же конференцию с докладом про GPU и SYCL, я, тем не менее, выделил минут десять тайминга на связь с эволюцией языка и всякие поклоны в сторону собственно C++. А тут люди просто приходили с докладами про работу с матрицами на фортране или там про ручную векторизацию на интринсиках, не упоминая C++ вообще.
Мой доклад в этом отношении возвысился этакой скалой традиционных ценностей. Он про язык и только про него. Это второй в серии моих семантических докладов. Рассказав год назад про синтаксис и семантику в целом, в этом году я ныряю в разрешение имён.
P. S. и к слову, меня включили в этом году в программу Zero Cost Conf, туда вход будет свободный.
#conference
YouTube
Константин Владимиров — О денотации: разрешение имен и его пересмотр в C++23
Подробнее о конференции C++ Russia: https://jrg.su/9Sszhd
— —
Скачать презентацию с сайта C++ Russia — https://jrg.su/Z92oYk
Этот доклад — попытка сделать темную и мрачную область разрешения имен в C++ простой и ясной для практикующего программиста.
— —
Скачать презентацию с сайта C++ Russia — https://jrg.su/Z92oYk
Этот доклад — попытка сделать темную и мрачную область разрешения имен в C++ простой и ясной для практикующего программиста.
👍127❤39🔥25👏2😍2🤝2🥰1👀1
Всем привет. Поступают вопросы что я намерен делать в связи с возможными блокировками. Что же, можно сказать, что я неплохо к ним подготовлен.
Во-первых, благодаря уважаемым добровольцам, я богато представлен на торрентах, например https://rutracker.org/forum/viewtopic.php?t=6188137 и мн. др.
Во-вторых, у меня есть мой собственный канал на rutube, даже верифицированный. Пока там только бакалаврский курс, но вообще дублировать туда всё подряд не так уж и сложно, подписывайтесь: https://rutube.ru/channel/10218561/
В-третьих, всё, что я недовыкладываю, то довыкладывают многочисленные уважаемые добровольцы, упомянутые мной выше и не только. Я сам иногда с интересом нахожу где меня в очередном месте довыложили.
Например магистерский курс на rutube, залитый внезапно не мной: https://rutube.ru/plst/214137/
А вот курс по языку C, тоже не мной залитый: https://rutube.ru/plst/371362/
И так далее, ищется это очень легко. Я никак не препятствую распространению своих видео кем угодно, даже приветствую.
С другой стороны, всем конечно удобнее ориентироваться на единый источник, которым является мой youtube-канал, чем собирать всё в интернете по крохам.
Поэтому я буду продолжать выкладки на свой youtube-канал. Но, пока ограничения/блокировки не будут сняты, я буду сопровождать каждое видео ссылкой в описании на какой-либо неблокируемый ресурс.
#official #torrent
Во-первых, благодаря уважаемым добровольцам, я богато представлен на торрентах, например https://rutracker.org/forum/viewtopic.php?t=6188137 и мн. др.
Во-вторых, у меня есть мой собственный канал на rutube, даже верифицированный. Пока там только бакалаврский курс, но вообще дублировать туда всё подряд не так уж и сложно, подписывайтесь: https://rutube.ru/channel/10218561/
В-третьих, всё, что я недовыкладываю, то довыкладывают многочисленные уважаемые добровольцы, упомянутые мной выше и не только. Я сам иногда с интересом нахожу где меня в очередном месте довыложили.
Например магистерский курс на rutube, залитый внезапно не мной: https://rutube.ru/plst/214137/
А вот курс по языку C, тоже не мной залитый: https://rutube.ru/plst/371362/
И так далее, ищется это очень легко. Я никак не препятствую распространению своих видео кем угодно, даже приветствую.
С другой стороны, всем конечно удобнее ориентироваться на единый источник, которым является мой youtube-канал, чем собирать всё в интернете по крохам.
Поэтому я буду продолжать выкладки на свой youtube-канал. Но, пока ограничения/блокировки не будут сняты, я буду сопровождать каждое видео ссылкой в описании на какой-либо неблокируемый ресурс.
#official #torrent
❤248👍102🔥22🤝5👏3🥰2🫡2🤗1
Выложил с разрешения организаторов выступление на конференции Сбер 27 июня 2024 года. Доклад несложный и развлекательный, посвящён многогранности тех возможностей которые даёт LLVM. Мы начинаем с того, что это бэкенд компилятора. Далее оказывается, что LLVM как платформа может быть использован для многих интересных инструментов, имеющих к компилятору весьма мало отношения. Это и статический анализ (clang-tidy) и бенчмаркинг (llvm-exegesis) и генерация тестов (llvm-snippy). Мы поговорим как и за счёт чего всё это совмещается.
Для меня это был интересный опыт, т.к. я впервые пошёл не один, а взял с собой содокладчицу Анастасию Черникову @anastasiya_chernik0va. Настя училась у меня на 1 и 2 курсе и сейчас работает под моим руководством в качестве инженера-стажёра и как раз среди прочего занимается llvm-exegesis для RISC-V. Кроме того что Настя прекрасно пишет код, она также очень хочет больше выступать. Для неё это первое выступление, но, я думаю, вы её ещё много где увидите.
https://www.youtube.com/watch?v=5HKSeLSIya4
Патч с RISC-V бэкендом в exegesis: https://github.com/llvm/llvm-project/pull/89047
Альтернативная ссылка на VK Video, как и обещал, в описании.
#conference
Для меня это был интересный опыт, т.к. я впервые пошёл не один, а взял с собой содокладчицу Анастасию Черникову @anastasiya_chernik0va. Настя училась у меня на 1 и 2 курсе и сейчас работает под моим руководством в качестве инженера-стажёра и как раз среди прочего занимается llvm-exegesis для RISC-V. Кроме того что Настя прекрасно пишет код, она также очень хочет больше выступать. Для неё это первое выступление, но, я думаю, вы её ещё много где увидите.
https://www.youtube.com/watch?v=5HKSeLSIya4
Патч с RISC-V бэкендом в exegesis: https://github.com/llvm/llvm-project/pull/89047
Альтернативная ссылка на VK Video, как и обещал, в описании.
#conference
YouTube
Сбер Гигаконф 2024. LLVM: компилятор, инфраструктура и платформа.
Выступление на конференции Сбер 27 июня 2024 года. Огромная благодарность организаторам за приглашение и за разрешение выложить запись на моём канале.
Доклад несложный и развлекательный, посвящён многогранности тех возможностей которые даёт LLVM. Мы начинаем…
Доклад несложный и развлекательный, посвящён многогранности тех возможностей которые даёт LLVM. Мы начинаем…
🔥109👍40❤20⚡1👏1😁1🫡1
В связи с тем, что МФТИ-шные контесты по C для первого курса нестабильны, особенно летом, мой уважаемый подписчик Никита Мальцев https://t.me/hfhhdp перенёс coursework на Yandex contest:
https://contest.yandex.ru/contest/66459/enter
Я сегодня заслал несколько решений, работает как часы. Просьба протестировать, отписать ощущения и я тогда обновлю видео на канале альтернативной ссылкой в описании. Там пока не хватает ассемблера, но это наживное.
#c_graduate
https://contest.yandex.ru/contest/66459/enter
Я сегодня заслал несколько решений, работает как часы. Просьба протестировать, отписать ощущения и я тогда обновлю видео на канале альтернативной ссылкой в описании. Там пока не хватает ассемблера, но это наживное.
#c_graduate
❤88🔥44👍25🐳4⚡1
Выступил с ещё одним рассказом про генератор llvm-snippy, на этот раз на C++ Zero Cost Conf. В данном случае я чуть меньше рассказывал про его применение и чуть больше про внутренности, в частности про некоторые проблемы проектирования, которые мы вынуждены были решать.
https://youtu.be/A8FSh8eFj1w
Timeline
00:00 Вступление: открытая и расширяемая
04:55 Идея LLVM-based тестового генератора
09:20 Рантайм-полиморфизм в стиле LLVM
17:27 LLVM-snippy и его генплан
23:44 Появление generation requests и как всё запутывается
29:23 Изменяем проектирование через скрытый полиморфизм
36:18 Завершение и вопросы
В целом Zero Cost Conf мне показалась в этом году технически сильней и интересней, чем даже C++ Russia. К тому же они уже выложили некоторые другие доклады. Так что я тут сделаю также обзор того, что на мой взгляд было удачным и что нет. Но несколько позже.
UPD: мне обещали исходник видео для альтернативной выкладки на неблокируемые ресурсы, но пока он до меня не доехал. Как только будет, сделаю дополнение этого поста.
#conference
https://youtu.be/A8FSh8eFj1w
Timeline
00:00 Вступление: открытая и расширяемая
04:55 Идея LLVM-based тестового генератора
09:20 Рантайм-полиморфизм в стиле LLVM
17:27 LLVM-snippy и его генплан
23:44 Появление generation requests и как всё запутывается
29:23 Изменяем проектирование через скрытый полиморфизм
36:18 Завершение и вопросы
В целом Zero Cost Conf мне показалась в этом году технически сильней и интересней, чем даже C++ Russia. К тому же они уже выложили некоторые другие доклады. Так что я тут сделаю также обзор того, что на мой взгляд было удачным и что нет. Но несколько позже.
UPD: мне обещали исходник видео для альтернативной выкладки на неблокируемые ресурсы, но пока он до меня не доехал. Как только будет, сделаю дополнение этого поста.
#conference
YouTube
Проблемы и решения в крупных проектах на примере LLVM-snippy | Константин Владимиров, Syntacore
Это Константин Владимиров, руководитель отдела компиляторов и средств разработки Syntacore, и его доклад на C++ Zero Cost Conf 2024. Константин проанализировал опыт работы над большим LLVM-based-проектом. Сначала он кратко остановился на эволюции С++ в инфраструктуре…
🔥67👍25❤11❤🔥3⚡1🫡1
Продолжаем тему Zero Cost Conference этого года (благо почти все видео уже выложены).
Прежде, чем я перейду к общему обзору, давайте немного поговорим про лучший доклад. Обычно, когда я выступаю на какой-то конференции, лучшим докладом там я считаю, конечно, свой. Так было на этой C++ Russia и много ещё где. Есть понятные исключения, когда я просто прихожу на огонёк поболтать про открытую и расширяемую и т.п. (кстати зовите), там, разумеется, я ни на что не претендую, я сейчас про содержательные доклады.
Итак я всегда иду с предположением что я лучший. Но, с другой стороны, мне всегда очень приятно ошибаться в этом предположении. И вот как раз на ZCC'24 был доклад, который я считаю несомненно лучшим, чем даже мой, причём лучшим с отрывом и с гандикапом. Он прекрасен и по композиции и по глубине и по раскрытию темы.
Встречайте, Сергей Слотин.
https://youtu.be/Lrjjqc1bRHo
Timeline (моя версия)
00:00 Начало и правила игры
06:00 Первый вопрос
11:30 Memory sharing
19:20 Пропускная способность
29:52 Ассоциативность
37:50 Виртуальная память
47:40 Завершение
В опросе, который проводился в процессе доклада, я по итогу занял 13-е место. Я бы удержался в десятке, но я ответил "about the same" на первый вопрос, так как именно в таком эксперименте мне никогда не удавалось пронаблюдать лесенку. После конференции обсудили с Сергеем его способ бенчмаркинга. Исходники для желающих перемерить:
https://github.com/sslotin/amh-code/tree/main/cpu-cache
Сергей, как выяснилось, также является автором вот этого превосходного материала, который я многие годы использовал при подготовке разного уровня лекций.
https://en.algorithmica.org/hpc/
Прекрасный материал, прекрасный доклад, очень рекомендую.
#talks
Прежде, чем я перейду к общему обзору, давайте немного поговорим про лучший доклад. Обычно, когда я выступаю на какой-то конференции, лучшим докладом там я считаю, конечно, свой. Так было на этой C++ Russia и много ещё где. Есть понятные исключения, когда я просто прихожу на огонёк поболтать про открытую и расширяемую и т.п. (кстати зовите), там, разумеется, я ни на что не претендую, я сейчас про содержательные доклады.
Итак я всегда иду с предположением что я лучший. Но, с другой стороны, мне всегда очень приятно ошибаться в этом предположении. И вот как раз на ZCC'24 был доклад, который я считаю несомненно лучшим, чем даже мой, причём лучшим с отрывом и с гандикапом. Он прекрасен и по композиции и по глубине и по раскрытию темы.
Встречайте, Сергей Слотин.
https://youtu.be/Lrjjqc1bRHo
Timeline (моя версия)
00:00 Начало и правила игры
06:00 Первый вопрос
11:30 Memory sharing
19:20 Пропускная способность
29:52 Ассоциативность
37:50 Виртуальная память
47:40 Завершение
В опросе, который проводился в процессе доклада, я по итогу занял 13-е место. Я бы удержался в десятке, но я ответил "about the same" на первый вопрос, так как именно в таком эксперименте мне никогда не удавалось пронаблюдать лесенку. После конференции обсудили с Сергеем его способ бенчмаркинга. Исходники для желающих перемерить:
https://github.com/sslotin/amh-code/tree/main/cpu-cache
Сергей, как выяснилось, также является автором вот этого превосходного материала, который я многие годы использовал при подготовке разного уровня лекций.
https://en.algorithmica.org/hpc/
Прекрасный материал, прекрасный доклад, очень рекомендую.
#talks
YouTube
Как устроены память и кеши | Сергей Слотин
Это Сергей Слотин и его доклад на C++ Zero Cost Conf 2024. Сергей рассказал об устройстве памяти и кешей, их странностях и неожиданном влиянии для производительности.
Узнать больше о мероприятиях для разработчиков можно тут: https://events.yandex.ru
Подписывайтесь…
Узнать больше о мероприятиях для разработчиков можно тут: https://events.yandex.ru
Подписывайтесь…
🔥92👍24❤7
Ну и завершая тему Zero Cost Conference написал (довольно длинный) обзор всего остального что там было по обоим трекам и в Москве и в Ереване (ну кроме откровенно странных штук типа геогессинга).
https://telegra.ph/Obzor-dokladov-proshedshej-Zero-Cost-Conf2024-08-11
Было бы интересно увидеть в комментариях что из содержания докладов понравилось и запомнилось вам и насколько вы бы скорректировали мои отдельные оценки в плюс или в минус (разумеется только если вы действительно смотрели соответствующий доклад).
#conference #talks
https://telegra.ph/Obzor-dokladov-proshedshej-Zero-Cost-Conf2024-08-11
Было бы интересно увидеть в комментариях что из содержания докладов понравилось и запомнилось вам и насколько вы бы скорректировали мои отдельные оценки в плюс или в минус (разумеется только если вы действительно смотрели соответствующий доклад).
#conference #talks
Telegraph
Обзор докладов прошедшей Zero Cost Conf'2024
Обзор начну с двух докладов, о которых писал в своём телеграме отдельно: это мой доклад и доклад Сергея Слотина. Они идут вне общего зачёта, просто оставлю ссылки: Как устроены память и кеши: https://t.me/cpp_lects_rus/189 Интересные C++ решения в llvm-snippy:…
❤40👍33🔥18🫡2
Настало время этого анонса.
Моя книга по оптимизирующим компиляторам, над которой я работал с прошлого лета, наконец-то доступна в предварительной продаже.
Финальный вариант книги ещё не свёрстан, так что на шрифт и верстку пока не смотрите, в печати всё будет гораздо лучше.
https://www.chitai-gorod.ru/product/optimiziruyushchie-kompilyatory-struktura-i-algoritmy-3059667
Начиная с осени, вероятно с середины октября, когда эта книга поступит в продажу уже в магазинах, я начну выкладку на свой канал (youtube и rutube) снятого этим летом видеокурса по этой книге. Надеюсь успеть его полностью выложить к новому году, если не решу доснять специальных выпусков. В итоге можно будет читать книгу и смотреть курс.
Большой пост с деталями, историей и мотивацией к написанию (а также с приглашением на встречу читателей) я выложу когда она выйдет в продажу и поступит в магазины.
P. S. Статистика по предпродажам сильно повлияет на тираж книги. Ну и в предпродаже её можно купить со значительной скидкой.
#publications
Моя книга по оптимизирующим компиляторам, над которой я работал с прошлого лета, наконец-то доступна в предварительной продаже.
Финальный вариант книги ещё не свёрстан, так что на шрифт и верстку пока не смотрите, в печати всё будет гораздо лучше.
https://www.chitai-gorod.ru/product/optimiziruyushchie-kompilyatory-struktura-i-algoritmy-3059667
Начиная с осени, вероятно с середины октября, когда эта книга поступит в продажу уже в магазинах, я начну выкладку на свой канал (youtube и rutube) снятого этим летом видеокурса по этой книге. Надеюсь успеть его полностью выложить к новому году, если не решу доснять специальных выпусков. В итоге можно будет читать книгу и смотреть курс.
Большой пост с деталями, историей и мотивацией к написанию (а также с приглашением на встречу читателей) я выложу когда она выйдет в продажу и поступит в магазины.
P. S. Статистика по предпродажам сильно повлияет на тираж книги. Ну и в предпродаже её можно купить со значительной скидкой.
#publications
www.chitai-gorod.ru
Оптимизирующие компиляторы. Структура и алгоритмы (Константин Владимиров) 📖 купить книгу по выгодной цене в «Читай-город» (978…
Книга Оптимизирующие компиляторы. Структура и алгоритмы (Константин Владимиров) 📖 В книжном интернет-магазине «Читай-город» вы можете заказать книгу по выгодной цене. Бесплатная доставка по всей России, скидки и акции по карте любимого покупателя! (978-5…
🔥325👍117❤30👏8❤🔥7🫡4😱2