The first part of std::simd just landed in #GCC 16: https://forge.sourceware.org/gcc/gcc-mirror/commit/8be0893fd98c9a89bbcd81e0ff8ebae60841d062
Expect it on Compiler Explorer in — I guess — 12 hours.

#simd #wg21 #cpp #cpp26 #cplusplus

libstdc++: Implement [simd] for C++26 · 8be0893fd9

This implementation differs significantly from the std::experimental::simd implementation. One goal was a reduction in template instantiations wrt. what std::experimental::simd did. Design notes: - bits/vec_ops.h contains concepts, traits, and functions for working with GNU vector builtins t...

Sourceware Forge: Core Toolchain and Developer Tools
🌘 NumKong:為所有人打造的 2,000 個混合精度核心 🦍
➤ 跨越硬體碎片的極致數值運算引擎
https://ashvardanian.com/posts/numkong/
Ash Vardanian 發布了其迄今為止規模最大的開源專案「NumKong」,作為 SimSIMD 的繼承者。該項目包含超過 2,000 個針對不同硬體架構(如 RISC-V、Intel AMX、AVX-512、Arm SME)優化的 SIMD 核心,支援從 Float6 到 Float118 的多種精度。NumKong 旨在解決數值計算中速度與精度的取捨問題,並透過高度優化的內核,在保持 5MB 以下極小體積的同時,為 Python、Rust、C++ 等 7 種程式語言提供強大的 BLAS 級數值處理能力,為 AI 推理與向量搜尋提供極致效能。
+ 令人驚艷,雖然 RISC-V 的現狀依然混亂,但 NumKong 成功將這些複雜的硬體特性抽象化,簡化了開發者的工作。
+ 為了極致效能竟然拋棄了 OpenBLAS 這種標準,
#高效能運算 (HPC) #SIMD 指令集 #軟體工程 #數值計算
NumKong: 2'000 Mixed Precision Kernels For All 🦍

Over 2'000 SIMD kernels for mixed-precision BLAS-like numerics across 7 languages — from Float6 to Float118, on RISC-V, Intel AMX, and Apple SME, in 5 MB.

Ash's Blog

Sep, the world's fastest #dotnet CSV parser, just hit 🔟 million downloads. Thanks guys! 🚀

https://github.com/nietras/Sep

#csharp #csv #simd #x86 #ARM

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

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

https://habr.com/ru/articles/1011014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1011014

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

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

Поскольку вы программист на C++, вероятность того, что вы слегка одержимы производительностью, выше среднего. А если нет, то вы, вероятно, по крайней мере с пониманием относитесь к такой точке зрения....

Хабр

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

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

https://habr.com/ru/articles/1011014/

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

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

Поскольку вы программист на C++, вероятность того, что вы слегка одержимы производительностью, выше среднего. А если нет, то вы, вероятно, по крайней мере с пониманием относитесь к такой точке зрения....

Хабр

Using the proposed Zvdot4a8i RVV extension for number parsing.

Zvdot4a8i: https://github.com/riscv/riscv-isa-manual/pull/2576

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

🌗 利用 ARM NEON 指令集實現每秒數十 GB 的前綴和運算
➤ 突破序列計算瓶頸,探究高效能向量化算法
https://lemire.me/blog/2026/03/08/prefix-sums-at-tens-of-gigabytes-per-second-with-arm-neon/
在資料處理中,「前綴和」(Prefix Sum)是常見的需求,即計算序列的累加總和。傳統的 C 語言迴圈方法受限於逐項累加的序列依賴性,效能通常受限於處理器的時脈頻率。Daniel Lemire 在本文中探討如何突破此限制,利用 ARM NEON 的 SIMD(單指令多數據流)技術,通過並行化向量運算,顯著提升計算吞吐量,達到每秒處理數十 GB 資料的驚人速度。
+ 這種透過位移與加法(shift-and-add)來達成向量化前綴和的技巧非常優雅,對於大數據處理系統來說是極佳的效能優化手段。
+ 雖然理論上講前綴和具有序列依賴性,但透過 NEON 暫存器內的並行處理,確實能將效能推向極致。這再次證明瞭
#軟體效能優化 #ARM NEON #SIMD #前綴和 (Prefix Sum)
Prefix sums at tens of gigabytes per second with ARM NEON

Suppose that you have a record of your sales per day. You might want to get a running record where, for each day, you are told how many sales you have made since the start of the year. day sales per day running sales 1 10$ 10 $ 2 15$ 25 $ 3 5$ 30 … Continue reading Prefix sums at tens of gigabytes per second with ARM NEON

Daniel Lemire's blog

The RVP spec is coming along: https://github.com/riscv/riscv-p-spec/blob/master/P-ext-proposal.adoc

Here is a untested implementation of JPEG upsample in RVP: https://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

riscv-p-spec/P-ext-proposal.adoc at master · riscv/riscv-p-spec

RISC-V Packed SIMD Extension. Contribute to riscv/riscv-p-spec development by creating an account on GitHub.

GitHub

https://github.com/NoNaeAbC/std_simd/blob/main/README.md

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

The Evolution of x86 SIMD: From SSE to AVX-512 | BGs Labs

Burak Güngörs lab where he does some stuff