Los Alamos National LaboratoryProgramming Models Team
Extreme-scale computing specializing in novel computing techniques applied to the hardware-software boundary

Byfl: Compiler-based Application Analysis

Program analysis tool based on software performance counters.

Byfl diagram

The name "Byfl" comes from "bytes/flops". The very first version of the code counted only bytes and floating-point operations (flops).

The trend in high-performance computing is to include computational accelerators such as GPUs or Xeon Phis in each node of a large-scale system.

Qualitatively, such accelerators tend to favor codes that perform large numbers of floating-point and integer operations per branch; that exhibit high degrees of memory locality; and that are highly data-parallel. The question we address in this work is how to quantify those characteristics.

To that end we developed an application-characterization tool called Byfl that provides a set of ³software performance counters². These are analogous to the hardware performance counters provided by most modern processors but are implemented via code instrumentation-the equivalent of adding flops = flops + 1 after every floating-point operation but in fact implemented by modifying the compiler's internal representation of the code.

Visit Blogger Join Us on Facebook Follow Us on Twitter See our Flickr Photos Watch Our YouTube Videos Find Us on LinkedIn Find Us on iTunesFind Us on GooglePlayFind Us on Instagram