Sambamba: Another Way To Automatically Parallelize Code

Written by Michael Larabel in Programming on 7 May 2013 at 02:56 PM EDT. 5 Comments
PROGRAMMING
Sambamba is an interesting research project out of academia that's yet another attempt at coming up with a better means of automatically parallelizing code. The Sambamba project describes itself as "A Runtime System for Online Adaptive Parallelization."

Sambamba was another one of the noteworthy presentations (beyond Intel's OpenMP work for LLVM/Clang, Dagger for code decompilation, and IBM's LLVM investment) that occurred last week at the 2013 LLVM European Meeting in Paris, France.

Sambamba comes out of the Saarland University in Germany for an automatically parallelizing compiler and runtimme system. It adaptes automatically during runtime based upon the input and environmental parameters. Sambamba leverages LLVM and does compile-time analysis to compute data dependencies for determining potential code blocks that can be parallelized. Sambamba then injects JIT-compiled code into the software target and decides which code variant it should execute. Profiles then are generated to determine the fastest code paths and further parallelization efforts can automatically take place for ensuring the fastest-possible generated binary.

For those wishing to find out more about Sambamba, there is their LLVM poster (PDF), PDF slides, and MOV video. There's also a lot of information available at Sambamba.org.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week