Possible Duplicate:
SIMD programming languages
It seems that the paramount elements to reach top performance on modern CPUs are:
Threads level parallelism
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.