Go's Improving SIMD Support, Platform-Independent SIMD Interface

Go's Improving SIMD Support, Platform-Independent SIMD Interface

A new blog post published on Thursday covers the experimental support for SIMD with the Go programming language. This expanding Go SIMD support also includes a platform-independent API for making use of SIMD with modern processors. Since Go 1.26 there has been experimental APIs for leveraging SIMD with modern CPUs. With Go 1.26 it initially target modern x86_64 capabilities like AVX while Go 1.27 expanded the support to the ARM64 world with NEON. The Go language's SIMD package currently supports AVX, AVX2, AVX-512, Arm NEON, and WASM SIMD instructions. Due to not only the varying implementations across CPU architectures but also the varying fixed-size vectors and behavioral differences there, Go 1.27 also introduced a fully portable, platform and size-agnostic SIMD interface they modeled around Google's Highway library. With Go 1.28, developers are planning on adding Arm SVE support to the SIMD code. Plus more SIMD operations being supported by their interface is also planned. Those wanting to learn more about this SIMD support in the Go programming language can learn more via the new post on the Go.dev blog.

Original Source

Read the full article at Phoronix →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.