Matt Pharr
2011-Jun-22 01:42 UTC
[LLVMdev] Announcing ispc: a SPMD-on-SIMD compiler built on top of LLVM
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>