Using the bgclang Compiler, and Associated Tools, on the Blue Gene/Q

Hal Finkel
Argonne Leadership Computing Facility
Argonne National Lab (ANL)

bgclang, a compiler toolchain based on the LLVM/Clang compiler infrastructure, but customized for the IBM Blue Gene/Q (BG/Q) supercomputer, is used by BG/Q developers worldwide. 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 OpenMP-enabled frontend and standard library, and many other associated tools. Notably, Address Sanitizer, an instrumentation-based memory debugging tool, is available. This tutorial will cover compilation, optimization, debugging and analysis of applications on the BG/Q using bgclang.

[dowload slides]