Platform-Independent SIMD in Go

(go.dev)

35 points | by yurivish 1 hour ago

2 comments

  • qprofyeh 35 minutes ago
    This feature opens many doors for optimizing low-level performance in Go projects, that are already running multicore. IIRC there aren’t a lot of languages with built-in std lib support for SIMD and variants. Love the way Go is trying new stuff lately.
    • abirch 11 minutes ago
      Vectorizing computations has been Matlabs secret sauce.
  • physicsguy 19 minutes ago
    Oh this is great, it was one of my biggest bugbears about Go since you almost always have to link C/C++ code to get the appropriate performance.

    The one negative I'd say is that often autovectorisation is 'good enough' and this doesn't really tackle that gap.

    • tgv 12 minutes ago
      As a first step, it might be possible to write a linter rule that rewrites suitable numeric loops to SIMD. There are already rules to rewrite several loop types, so that should be doable.