A Go egyre jobb SIMD-támogatása: platformfüggetlen SIMD-interfész

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A Go 1.26 óta kísérleti API-k érhetők el a modern CPU-k SIMD-képességeinek kihasználására. A Go 1.26-ban ez kezdetben a modern x86_64 utasításkészletekre, például az AVX-re koncentrált, a Go 1.27 pedig kiterjesztette a támogatást az ARM64 világára, a NEON-ra.

A Go nyelv SIMD csomagja jelenleg támogatja az AVX, AVX2, AVX-512, Arm NEON és WASM SIMD utasításokat.

Nemcsak az egyes CPU-architektúrák eltérő megvalósításai, hanem a különböző fix méretű vektorok és viselkedésbeli különbségek miatt is a Go 1.27 egy teljesen hordozható, platform- és méretfüggetlen SIMD interfészt is bevezetett, amelyet a Google Highway könyvtára alapján alakítottak ki.

A Go 1.28-ban a fejlesztők Arm SVE támogatást terveznek hozzáadni a SIMD kódhoz. Emellett az interfész által támogatott SIMD műveletek köre is bővülni fog.

Akik szeretnének többet megtudni a Go programozási nyelv SIMD-támogatásáról, további részleteket találnak az új bejegyzésben a Go.dev blogon.