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

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

Предложения, замечания: @jin_x
Download Telegram
Продолжая тему активности участников нашего чата, предлагаю посмотреть лекцию об оптимизации от Булата Зиганшина:
🎞 Устройство процессоров (2020)
В описании к видео есть список книг.

Спасибо, друзья, всем, кто принимает активное участие в жизни нашего сообщества!

Лучший подарок от вас — рекомендация канала и чата своим друзьям, коллегам и подписчикам (у кого они есть) 🙂

Кого ещё нет в нашем чате, категорически рекомендую присоединиться.

#оптимизация #видео #cpu
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Intel анонсировала 2 новых расширения

1️⃣ APX (Advanced Performance Extensions) со следующими новыми фичами:
— дополнительные 16 регистров общего назначения R16-R31, называемые расширенными регистрами общего назначения,
— трёхоперандные инструкции для многих целочисленных операций (add rax,rcx,rdx),
— новые условные инструкции для чтения/записи и сравнения (cfmovcc, setcc.zu, ccmp, ctest, а также атомарная инструкция cmpccxadd),
— оптимизированные операции сохранения регистров (push2/pop2),
— прямой 64-битный переход (jmpabs).
➡️ Новость на русском (3Dnews)
➡️ Новость на английском (Phoronix)
➡️ Информация и спецификации на сайте Intel (англ), со ссылками на спецификации AVX10, см. ниже.

2️⃣ Эволюция векторных инструкций — AVX10 (AVX10.1, AVX10.2 и т.д. — да, теперь вместо флагов для отдельных расширений будет номер версии). Обещают поддержку функциональности AVX-512, вроде как даже без потери производительности. AVX10 будут работать как на P-ядрах, так и на E-ядрах (но на последних только с 256-битными векторами и только в версии AVX10.2). AVX-512 развиваться не будет, но останется в серверных процессорах для совместимости со старыми приложениями.
➡️ Новость на русском (3Dnews)
➡️ Новость на английском (Phoronix)

🟣 Вы же уже в курсе существования расширений AMX (Advanced Matrix Extensions) в серверных процессорах Sapphire Rapids? Если нет, читайте на сайте Intel (и на Phoronix).

🟣 Некоторое время назад Intel также анонсировала новую упрощённую архитектуру — X86-S. Наиболее заметные (но далеко не единственные) отличия от текущей архитектуры Intel 64 — отсутствие 16-битных и 32-битных режимов (последний останется только в режиме совместимости, как сейчас при работе в 64-битном Long Mode). Читайте на сайте Intel (и на Хабре).

P.S. Кому лень поштучно качать спецификации с сайта Intel, приглашаю заглянуть в наш чат и забрать всё оттуда (включая июньские мануалы Intel SDM и свежие PDF-ки по оптимизации от Agner'а Fog'а) 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый выпуск Intel 64 and IA-32 Architectures Software Developer's Manual (сентябрь 2023).
Также новые:
— Intel Architecture Instruction Set Extensions and Future Features;
— Intel and IA-32 Architectures Optimization Reference Manual (теперь в 2-х томах);
— Intel APX (2.0).
И прочее...
Ловите, чтобы не включать VPN (5 июльских манов А.Фога качаем тут) 😉

P.S. Заглядывайте также в наш чат, который Булат Зиганшин периодически скидывает свежие интересные материалы!
Чувак обнаружил баг в SRW Locks, тянущийся минимум с Висты до наших дней, и приводящий к некорректной работе std::shared_mutex в MSVC STL: "SRWLOCK can deadlock after an exclusive owner has released ownership and several reader threads are attempting to acquire shared ownership together"

https://www.reddit.com/r/cpp/comments/1b55686/maybe_possible_bug_in_stdshared_mutex_on_windows/
🔥2
Оказывается, зелёные потоки в виде либы есть и под питон: https://habr.com/ru/companies/tochka/articles/798577/

Что, впрочем, не так и удивительно - к С/С++ они тоже прикручиваются либой. Проблема как всегда в том, что дальше во всей программе нужно использовать только совместимые с конкретной библиотекой мьютексы и т.д., иначе при локе у вас будет задействован целиком поток ОС
AMD представила настольные процессоры на Zen5. Выпуск начнётся уже в июле, цены пока не объявлены.

Что НЕ изменилось по сравнению с Zen4: число ядер, частоты, размеры кешей, чипсет(ы).

IPC выросла в среднем на 16%. SIMD engines расширены до 512 бит, и вероятно производительность в AVX-512 вырастет на десятки процентов.

Энергопотребление снизилось в 1.5 раза (170 -> 120, 105 -> 65 W). CCD теперь выпускается на 4 нм (в Zen4 было на 5 нм), и похоже что всё улучшение техпроцесса было пущено на обуздание энергопотребления ядер. С +16% IPC они и так должны быть конкурентны с Raptor Lake.

IOD по прежнему выпускается на 6 нм, и в нём всё то же RDNA2 видеоядро. Так что есть подозрение, что его, как и чипсет, не обновили, и более медленная, чем у Raptor Lake, работа с DDR5 памятью останется бичом и этого поколения Zen.

(завтра дополню пост неофициальной инфой об улучшениях в м/а Zen5)
🔥2
Свеженькие мануалы по процессорам, оптимизации, библиотекам.

А также их машинные переводы на русский (если вдруг кому надо). Плюс машинные переводы некоторых книг и спецификаций.

#документация
5