The Inquirer-Home

Codeplay makes autoparallelising compiler

GDC 007 Two brackets and away you go
Tue Mar 06 2007, 09:17
ONE OF THE HOT topics at GDC is parallel programming, or at least multi-threaded programming. All of the major platforms now require it, and doing it well is one of the hardest jobs out there. That is where Codeplay and their Sieve C++ Parallel Programming System come in.

What Sieve is is a C++ compiler that will take a section of code and parallelize it for you with a minimum hassle. All you really need to do is take the code you want to run across multiple CPUs and put beginning and end tags on the parts you want to run in parallel.

The compiler will put out code for x86, Ageia PhysX and Cell/PS3. There were three tests talked about today, CRC, Julia Ray Tracing and Matrix Multiply. All were run on 8 cores (2S Xeon 5300 CPUs) and showed 739, 789 and 660% speedups respectively.

This means that the worst scaling factor on their code is above 80% and the best over 98%, not bad at all. The code when run on a single CPU executes 6.1, 1.03 and 1.04% slower, so the hit isn't bad if you are not using the same binaries on single thread systems.

Examples like this are notoriously hard to generalize about, but the numbers here are compelling enough to be worth a long look, especially considering the effort involved. Will it work for your code? Who knows, but you might want to give it a try. µ


Share this:

blog comments powered by Disqus
Subscribe to INQ newsletters

Sign up for INQbot – a weekly roundup of the best from the INQ

INQ Poll

Heartbleed bug discovered in OpenSSL

Have you reacted to Heartbleed?