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. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. Серверные 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

  25. Серверные 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

  26. Серверные 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

  27. Серверные 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

  28. 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

  29. 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

  30. Now I see that #vibecoding is a good educational tool if you are lazy but still get pleasure from using your brain.

    The first version was a slow naive implementation. An LLM optimized it with #bitwise tricks, but was bad at explaining them. Another LLM explained the algorithm with a guide on Single Instruction Multiple Data (within-a-register) processing.

    I've never encountered these tricks in my working routine and probably would have never tried them without a practical need. Now I'm at least aware of them, thanks to playing with evil ai. Everything at zero cost.

    #SIMD #SWAR #ConnectIQ

  31. Now I see that #vibecoding is a good educational tool if you are lazy but still get pleasure from using your brain.

    The first version was a slow naive implementation. An LLM optimized it with #bitwise tricks, but was bad at explaining them. Another LLM explained the algorithm with a guide on Single Instruction Multiple Data (within-a-register) processing.

    I've never encountered these tricks in my working routine and probably would have never tried them without a practical need. Now I'm at least aware of them, thanks to playing with evil ai. Everything at zero cost.

    #SIMD #SWAR #ConnectIQ

  32. 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

  33. 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

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

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

    habr.com/ru/articles/1018544/

    #парсер #csv #simd

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

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

    habr.com/ru/articles/1018544/

    #парсер #csv #simd

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

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

    habr.com/ru/articles/1018544/

    #парсер #csv #simd

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

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

    habr.com/ru/articles/1018544/

    #парсер #csv #simd

  38. С++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

  39. С++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

  40. С++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