A Powerful Tool for Improving Parallel Computing Applications

Developers of parallel computing applications can well appreciate the Tuning and Analysis Utilities (TAU) performance evaluation tool—it helps them optimize their efforts. The ways and degrees to which that is true was the subject of a chat at the SC18 supercomputing conference in Dallas recently with Sameer Shende, who runs the Performance Research Lab at the University of Oregon. He has worked with the TAU software for nearly two and a half decades and has released more than 200 versions of it.

“Whatever your application looks like, there’s a good chance that TAU can support it and help you improve your performance,” he told Exascale Computing Project (ECP) Communications Lead Mike Bernhardt.

Shende said TAU can show developers where an application spends its time and other system resources, adding, “You can see the code regions of interest, where you should study your application performance, and where you should focus your optimization efforts.”

From left, at the SC18 supercomputing conference in Dallas recently, ECP Communications Lead Mike Bernhardt talks with Sameer Shende, director of the Performance Research Lab, Neuroinformatics Center, University of Oregon.

TAU supports what are referred to as profiling and tracing. The tool’s profiling mode shows summary statistics; it’s tracing mode reveals what each process of the application is doing.

“TAU is a very versatile performance evaluation toolkit, and you can use it on unmodified binaries; so, you don’t have to make any changes to your code—just run the code with TAU to generate the performance data,” he explained.

Shende described TAU as consisting of two functional parts: code instrumentation and analysis. Code instrumentation, he said, is very intuitive, and analysis can be performed by launching a 3D profile browser called ParaProf.

He said TAU is a tremendous productivity improvement for developers, especially because it runs on most high-performance computing platforms.

He also noted that TAU was a part of ECP’s Extreme-Scale Scientific Software Stack (E4S) release 0.1, which was issued during SC18.

Video Chat Notes

What TAU is and what it can do [00:58]

TAU’s two parts: code instrumentation and analysis [01:56]

A productivity improvement for developers [02:35]

TAU was part of ECP’s Extreme-Scale Scientific Software Stack release 0.1 [03:51]