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

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

Предложения, замечания: @jin_x
Download Telegram
Всем салют! 💥

Решил я на днях поискать в телеге специализированные чаты и каналы по параллельному программированию (и concurrency в целом). И ничего не нашёл, что весьма удивительно 🤔. Потому что тема интересная, востребованная, местами весьма непростая.

Поэтому было решено создать и чат, и канал. Добавив сюда же GPGPU, оптимизацию и SIMD.

Каких-либо обещаний по поводу регулярности постов давать не буду. Время покажет.

Друзья, чтобы придать чату и каналу большей живучести, делитесь ссылками на них:
➡️ @parallelcode (канал),
➡️ @parallelcoding (чат).

Ну и буду безмерно благодарен интересным материалам по теме: ссылкам на статьи, книги, лекции, библиотеки и т.п. Пишите в чат или в личку ✌️
Please open Telegram to view this post
VIEW IN TELEGRAM
Думаю, стоит сразу добавить что-нибудь полезного.
Предлагаю вашему вниманию курс из 15-ти 1-1.5-часовых лекций «Параллельное программирование» от Computer Science Center (лектор Евгений Калишенко).

Курс весьма неплохой, особенно для новичков. Затрагивает темы корректной работы с потоками и ресурсами (через примитивы и неблокирующие алгоритмы lock-free и wait-free), низкоуровневые механизмы, Java.util.concurrent, OpenMP, Intel TBB, профилирование, барьеры памяти, шаблоны, транзакционную память, асинхронный ввод-вывод и т.д. Плюс, у них на канале много интересных видео.

В общем, вперёд! 💪
➡️ https://www.youtube.com/playlist?list=PLlb7e2G7aSpQCPeKTcVBHJns_JOxrc_fT

#видео #курс #параллелизм
🔥2
Всем привет! ✌️

Те, кто интересуется оптимизацией кода, наверняка слышали об Агнере Фоге (Agner Fog) — специалисте в этой области.
Ну а если вы всё-таки не знакомы с его работами, то настоятельно рекомендую!

Оптимизация кода на C++ и на ассемблере под Windows, Linux, macOS
Таблица инструкций процессоров Intel, AMD, VIA (микрооперации, задержки, пропускная способность и пр.)
Очень подробно о соглашениях о вызовах для различных ОС
Библиотека классов для работы с векторами, оптимизированные под SSE, AVX, AVX-512
И не только...

В общем, enjoy it!
➡️ https://agner.org/optimize/

#статья #документация #оптимизация
В многопоточных приложениях для доступа к разделяемым ресурсам (например, памяти) часто используются различные блокировки (критические секции, семафоры, RW-locks, spinlocks, etc). Однако такой подход оправдан (и даже применим) не всегда. Кроме блокирующих методов синхронизации необходимо знать и о неблокирующих (lock-free, wait-free) алгоритмах и структурах данных, использование которых, как правило, позволяет повысить производительность, порой весьма существенно.

Предлагаю вашему вниманию цикл статей про Lock-free структуры данных, написанных автором open-source библиотеки для C++ libcds Максимом Хижинским. Ссылка выше ведёт на все публикации автора на Хабре, однако на данный момент кроме этого цикла из 16-ти статей там ничего нет. На всякий случай дам ссылку на первую статью.

#статья #курс #канал #параллелизм #lockfree
👍1