#simd — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #simd, aggregated by home.social.
-
New blog post "Introduction to std::simd in C++26 (Part 1)": https://mattkretz.github.io/2026/05/21/intro-to-std-simd-part-1.html
-
New blog post "Introduction to std::simd in C++26 (Part 1)": https://mattkretz.github.io/2026/05/21/intro-to-std-simd-part-1.html
-
New blog post "Introduction to std::simd in C++26 (Part 1)": https://mattkretz.github.io/2026/05/21/intro-to-std-simd-part-1.html
-
New blog post "Introduction to std::simd in C++26 (Part 1)": https://mattkretz.github.io/2026/05/21/intro-to-std-simd-part-1.html
-
New blog post "Introduction to std::simd in C++26 (Part 1)": https://mattkretz.github.io/2026/05/21/intro-to-std-simd-part-1.html
-
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: https://javapro.io/2026/04/09/java-vector-api-faster-vector-computations-for-the-jvm/
-
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: https://javapro.io/2026/04/09/java-vector-api-faster-vector-computations-for-the-jvm/
-
Tenstorrent submitted the full rvv-bench results for Ascalon-X and Ascalon-S:
https://camel-cdr.github.io/rvv-bench-results/tt_asc_x/index.html
https://camel-cdr.github.io/rvv-bench-results/tt_asc_s/index.html
-
Tenstorrent submitted the full rvv-bench results for Ascalon-X and Ascalon-S:
https://camel-cdr.github.io/rvv-bench-results/tt_asc_x/index.html
https://camel-cdr.github.io/rvv-bench-results/tt_asc_s/index.html
-
Tenstorrent submitted the full rvv-bench results for Ascalon-X and Ascalon-S:
https://camel-cdr.github.io/rvv-bench-results/tt_asc_x/index.html
https://camel-cdr.github.io/rvv-bench-results/tt_asc_s/index.html
-
Tenstorrent submitted the full rvv-bench results for Ascalon-X and Ascalon-S:
https://camel-cdr.github.io/rvv-bench-results/tt_asc_x/index.html
https://camel-cdr.github.io/rvv-bench-results/tt_asc_s/index.html
-
Tenstorrent submitted the full rvv-bench results for Ascalon-X and Ascalon-S:
https://camel-cdr.github.io/rvv-bench-results/tt_asc_x/index.html
https://camel-cdr.github.io/rvv-bench-results/tt_asc_s/index.html
-
HTAP внутри OLTP: как мы строили векторизованный движок с самого начала
Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.
https://habr.com/ru/articles/1032894/
#htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp
-
HTAP внутри OLTP: как мы строили векторизованный движок с самого начала
Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.
https://habr.com/ru/articles/1032894/
#htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp
-
HTAP внутри OLTP: как мы строили векторизованный движок с самого начала
Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.
https://habr.com/ru/articles/1032894/
#htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp
-
HTAP внутри OLTP: как мы строили векторизованный движок с самого начала
Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.
https://habr.com/ru/articles/1032894/
#htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp
-
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
-
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
-
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
-
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. -
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. -
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. -
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. -
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. -
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
-
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
-
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
-
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
-
The fastest way to match characters on ARM processors?, https://lemire.me/blog/2026/04/19/the-fastest-way-to-match-characters-on-arm-processors/.
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.
-
The fastest way to match characters on ARM processors?, https://lemire.me/blog/2026/04/19/the-fastest-way-to-match-characters-on-arm-processors/.
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.
-
The fastest way to match characters on ARM processors?, https://lemire.me/blog/2026/04/19/the-fastest-way-to-match-characters-on-arm-processors/.
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.
-
The fastest way to match characters on ARM processors?, https://lemire.me/blog/2026/04/19/the-fastest-way-to-match-characters-on-arm-processors/.
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.
-
The fastest way to match characters on ARM processors?, https://lemire.me/blog/2026/04/19/the-fastest-way-to-match-characters-on-arm-processors/.
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.
-
Серверные FHE-ускорители для шифрования
Защита конфиденциальных данных — одна из главных проблем при работе с LLM. Главное, чтобы облачный «вычислительный движок» выполнял работу только над зашифрованными данными, не имея доступ к открытой информации. В качестве решения проблемы предлагается полностью гомоморфное шифрование запросов (FHE). Оно позволяет организовать полностью зашифрованный канал между двумя пользователями (E2E) с сервером посредине между ними. Проблема только в том, что зашифрованные вычисления FHE в десятки тысяч раз медленнее обычных, а размер шифротекста FHE в десятки раз больше оригинала. На Международной конференции по твердотельным схемам IEEE (ISSCC) в Сан-Франциско компания Intel представила прототип чипа Heracles, ускоряющий вычисления FHE до 5000 раз по сравнению с лучшими серверными CPU. И это не единственный FHE-ускоритель в разработке.
https://habr.com/ru/companies/globalsign/articles/1022576/
#FHE #гомоморфное_шифрование #Heracles #FinFET #LLM #шифрование #автоморфизм #Intel #SIMD
-
Серверные FHE-ускорители для шифрования
Защита конфиденциальных данных — одна из главных проблем при работе с LLM. Главное, чтобы облачный «вычислительный движок» выполнял работу только над зашифрованными данными, не имея доступ к открытой информации. В качестве решения проблемы предлагается полностью гомоморфное шифрование запросов (FHE). Оно позволяет организовать полностью зашифрованный канал между двумя пользователями (E2E) с сервером посредине между ними. Проблема только в том, что зашифрованные вычисления FHE в десятки тысяч раз медленнее обычных, а размер шифротекста FHE в десятки раз больше оригинала. На Международной конференции по твердотельным схемам IEEE (ISSCC) в Сан-Франциско компания Intel представила прототип чипа Heracles, ускоряющий вычисления FHE до 5000 раз по сравнению с лучшими серверными CPU. И это не единственный FHE-ускоритель в разработке.
https://habr.com/ru/companies/globalsign/articles/1022576/
#FHE #гомоморфное_шифрование #Heracles #FinFET #LLM #шифрование #автоморфизм #Intel #SIMD
-
Серверные FHE-ускорители для шифрования
Защита конфиденциальных данных — одна из главных проблем при работе с LLM. Главное, чтобы облачный «вычислительный движок» выполнял работу только над зашифрованными данными, не имея доступ к открытой информации. В качестве решения проблемы предлагается полностью гомоморфное шифрование запросов (FHE). Оно позволяет организовать полностью зашифрованный канал между двумя пользователями (E2E) с сервером посредине между ними. Проблема только в том, что зашифрованные вычисления FHE в десятки тысяч раз медленнее обычных, а размер шифротекста FHE в десятки раз больше оригинала. На Международной конференции по твердотельным схемам IEEE (ISSCC) в Сан-Франциско компания Intel представила прототип чипа Heracles, ускоряющий вычисления FHE до 5000 раз по сравнению с лучшими серверными CPU. И это не единственный FHE-ускоритель в разработке.
https://habr.com/ru/companies/globalsign/articles/1022576/
#FHE #гомоморфное_шифрование #Heracles #FinFET #LLM #шифрование #автоморфизм #Intel #SIMD
-
Серверные FHE-ускорители для шифрования
Защита конфиденциальных данных — одна из главных проблем при работе с LLM. Главное, чтобы облачный «вычислительный движок» выполнял работу только над зашифрованными данными, не имея доступ к открытой информации. В качестве решения проблемы предлагается полностью гомоморфное шифрование запросов (FHE). Оно позволяет организовать полностью зашифрованный канал между двумя пользователями (E2E) с сервером посредине между ними. Проблема только в том, что зашифрованные вычисления FHE в десятки тысяч раз медленнее обычных, а размер шифротекста FHE в десятки раз больше оригинала. На Международной конференции по твердотельным схемам IEEE (ISSCC) в Сан-Франциско компания Intel представила прототип чипа Heracles, ускоряющий вычисления FHE до 5000 раз по сравнению с лучшими серверными CPU. И это не единственный FHE-ускоритель в разработке.
https://habr.com/ru/companies/globalsign/articles/1022576/
#FHE #гомоморфное_шифрование #Heracles #FinFET #LLM #шифрование #автоморфизм #Intel #SIMD
-
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:: https://javapro.io/2026/04/09/java-vector-api-faster-vector-computations-for-the-jvm/
-
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:: https://javapro.io/2026/04/09/java-vector-api-faster-vector-computations-for-the-jvm/
-
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.
-
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.
-
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: https://javapro.io/2026/04/09/java-vector-api-faster-vector-computations-for-the-jvm/
-
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: https://javapro.io/2026/04/09/java-vector-api-faster-vector-computations-for-the-jvm/
-
[Перевод] SIMD-парсер CSV
Год назад я написал парсер CSV , способный обрабатывать 64 символа за раз. Он создан исключительно в исследовательских целях и в нём не учтены важнейшие этапы продакшен-парсера наподобие валидации. Сегодня я расскажу о базовом алгоритме, использующем SIMD и побитовые операции для групповой фильтрации структурных символов.
-
[Перевод] SIMD-парсер CSV
Год назад я написал парсер CSV , способный обрабатывать 64 символа за раз. Он создан исключительно в исследовательских целях и в нём не учтены важнейшие этапы продакшен-парсера наподобие валидации. Сегодня я расскажу о базовом алгоритме, использующем SIMD и побитовые операции для групповой фильтрации структурных символов.
-
[Перевод] SIMD-парсер CSV
Год назад я написал парсер CSV , способный обрабатывать 64 символа за раз. Он создан исключительно в исследовательских целях и в нём не учтены важнейшие этапы продакшен-парсера наподобие валидации. Сегодня я расскажу о базовом алгоритме, использующем SIMD и побитовые операции для групповой фильтрации структурных символов.
-
[Перевод] SIMD-парсер CSV
Год назад я написал парсер CSV , способный обрабатывать 64 символа за раз. Он создан исключительно в исследовательских целях и в нём не учтены важнейшие этапы продакшен-парсера наподобие валидации. Сегодня я расскажу о базовом алгоритме, использующем SIMD и побитовые операции для групповой фильтрации структурных символов.
-
С++26 — готов! Итоги встречи ISO C++ в Кройдоне
Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки
https://habr.com/ru/companies/yandex/articles/1015474/
#contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening
-
С++26 — готов! Итоги встречи ISO C++ в Кройдоне
Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки
https://habr.com/ru/companies/yandex/articles/1015474/
#contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening
-
С++26 — готов! Итоги встречи ISO C++ в Кройдоне
Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки
https://habr.com/ru/companies/yandex/articles/1015474/
#contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening