home.social

#simd — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #simd, aggregated by home.social.

  1. HotSpot auto-vectorization can speed up #Java loops—but often doesn’t apply in real-world code. @BalaRawool explains how the #Vector API enables explicit #SIMD with predictable gains.

    Learn how to turn scalar loops into portable SIMD code: javapro.io/2026/04/09/java-vec

    #API #CPU

  2. HotSpot auto-vectorization can speed up #Java loops—but often doesn’t apply in real-world code. @BalaRawool explains how the #Vector API enables explicit #SIMD with predictable gains.

    Learn how to turn scalar loops into portable SIMD code: javapro.io/2026/04/09/java-vec

    #API #CPU

  3. HTAP внутри OLTP: как мы строили векторизованный движок с самого начала

    Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.

    habr.com/ru/articles/1032894/

    #htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp

  4. Two more results. This time without using std::simd. One uses a plain loop over C[i, j] += A[i, k] * B[k, j] (in the inner kernel—it is still blocked over all levels of the cache hierarchy).

    This is ~10–30x slower.

    1/2

    #stdsimd #cpp26 #simd

  5. I've been looking into matrix multiplication using std::simd and std::mdspan/submdspan (all single-threaded).
    I got to 86% of peak FLOP. x86_64 AVX2 has 32/16 FLOP/cycle peak (2 FMAs per cycle).
    I suspect better performance needs a more cache-friendly layout mapping. This is using layout_right.

    #stdsimd #simd #mdspan #cpp26 #cpp

  6. Inspired by @jonhoo's `brrr` I wrote #SIMD splitting iterator which seem to work. Now, I'm not sure if I should be proud of myself, or sad I reinvented the wheel...

    For those interested: it has limitation to byte slices, but it's correct for #unaligned data (subject to future optimisations); uses nightly.

    Now it needs #benchmarks

    #rust #iterator #reinvented

  7. The fastest way to match characters on ARM processors?, lemire.me/blog/2026/04/19/the-.

    In this article, Lemir talks about two SIMD ARM SVE/SVE2 instructions: `match` and `nmatch`, which fit nicely in the _vectorized classification_ step of `simdjson`. These instructions improve the performance of `simdjson` from 11.4Gb/s to 14.4Gb/s.

    #performance #simd #arm #json #parsing

  8. Серверные FHE-ускорители для шифрования

    Защита конфиденциальных данных — одна из главных проблем при работе с LLM. Главное, чтобы облачный «вычислительный движок» выполнял работу только над зашифрованными данными, не имея доступ к открытой информации. В качестве решения проблемы предлагается полностью гомоморфное шифрование запросов (FHE). Оно позволяет организовать полностью зашифрованный канал между двумя пользователями (E2E) с сервером посредине между ними. Проблема только в том, что зашифрованные вычисления FHE в десятки тысяч раз медленнее обычных, а размер шифротекста FHE в десятки раз больше оригинала. На Международной конференции по твердотельным схемам IEEE (ISSCC) в Сан-Франциско компания Intel представила прототип чипа Heracles, ускоряющий вычисления FHE до 5000 раз по сравнению с лучшими серверными CPU. И это не единственный FHE-ускоритель в разработке.

    habr.com/ru/companies/globalsi

    #FHE #гомоморфное_шифрование #Heracles #FinFET #LLM #шифрование #автоморфизм #Intel #SIMD

  9. Modern #CPUs support #SIMD, but many #Java apps don’t fully use it. @BalaRawool shows how the #Vector #API enables explicit SIMD beyond limited auto-vectorization on the #JVM, with portable fallback.

    See how to write loops that actually vectorize:: javapro.io/2026/04/09/java-vec

  10. HotSpot auto-vectorization can speed up #Java loops—but often doesn’t apply in real-world code. @BalaRawool explains how the #Vector API enables explicit #SIMD with predictable gains.

    Learn how to turn scalar loops into portable SIMD code: javapro.io/2026/04/09/java-vec

    #API #CPU

  11. [Перевод] SIMD-парсер CSV

    Год назад я написал парсер CSV , способный обрабатывать 64 символа за раз. Он создан исключительно в исследовательских целях и в нём не учтены важнейшие этапы продакшен-парсера наподобие валидации. Сегодня я расскажу о базовом алгоритме, использующем SIMD и побитовые операции для групповой фильтрации структурных символов.

    habr.com/ru/articles/1018544/

    #парсер #csv #simd

  12. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  13. [Перевод] Agentis Memory — Redis-совместимое хранилище со встроенным векторным поиском и локальными эмбеддингами

    В наше время уже никого не удивишь разработкой агентов, очередной оптимизацией, новой моделью или новой инфраструктурой для нейронок. Всё это в порядке вещей. Однако одно дело читать в Twitter «мы написали агента X и он оптимизировал нам процессы на 300000%», и совсем другое — начать копать чуть глубже. Копнёшь — а «агентом» называют скилл с одним промптом. Разработка настоящих агентов — задача не тривиальная. Достаточно посмотреть на утёкшие исходники Claude CLI — это не просто CLI, а целая инфраструктура бизнес-логики вокруг LLM. Я бы сравнил разработку агентов с разработкой типичных бэкенд-компонентов. Аналогия такая: если вы пишете каноничный бэкенд-сервис — вам нужна СУБД. Если Web3-сервис — блокчейн. Но на СУБД или блокчейне происходит в лучшем случае 50% всей логики. Вся магия крутится именно на бэкенде. С агентами то же самое: подключаешь AI SDK, конфигурируешь мыслительное ядро и пишешь вокруг него всю обвязку — мониторинги, AIOps, оркестрацию, memory management. Вот про memory management и пойдёт речь.

    habr.com/ru/articles/1018784/

    #Redis #AI_agents #GraalVM #ONNX #embeddings #HNSW #Java_Vector_API #SIMD #Project_Loom #LLM

  14. Введение в высокопроизводительные вычисления на С++ для CPU

    " Поскольку вы программист на C++, вероятность того, что вы слегка одержимы производительностью, выше среднего. А если нет, то вы, вероятно, по крайней мере с пониманием относитесь к такой точке зрения. (Если производительность вас совсем не интересует, аудитория Python разработчиков дальше по коридору) " — Из пункта 42 книги С. Майерса “Effective Modern C++”, 2015. Эта заметка описывает мой личный взгляд на то, как писать эффективный и надежный код для CPU. Статья ориентируется на С++, но значительная часть обсуждения CPU, кэшей, паттернов доступа к памяти и профилирования применима к Rust, Go и другим компилируемым языкам. Статья задумана как краткое введение и больше всего подходит студентам, имеющим опыт программирования на занятиях, но не в реальных проектах. Для профессионалов статья может быть полезной в качестве референса, чтобы не пугать новичков чем-то в духе Что каждый программист должен знать о памяти . В статье опишу "набор новичка": godbolt.org, профилирование, бенчмарки, особенности CPU и его взаимодействия с памятью, когда есть ли смысл от асимптотических оптимизаций и почему важно при этом пользоваться санитайзерами, отслеживать coverage и вообще более трепетно относится к надёжности.

    habr.com/ru/articles/1011014/

    #высокопроизводительные_вычисления #cpu #ram #cache #simd #оптимизация #профилирование

  15. Using the proposed Zvdot4a8i RVV extension for number parsing.

    Zvdot4a8i: github.com/riscv/riscv-isa-man

    Not quite as good as it would be with 2x widening instructions, and non accumulating variants (like SSE), but still quite nice. Especially how the sifts worked out.

    #simd #riscv #rvv

  16. The RVP spec is coming along: github.com/riscv/riscv-p-spec/

    Here is a untested implementation of JPEG upsample in RVP: godbolt.org/z/r5bGGPsj5

    Note that this uses the current draft intrinsics. With the overloaded intrinsics this will be a lot less verbose. __riscv_preinterpret is still way to long IMO.

    #riscv #RVP #simd

  17. github.com/NoNaeAbC/std_simd/b

    ...this is nice bait, I clicked.

    Honestly I like boomer loops. Boomer loops are simple, easy to understand, you just have to avoid sticking twenty-seven of those inside one gigantic function like our current codebase.

    #cpp #simd

  18. 📢 New ORC 0.4.42 release of the Optimised inner loop Runtime Compiler!

    This release contains both bug fixes and new features.

    discourse.gstreamer.org/t/orc-

    #gstreamer #orc #assembly #release #opensource #simd

  19. Моё знакомство с процессором Эльбрус-8СВ. Оптимизирую сложение массива байтов

    Месяц назад мне в телеграм написал человек и предложил доступ к системе с процессором Эльбрус-8СВ. И конечно же я согласился. Так как мне интересно. Не каждый день неизвестные люди предлагают доступ к удалённым хостам. Разве может что-то пойти не так?

    habr.com/ru/articles/978730/

    #эльбрус8св #эльбрус #e2k #vliw #simd #интринсики #ассемблер #си #оптимизация_кода

  20. Итоги встречи ISO C++ на Гавайях: начинаем полировку стандарта С++26

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. Сегодня я расскажу о ноябрьской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была первая из встреч, связанных с «полировкой» C++26. Другими словами, новые фичи C++ пока не появятся — комитет должен только проработать замечания всех стран-участников, включая наши замечания от России. Однако от плана немного отступили и втащили некоторые новинки как ответы на пожелания участников комитета: std::integer_sequence оброс новой функциональностью, а std::format научился в constexpr . Помимо этого, поправили множество багов, перековыряли связку Hardening + Contracts, внесли улучшения во многие части стандартной библиотеки.

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++_программирование #simd #compiletime #compile_time #compilergenerated_code #hardening

  21. Парсим XML и JSON на ассемблере

    Отобрал для вас несколько крайне интересных, но малоизвестных проектов, реализующих работу с XML и JSON. Кроссплатформенных и без зависимостей. На чистом С и ассемблере.

    habr.com/ru/articles/964522/

    #json #xml #nasm #assembler #c_language #simd #simdjson #freebsd

  22. 💡The real reason we "need" SIMD? Because apparently, more #performance is the antidote to all life's problems, according to Nicholas Wilt's love letter to computational complexity. 🛠️ Meanwhile, the rest of us are still trying to figure out why our computers crash every time we open a spreadsheet. 🤷‍♂️
    parallelprogrammer.substack.co #SIMD #computationalcomplexity #techissues #computercrash #spreadsheetwoes #HackerNews #ngated

  23. [Перевод] StarRocks и Trino: сходства, различия, бенчмарки и кейсы

    Проект Trino (ранее PrestoSQL) изначально разработан в Meta, чтобы аналитики могли выполнять интерактивные запросы по широкому спектру хранилищ данных на базе Apache Hadoop. Благодаря эффективной обработке крупных наборов и сложных запросов, а также гибкому подключению к множеству источников данных, Trino быстро стал предпочтительным инструментом аналитики для крупных организаций. Со временем потребности пользователей в аналитике эволюционировали. С ростом мобильного интернета и SaaS-приложений критически важной стала оперативная (в том числе потоковая) аналитика. Компаниям потребовались более производительные движки, поддерживающие большое число одновременных запросов и обеспечивающие низкие задержки. На этом фоне всё больше пользователей стали искать альтернативы. StarRocks как новый аналитический движок получил широкое признание отрасли. Он демонстрирует заметные преимущества по производительности, поддержке высокой степени параллелизма и низкой задержке, привлекая внимание крупных компаний, таких как WeChat , Xiaohongshu (RedNote), Ctrip, Beike и др. Как именно StarRocks формирует свои преимущества? В чём его сходства и различия с Trino? Ниже — подробный разбор.

    habr.com/ru/articles/939370/

    #starrocks #trino #presto #векторизация #simd #материализованные_представления #query_rewrite #data_catalog #lakehouse #lakehouseплатформа_данных

  24. Встреча ISO C++ в Софии: С++26 и рефлексия

    Привет! На связи Антон Полухин из техплатформы городских сервисов Яндекса, и сейчас я расскажу о софийской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была последняя встреча, на которой новые фичи языка, с предодобренным на прошлых встречах дизайном, ещё могли попасть в C++26. И результат превзошёл все ожидания: compile-time-рефлексия рефлексия параметров функций аннотации std::optional<T&‍> параллельные алгоритмы Об этих и других новинках расскажу в посте

    habr.com/ru/companies/yandex/a

    #c++29 #с++29 #c++26 #с++26 #с++ #c++ #reflection #constexpr #exception #simd #safety #security #undefined_behavior #annotations #parallel_programming #executor #executors #ranges #coroutines

  25. Зажигаем миллиард цветов миллионом строк

    Надругательство над C# , C++ и HLSL , игрища с булками и буферами, тройная полиглотность, SIMD , пепекторы, DirectX , экономия 800 Тб ОЗУ, быстрая степень и многое другое. В этой части я расскажу и покажу, как делал софт на собственном фреймворке, который управляет ядерной подсветкой и механической видеостеной. Осторожно, трафик!

    habr.com/ru/articles/902040/

    #c# #net #C++ #hlsl #directx #подсветка #мониторы_и_тв #simd #ненормальное_программирование #программирование

  26. 💡🎉 "Expert" Marcus Geelnard graces us with a ✨riveting✨ analysis of #SIMD #ISAs, uncovering three earth-shattering #flaws that will surely revolutionize...absolutely nothing. 🤦‍♂️ Prepare yourself for a wild ride through academic jargon and #taxonomy galore, because who doesn't love a good taxonomy party? 🎈📊
    bitsnbites.eu/three-fundamenta #ExpertAnalysis #HackerNews #AcademicJargon #HackerNews #ngated

  27. Более быстрые хеш-таблицы: претенденты на место SwissTable

    24 ноября 2021 года на сайте ArXiv.org была опубликована научная статья «Крошечные указатели» ( Tiny Pointers ) с описанием новой структуры данных — «крошечных» указателей, которые указывают путь к фрагменту хранимых данных и занимают меньше памяти, чем традиционные указатели. Осенью 2021 года эту статью заметил Андрей Крапивин (Andrew Krapivin), студент Ратгерского университета в Нью-Джерси, и не придал ей особого значения, пишет Quanta Magazine, журнал о последних достижениях в математике ( перевод статьи на Хабре). Только через два года он нашёл время, чтобы внимательно ознакомиться с материалом. И понял, насколько это прорывное изобретение, если применить его для оптимизации хеш-таблиц. Данная тема уже упоминалась на Хабре , но заслуживает более подробного обсуждения.

    habr.com/ru/companies/ruvds/ar

    #ruvds_статьи #хештаблицы #наука_о_данных #крошечные_указатели #ассоциативный_массив #структура_данных #поиск #вставка #предельная_скорость #равномерное_зондирование #uniform_probing #линейное_зондирование #дерево_с_поворотом #расширяющееся_дерево #красночёрное_дерево #Koloboke #SmoothieMap #ChronicleMap #SwissTable #F14 #SIMD

  28. Векторизация в RISC-V. Основы

    Многие современные вычислительные задачи, в частности повсеместная обработка изображений и звука или работа с матрицами для ИИ, хорошо поддаются параллелизации на уровне данных. Чтобы ускорить такие вычисления, производители процессоров добавили в архитектуры специальные SIMD инструкции, которые позволяют работать за одну инструкцию сразу с несколькими элементами. В процессорах архитектуры x86 SIMD инструкции добавляются по принципу ad hoc. Из-за такого подхода, легаси и требований обратной совместимости в x86 накопилось много проблем. Архитектура RISC-V относительно молодая, и при её разработке учтён прошлый опыт. В основе подхода к SIMD в RISC-V заложили идею чистого векторного процессора. В этой статье рассмотрим основные принципы работы векторного процессора и базовые векторные операции с памятью и арифметикой.

    habr.com/ru/articles/891356/

    #riscv #simd #векторизация #asic #systemverilog

  29. C++26 — встреча ISO в Хагенберге

    В середине февраля в Хагенберге состоялась встреча международного комитета по стандартизации языка программирования C++. В этот раз прорабатывались следующие большие темы: std::hive Constexpr, ещё больше constexpr Безопасность, контракты, hardening, профили, UB и std::launder Relocate #embed Об этом и других новинках расскажу в посте

    habr.com/ru/companies/yandex/a

    #c++29 #с++29 #c++26 #с++26 #с++ #c++ #reflection #constexpr #exception #simd #safety #security #undefined_behavior #memory #byte #bit #contracts #relocation #hive #object_pool #embed

  30. ISO C++ — встреча международного комитета в Польше

    В конце ноября состоялась встреча международного комитета по стандартизации языка программирования C++. В этот раз без внимания не остались темы: Рефлексия времени компиляции и оператор «монобровь» Constexpr, много constexpr SIMD Structured bindings as a pack Безопасность, контракты, libc++ hardening, профили, UB и std::launder Сколько бит в байте? Об этом и других новинках расскажу в посте

    habr.com/ru/companies/yandex/a

    #c++26 #с++26 #с++ #c++ #reflection #constexpr #consteval #exception #simd #safety #security #undefined_behavior #memory #byte #bit

  31. If you work with SIMD and wonder how it looks on the other architectures then VectorCamp has launched website which helps.

    On simd.info/ you can look which intrinsics are available on Arm, Power and x86-64 (RISC-V RVV will be there too). Compare them etc.

    There is a search function, tree of operations and links to the official documentation.

    #simd #neon #avx #sve #vsx #sse

  32. Сказ о том, как мы искали новые векторные расширения на ARM

    Мы в Smart Engines активно занимаемся низкоуровневой оптимизацией нейронных сетей. Наши библиотеки работают на центральных процессорах, поэтому мы активно используем Single Instruction Multiple Data (SIMD) расширения. SSE, AVX и NEON уже стали привычными, но в свежих версиях архитектуры ARM были представлены новые расширения: SVE, SVE2, а также SME. Вот о них мы и поговорим в этой статье.

    habr.com/ru/companies/smarteng

    #SIMD #armv8 #SVE #SME #NEON #процессоры #нейронные_сети #оптимизация

  33. Теоретическая и реальная производительность Intel AMX

    AMX (Advanced Matrix Extension) - это модуль аппаратного ускорения умножения матриц, который появился в серверных процессорах Intel Xeon Scalable, начиная с 4 поколения (архитектура Sapphire Rapids). В начале этого года ко мне в руки наконец попал сервер, с данным типом процессора. Конкретно модель Xeon(R) Gold 5412U - это 24 ядерный процессор с тактовой частотой в 2.1 GHz. При этом 8 приоритетных ядер могут разгонятся до 2.3 GHz, а 1 ядро до 3.9 GHz в Turbo Boost). Кроме того данный процессор поддерживает 8 канальную DDR-5 4400 MT/s. Мне как человеку, достаточно долгое время посвятившему оптимизации алгоритмов компьютерного зрения и запуска нейронный сетей на CPU (библиотеки Simd и Synet ), было интересно: на сколько AMX позволяет реально ускорить вычисления и как извлечь из него максимальную производительность. Далее я постараюсь максимально подробно ответить на данные вопросы. Прежде все я буду касаться вопросов однопоточной производительности (многопоточную рассмотрю позже). Далее много кода на С++...

    habr.com/ru/articles/807033/

    #AMX #SIMD #умножение_матриц #с++ #инференс

  34. Hi everyone!

    Was chatting with a few students and enthusiasts about the how part of why CPUs are so fast. It covers SIMD, multiple ALUs and Out of Order Execution.

    Converted it into a Git Gist and added some more practical examples that should be approachable to anyone who's written a `for` or `while` loop at some point.

    Please find it here: gist.github.com/FCLC/8322c7e0f

    #CPU #SIMD #HPC #x86 #arm #C #OoO #OOE