[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