DConf 2013 Day 3 Talk 5: Effective SIMD for modern architectures by Manu Evans

Sönke Ludwig sludwig at outerproduct.org
Thu Jun 20 07:58:08 PDT 2013


Am 20.06.2013 13:58, schrieb bearophile:
> 
> The Reddit thread contains a link to this page, a compiler for a C
> variant from Intel that's optimized for SIMD:
> http://ispc.github.io/
> 

Since you mention that, I developed a similar compiler/language in
parallel to Intel at the time. The main differences were an implicit
approach to handling the main loop, it didn't expose the SIMD target
through explicit indices like ISPC did at the beginning, and could
target GPUs in addition to outputting SIMD code. It was primarily used
for high performance image processing on a commercial application that
needed a safe CPU fallback path.

Although I didn't have the time to implement many comprehensive
optimization techniques (apart from some basic ones and from what LLVM
provides) the results were quite impressive, depending of course on how
well a program lends itself to the SPMD->SIMD transformation. There are
some benchmarks at the end of the thesis:

http://outerproduct.org/research/msc-thesis-slurp.pdf

Unfortunately, at this point it is purely academical because the
copyright to the source code has been left with my former employer and
now Google. It's a bit of a pity as it was filling a certain niche that
nobody else did (fortunately this has become less of an issue with the
ubiquitous distribution of shader capable GPUs and improving drivers
from a certain GPU vendor).


More information about the Digitalmars-d-announce mailing list