3

Possible Duplicate:
SIMD programming languages

It seems that the paramount elements to reach top performance on modern CPUs are:

  1. Threads level parallelism

  2. SIMD usage inside each thread

Most of modern programming languages give support (or even emphasis) on thread level parallelism. However, it seems that SIMD instructions support is much more rare.

  • I know of C, C++, C#/DotNet/Mono's Mono.SIMD and D's core.simd.
  • To my knowledge Java and Go do not (and will not) support explicit SIMD (and hope the best from the compiler).
  • Ruby and Python only provide access to SIMD via C wrapper libraries (such as numpy), but no direct access.
  • Fortran seems to only support (guided) auto-vectorisation, not explicit code.
  • Haskell, Rust seem to not yet support SIMD in their main branches...

Which other programming languages do provide explicit access to SIMD instructions ?

Thank you for your suggestions.

Community
  • 1
  • 1
rodrigob
  • 2,891
  • 3
  • 30
  • 34
  • 1
    how come answers from 3 year ago would invalidate asking the question again ? (hoping to get more up to date results). I am surprised by this new stackoverflow behaviour where people decide to close questions rather to guide towards answers. – rodrigob Oct 02 '12 at 22:30

0 Answers0