[LLVMdev] Announcing ispc: a SPMD-on-SIMD compiler built on top of LLVM

Matt Pharr matt.pharr at gmail.com
Tue Jun 21 18:42:03 PDT 2011


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 http://ispc.github.com/, under a BSD license.

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.)

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.

Thanks,
-matt

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!

-- 
Matt Pharr
http://pharr.org/matt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110621/b1317ac2/attachment.html>


More information about the llvm-dev mailing list