SC14 New Orleans, LA

The International Conference for High Performance Computing, Networking, Storage and Analysis

bgclang: Creating an Alternative, Customizable, Toolchain for the Blue Gene/Q.


Authors: Hal Finkel (Argonne National Laboratory)

Abstract: bgclang, a compiler toolchain based on the LLVM/Clang compiler infrastructure, but customized for the IBM Blue Gene/Q (BG/Q) supercomputer, is a successful experiment in creating an alternative, high-quality compiler toolchain for non-commodity HPC hardware. By enhancing LLVM with support for the BG/Q's QPX vector instruction set, bgclang inherits from LLVM/Clang a high-quality auto-vectorizing optimizer, C++11 frontend, and many other associated tools. Moreover, bgclang provides both unique capabilities and a much-needed platform for experimentation. Here we'll focus on two examples: First, bgclang's Address Sanitizer feature, which provides efficient instrumentation-based memory-access validation at scale; Second, experiments in loop optimization techniques, including a software prefetching optimization, within bgclang. These loop optimizations can produce 2x speedups over code produced by other available compilers for loops in the TSVC bechmark suite.

Poster: pdf
Two-page extended abstract: pdf


Poster Index