🚀 Параллельный код || Оптимизация || GPGPU || SIMD
258 subscribers
26 photos
16 files
46 links
Наш чат: @parallelcoding

1️⃣ Concurrency, параллельное и асинхронное программирование, высокопроизводительные вычисления, GPGPU, IPC…
2️⃣ Оптимизация кода, SIMD. Профилирование, бенчмарк.

Предложения, замечания: @jin_x
Download Telegram
Forwarded from Блог*
#prog #article

Advent of compiler optimizations — сборник декабрьских статей, по одной в день (в обратном хронологическом порядке), демонстрирующих на отдельных небольших примерах различные оптимизации компиляторов. Написано Мэттом Годболтом (да-да, тот самый, который godbolt.org).
👍2🔥1
Лекция о микроархитектуре x86-процессоров на примере Intel Skylake.

Разбираются базовые принципы работы современного out-of-order CPU: конвейер, декодирование x86-инструкций в микрооперации (µops), внеочередное исполнение, переименование регистров и аппаратные механизмы повышения производительности.

Лектор: Мэтт Годболт
Создатель Compiler Explorer, C++-разработчик и популяризатор низкоуровневых аспектов работы процессоров.
👍2🍾2🔥1
Путеводитель C++ программиста по неопределенному поведению

Как известно, неопределённое поведение (UB) заложено в язык для того, чтобы дать компилятору простор для оптимизации. Вместе с тем, этот механизм бывает причиной экзотических ошибок, которые могут проявляться в зависимости от архитектуры целевого процессора, компилятора и его опций, а также положения спутников Юпитера.

Дмитрий Свиридкин собрал множество UB в книге на GitHub, чтобы помочь нам с вами не совершать подобных ошибок (для кинестетиков есть бумажная версия книги).
Как говорится, предупреждён — значит вооружён. Вооружайтесь 😉
❤7🤔1
Forwarded from GPGPU Russia
Недавно прошёл очередной курс "Вычисления на видеокартах" от Николая Полярного бесплатно без регистрации и смс (ну, при желании, можно и зарегистрироваться).

Из опыта прошлых таких постов, почему-то ссылки курсы (тоже открытые) про GPU от Nvidia набирают гораздо больше просмотров и пересылок, что странно, так как этот курс (и прошлые его версии) гораздо более глубокий, охватывает гораздо больше тем и вообще на русском языке.
🔥4
Forwarded from GPGPU Russia (Michael Lukin)
Компилятор из CUDA в AMD RDNA 3 и 4 (видеокарты AMD Radeon 7xxx и 9ххх), написанный на С99 без зависимостей от других библиотек:
https://github.com/Zaneham/BarraCUDA
1👍2👎1🤯1

Сайт uops.info наконец-то обновил табличку Latency/Throughput команд, добавив в неё сразу Zen5, Arrow Lake-P/E, Meteor Lake-P/E и Emerald Rapids. Эти же данные можно скачать в виде XML.
.
🍾3👍2
NVIDIA опубликовала 45-страничный whitepaper, подробно раскрывающий архитектуру Vera CPU

https://nvdam.widen.net/s/nmw5vblpqd/nvidia_vera_cpu_architecture_whitepaper
🔥3
#видеозаписи #плюсочетверг

Детально разбираем эволюцию от ассемблерных вставок до std::simd и смотрим, как заставить один и тот же алгоритм идеально работать и на x86 с AVX2, и на RISC-V с RVV, и на ARM с SVE.

Юлий Тарасов — Векторизация в C++: от ассемблерных вставок к переносимой производительности со std::simd

😉 YouTube | 📺 VK Видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Achieving Peak Performance for Matrix Multiplication in C++. Aliaksei Sala - C++Now 2025

Алексей рассказывает про постепенное улучшение умножения матриц, начиная от базового подхода и двигаясь через улучшение работы с кешами, simd, префетчингом и всякими другими финтифлюшками.
🔥1
#видеозаписи #плюсочетверг

В C++ модель алиасинга формируется сразу несколькими слоями:
1) strict aliasing,
2) оптимизационные модели компиляторов (TBAA, noalias, alias scopes),
3) нестандартные расширения компиляторов, такие как __restrict.

Доклад, который мы открываем сегодня — о том, как компиляторы (GCC, Clang, MSVC) принимают решения об алиасинге и что может сделать программист, чтобы сделать свой код более быстрым и, что также важно, безопасным.

Отдельное внимание спикер уделил современным обсуждениям в стандарте C++ (restrict-like семантика, alias sets, свойства доступа для span/mdspan, pointer provenance), в докладе разобраны примеры кода на C++23, выдержки из последнего стандарта C++, а также фрагменты LLVM IR для объяснения работы оптимизатора.

Владислав Белов — Алиасинг памяти в C++: прошлое, настоящее и будущее

😉 YouTube | 📺 VK Видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1