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/

#API #CPU

RVV Instruction Timings - Tenstorrent Ascalon X

Making cross-platform SIMD code pleasant | Branimir Karadžić's Home Page

Branimir Karadžić's Home Page

simdjson

simdjson은 SIMD 명령어와 마이크로 병렬 알고리즘을 활용해 기존 JSON 파서 대비 최대 4배 이상 빠른 속도를 내는 고성능 JSON 파서 라이브러리입니다. UTF-8 완전 검증과 무손실 파싱을 지원하며, CPU에 최적화된 파서를 런타임에 자동 선택해 별도 설정 없이도 최적 성능을 발휘합니다. C++17 이상 환경에서 쉽게 사용할 수 있고, 다양한 언어 바인딩과 포트를 제공해 Python, Rust, C#, Node.js 등 여러 생태계에서 활용 가능합니다. 대규모 JSON 데이터 처리 및 AI/ML 인프라에서 JSON 입출력 병목 해소에 유용한 도구입니다.

https://github.com/simdjson/simdjson

#json #simd #parser #performance #cpp

GitHub - simdjson/simdjson: Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks

Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks - simdjson/simdjson

GitHub

Fc, a lossless compressor for floating-point streams

fc는 IEEE-754 64비트 부동소수점 스트림을 위한 손실 없는 압축기 라이브러리로, 여러 특화 코덱을 블록 단위로 경쟁시켜 최적의 압축 결과를 선택한다. 멀티스레드와 x86-64 SIMD 명령어(AVX2, SSE4.2 등)를 활용해 빠른 압축 및 해제를 지원하며, 특히 구조화된 부동소수점 데이터에서 뛰어난 압축률을 보인다. 인코딩 속도는 다소 느리지만 디코딩 속도가 매우 빠르고, 시계열 데이터 저장소에 적합하다. 오픈소스 연구용 라이브러리로 Apache 2.0 라이선스 하에 배포된다.

https://github.com/xtellect/fc

#floatingpoint #compression #lossless #simd #multithreading

GitHub - xtellect/fc: fc is a research-grade, lossless floating point compressor.

fc is a research-grade, lossless floating point compressor. - xtellect/fc

GitHub

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 предсказуемым. Мы разбирали p99 latency и почему оно уезжает при смешанной нагрузке. Писали про API-контракты между...

Хабр

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

Making cross-platform SIMD code pleasant

bx 라이브러리의 최신 SIMD 지원은 플랫폼 간 차이와 복잡한 타입 시스템 문제를 해결하여, SIMD 코드를 더 직관적이고 유지보수하기 쉽게 만들었다. typeless SIMD 접근법을 채택해 정수와 부동소수점 연산 간 타입 변환의 번거로움을 제거하고, simd32_t를 도입해 기존 C/C++ 코드를 SIMD화하는 진입 장벽을 낮췄다. 또한 ABI 차이를 고려한 설계로 다양한 플랫폼에서 성능 저하 없이 작동하며, SSA 스타일 코딩과 명확한 네이밍 규칙으로 디버깅과 최적화가 용이하다. 이로써 SIMD 코딩의 복잡성을 크게 줄이고, 동일한 코드가 여러 SIMD 레지스터 폭에서 효율적으로 실행될 수 있다.

https://bkaradzic.github.io/posts/typeless-simd/

#simd #crossplatform #bxlibrary #typelesssimd #abi

Making cross-platform SIMD code pleasant | Branimir Karadžić's Home Page

Branimir Karadžić's Home Page

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

Ted (@tudoroancea)

배칭을 더 늘리고 4개의 SIMD 레인과 12개 스레드(M4 Max의 12개 퍼포먼스 코어)를 활용한 최적화로 초당 7천만~8천만 토큰 처리 속도를 달성할 수 있다고 언급했다. 추론 성능 개선과 하드웨어 최적화에 관한 기술적 내용이다.

https://x.com/tudoroancea/status/2050937732034187760

#batching #simd #performance #tokens #optimization

Ted (@tudoroancea) on X

@alexocheema with more batching over 4 simd lanes and 12 threads (on 12 perf cores on m4 max) and some other tricks we can get up to 70-80M tok/sec

X (formerly Twitter)