Finding a billion factorials in 60 ms with SIMD
https://codeforces.com/blog/entry/143279
#HackerNews #Finding #a #billion #factorials #in #60 #ms #with #SIMD #codeforces #SIMD #performance #factorials #computing
Finding a billion factorials in 60 ms with SIMD
https://codeforces.com/blog/entry/143279
#HackerNews #Finding #a #billion #factorials #in #60 #ms #with #SIMD #codeforces #SIMD #performance #factorials #computing
And we just renamed it again. Who would have thought that we can name something 'vec' when we already have 'vector' 😅.
It'll be std::simd::vec<T, N> and std::simd::mask<T, N> in C++26.
Also vec and mask are (read-only) ranges now (range-based for works) and we got permutations, gather & scatter, compress & expand as well as mask conversions to and from bitset and unsigned. 🥳
Lot's of implementation and optimization work ahead for me now.
Зажигаем миллиард цветов миллионом строк
Надругательство над C# , C++ и HLSL , игрища с булками и буферами, тройная полиглотность, SIMD , пепекторы, DirectX , экономия 800 Тб ОЗУ, быстрая степень и многое другое. В этой части я расскажу и покажу, как делал софт на собственном фреймворке, который управляет ядерной подсветкой и механической видеостеной. Осторожно, трафик!
https://habr.com/ru/articles/902040/
#c# #net #C++ #hlsl #directx #подсветка #мониторы_и_тв #simd #ненормальное_программирование #программирование
Зажигаем миллиард цветов миллионом строк
Надругательство над C# , C++ и HLSL , игрища с булками и буферами, тройная полиглотность, SIMD , пепекторы, DirectX , экономия 800 Тб ОЗУ, быстрая степень и многое другое. В этой части я расскажу и покажу, как делал софт на собственном фреймворке, который управляет ядерной подсветкой и механической видеостеной. Осторожно, трафик!
https://habr.com/ru/articles/902040/
#c# #net #C++ #hlsl #directx #подсветка #мониторы_и_тв #simd #ненормальное_программирование #программирование
New blog post "Sep 0.11.0 - 9.5 GB/s CSV Parsing Using ARM NEON SIMD on Apple M1 🚀"
🛠️ New #ARM #NEON #SIMD parser based on @geofflangdale bulk move mask
📈 Sep #performance up from 7 GB/s on #Apple #M1 and 1.5x faster on #Microsoft #Cobalt 100 (4 GB/s to 6 GB/s)
more #chess bit tricks
https://87flowers.com/gf2p8affineqb-piece-directions/
#simd #x86
🌕 子字串搜尋的SIMD友善演算法
➤ 如何利用SIMD指令集提升字串搜尋效率
✤ http://0x80.pl/notesen/2016-11-28-simd-strfind.html
本文探討了在現代CPU架構下,針對字串搜尋問題的效能優化。傳統字串搜尋演算法(如Knuth-Morris-Pratt、Boyer Moore、Karp-Rabin)假設單個字元比較是廉價操作,但現代CPU的SIMD指令集允許同時比較多個字元,使得傳統假設不再成立。文章介紹了兩種利用SIMD指令集優化字串搜尋的方法,並提供了從SWAR到AVX512F等不同實現的效能測試結果,證明瞭SIMD在提升搜尋效率上的潛力。
+ 這篇文章深入淺出地解釋了SIMD運算在字串搜尋中的應用,對於想提升程式效能的開發者來說很有幫助。
+ 實際的效能測試數據讓人信服,SIMD確實能在某些情況下大幅提升搜尋速度。
#演算法 #SIMD #程式效能
I'm putting a talk together about #programming Mandelbrot image generator with insight into profiling and optimisation. Main part will be normal optimisations, #simd, #multithreading, and possibly gpu acceleration.
I'll also show micro benchmarking, hotspot/perf, intel advisor, and also inspecting assembly code.
Any other interesting bits I should look into putting into my talk?
SIMD-friendly algorithms for substring searching
http://0x80.pl/notesen/2016-11-28-simd-strfind.html
#HackerNews #SIMD #algorithms #substring #searching #performance #optimization
Believe it or not, it’s 2025 and I just implemented the first “standard FIR” class in my #DSP library for #PédaleVite (#DIY guitar/bass #multiFX). Such a basic processing neglected for years…
It’s optimized using #SIMD instruction sets (NEON and SSE) so I can run a 4096-tap impulse at 2.7 % CPU load per #audio channel on a #RaspberryPi5. This means a decent cabinet simulation without any of these complex zero-latency partitioned convolution algorithms.
https://gitlab.com/EleonoreMizo/pedalevite/-/blob/master/src/mfx/dsp/fir/Fir.h
@Methylzero @diehlpk @hpcnotes I've been asking that question since 2009, when I started doing #SIMD. It's not just GPUs where this makes a difference. FP32 is significantly more efficient on CPUs since a long time.
I decided to share my Arm NEON optimizations for the FFmpeg Cinepak encoder. On Apple Silicon / RPI / NEON 32/64-bit, it gets a 250-300% speedup for encoding:
and for the #IEEE754 / #floatingpoint nerds (you know who you are!) here's a much more definitive answer/breakdown of our IEEE Binary FP32 conformance for the Vector Unit! https://github.com/tenstorrent/tt-isa-documentation/blob/main/WormholeB0/TensixTile/TensixCoprocessor/SFPMAD.md#ieee754-conformance--divergence
Beware of Fast-Math | Hacker News
LinkBeware of Fast-Math
SIMD на x86 — чудовище Франкенштейна?
Общее количество всех команд во всех этих расширениях — 1342 инструкции ! От комментариев воздержусь, оставлю эту привилегию читателю )) При этом SIMD на RiscV очень хвалят, как очень продуманный, минималистичный, при этом мощный и выразительный: https://www.youtube.com/watch?v=lwIBp6cc-HY
SIMD blog series: @folkertdev shows examples of using SIMD in the zlib-rs project.
Part 2 explains what to do when the compiler is not capable of using the SIMD capabilities of modern CPUs effectively. We end up with a basic, but very effective, example of a custom SIMD implementation beating the compiler.
https://tweedegolf.nl/en/blog/155/simd-in-zlib-rs-part-2-compare256
#charlottedewitte #techno and #simd #assembly go great together
https://www.youtube.com/watch?v=9V6ZAGvCrDc
[Перевод] Объяснение графических процессоров для тех, кто привык работать с ЦП
За годы работы я подробно изучил, как центральные процессоры (CPU) выполняют код и как они устроены внутри. Дело в том, что я участвовал в разработке ядра Linux и ScyllaDB, а этот код очень близок к металлу. Я даже немного баловался с Verilog, безрезультатно попытавшись собрать моё собственное ядро RISC-V. Графические процессоры (GPU) в отличие от обычных в основном оставались для меня чёрным ящиком, несмотря на то, что поработать с ними всё-таки довелось. Помню, что экспериментировал с NVIDIA RIVA 128 или чем-то подобным, проверяя, как там работает DirectX. Тогда такие процессоры ещё не выделялись на фоне ускорителей 3D-графики. Я также пытался идти в ногу со временем и немного упражнялся в программировании элементарных шейдеров на современных GPU. Но я никогда глубоко не вдавался в работу с GPU, и мои взгляды можно назвать CPU-центричными. Однако, поскольку сегодня наблюдается всплеск рабочих нагрузок, связанных с ИИ, и, в частности, приходится работать с большими языковыми моделями (БЯМ), графические процессоры становятся незаменимыми для современных вычислений. К задачам, решаемым с применением ИИ, относятся масштабные прикладные тензорные операции, в том числе — сложение и перемножение матриц. А это уже работа для GPU. Но как современный GPU выполняет их, и насколько при этом возрастает эффективность по сравнению с выполнением таких же рабочих нагрузок на CPU?
https://habr.com/ru/companies/timeweb/articles/909122/
#timeweb_статьи_перевод #gpu #linux #scylladb #nvidia #cpu #процессор #искусственный_интеллект #cuda #simd