SIMD and Go

Your CPU can add eight numbers in a single instruction, but a normal Go loop adds them one at a time. For years, the only way to use that hardware from Go was hand-written assembly. Go 1.26 added the experimental simd/archsimd package, and Go 1.27 added a portable simd package on top of it. Now you can write SIMD code in plain Go.

But to understand these packages, with functions like LoadFloat32s, or BroadcastInt8s, you need to know what's actually happening in the CPU. So we'll start there. We'll look at the vector registers and how the same bits can be read as different types and sizes. Then we'll follow the basic cycle: load data, work on all the lanes at once, and get the results back out.

LEVEL: Intermediate

Place
Golab #2
Length
45 min
When
November 2nd, 2026
11:30

Abstract

Your CPU can add eight numbers in a single instruction, but a normal Go loop adds them one at a time. For years, the only way to use that hardware from Go was hand-written assembly. Go 1.26 added the experimental simd/archsimd package, and Go 1.27 added a portable simd package on top of it. Now you can write SIMD code in plain Go.

But to understand these packages, with functions like LoadFloat32s, or BroadcastInt8s, you need to know what's actually happening in the CPU. So we'll start there. We'll look at the vector registers and how the same bits can be read as different types and sizes. Then we'll follow the basic cycle: load data, work on all the lanes at once, and get the results back out.

With that in place, the Go packages read almost like an API to magage that machinery of the hardware. We'll see a couple of small examples and jump into a real scenario, a hot path in VictoriaLogs that was already heavily optimized, and how rewriting it with the simd package still made it noticeably faster.

You'll leave knowing what SIMD is and how to tell when your code is a good fit for it.

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2026 GoLab | The international conference on Go in Italy-Design & devCantiere Creativo-Made withDatoCMS