<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Today Intel launched ispc, the Intel SPMD Program Compiler, an open-source compiler built on top of LLVM.  It is available in both source and binary form from <a href="http://ispc.github.com/">http://ispc.github.com/</a>, under a BSD license.<div><br></div><div>The goal of ispc is to provide a high-performance implementation of a C-based SPMD language for CPUs.  The SPMD model has of course been quite successful for high-performance programming of GPUs, and ispc brings similar benefits to CPUs by mapping an SPMD execution model to their SIMD units.  It regularly delivers 3-4+x speedups on the 4-wide SSE target, for example.  (Running in SPMD on one core's SIMD units is of course orthogonal to parallelizing across cores, and ispc has flexible support for multi-core task parallelism as well.)</div><div><br></div><div>LLVM's excellent x86 code generation was very helpful to being able to build this system so (relatively) quickly; I'm regularly delighted by the quality of the code that comes out at the end.  Working with LLVM has been a spectacular experience, and I'd like to thank everyone involved with the project for building such a great system.</div><div><br></div><div>Thanks,</div><div>-matt</div><div><br></div><div><div>PS: I'm very much looking forward to David Greene's AVX work landing in the development branch--I expect that ispc will deliver interesting results on AVX very quickly at that point as well!</div></div><div><br></div><div>-- </div><div>Matt Pharr</div><div><a href="http://pharr.org/matt">http://pharr.org/matt</a></div><div><br></div></body></html>