Zavřít

Root

Dlouho očekávaná podpora SIMD operací v programovacím jazyku Go (2. část)

Před 16 dny
Dokončíme popis dnes stále ještě experimentálního balíčku simd/archsimd, ve kterém jsou implementovány všechny nízkoúrovňové SIMD operace, například včetně permutace vektorů apod. Na úvodní článek o podpoře SIMD operací v programovacím jazyku Go dnes navážeme. Dokončíme popis (dnes stále ještě experimentálního) balíčku simd/archsimd, ve kterém jsou implementovány všechny nízkoúrovňové SIMD operace. Většina těchto operací je provedena jednou instrukcí spadající do rozšíření instrukční sady SSE (Streaming SIMD Extensions), SSE2 (popř. SSE3 či SSE4), AVX (Advanced Vector Extensions), AVX2 a v případě širokých vektorů nebo sofistikovanějších operací pak AVX-512. V navazujícím článku pak celé téma dokončíme, protože si popíšeme balíček simd (už bez /archsimd), který obsahuje vysokoúrovňové SIMD operace, u nichž již většinou neexistuje přímá vazba mezi volanou metodou a instrukcí provedenou mikroprocesorem.
 Komentáře
Reklama