LLVM Holds the Keys to Exascale Computing

By Rob Farber

July 13, 2021

The recent proliferation of new hardware technologies has galvanized the high-performance computing (HPC) community and created the ability to deliver the nation’s forthcoming exascale-capable supercomputers and data centers. It has also made LLVM-based compiler technology the default gatekeeper to these new systems.

LLVM, an open-source collection of compiler and toolchain technologies, serves as a test bed for proposed parallelization extensions (e.g., the interoperability directive in OpenMP 5.1) and as a vehicle to provide production-quality parallel compiler implementations. Johannes Doerfert, a researcher at Argonne National Laboratory, notes that “LLVM is a vehicle to provide performant implementations of OpenMP across all platforms.[1] In LLVM we always aim to be portable, standard compliant, and complete with regards to the standard. Aside from OpenMP, LLVM can also benefit other pragma-based standards and parallel programming models, such as OpenACC, CUDA, SYCL, and HIP.”

Virtually every leading computing company is collaborating on LLVM, which is one of the many benefits of using the LLVM compiler infrastructure. “People don’t realize that most HPC vendor compilers are LLVM-based,” Doerfert observes. “Improvements in collaboration as well as improvements to LLVM benefit both vendor products and the overall HPC community.”

Direct Benefits to HPC

Building production compilers on top of LLVM gives the HPC community the ability to provide extensions and bug fixes. This allows the HPC community to focus on HPC needs for their compilers by using LLVM as a vehicle to build custom tooling for program analysis tools, debuggers, and profilers. LLVM is a significant part of the US Department of Energy’s (DOE’s) Exascale Computing Project (ECP), as illustrated in Figure 1, which shows the key role that LLVM plays in all associated projects.

Figure 1. LLVM plays an important role in the Exascale software ecosystem.

LLVM Gives HPC the Ability to Focus Compilers on HPC Needs

The permissive terms of LLVM licensing mean that the HPC community can safely dedicate significant resources to build and release open source software using the LLVM compiler infrastructure. This includes profilers, parallel compilers, debuggers, Domain-Specific Languages (DSLs), and new programming models. It also means that the HPC community is not required to go through the process of filing a bug with the vendor and waiting for a bug fix. Instead, HPC developers can find and submit fixes to the open-source code base.

Fortran for HPC

The ECP Flang project is one example in which the HPC community can focus on a critical need, namely the development of a parallelizing, GPU-enabled Fortran compiler.

Flang is a Fortran front end that can transfer the job of parallelization and binary generation to the LLVM infrastructure to generate binaries for different HPC architectures. Such a compiler is needed to run Fortran applications on new, power-efficient, many-core, massively parallel hardware platforms that are the foundation of modern HPC systems and data centers. Flang is important because there is not a huge commercial emphasis on Fortran, but there is a huge HPC need for an effective parallelizing and GPU-enabled Fortran compiler. GPUs from several vendors are significant architectural components in the forthcoming exascale systems. Figure 2 shows how Flang’s design relies on LLVM.

Figure 2. Flang’s design relies on LLVM.

Many Parallelization and Cross Platform Benefits

Parallelization is difficult, and performant cross-platform parallelization is even more difficult. LLVM provides the compiler infrastructure to create parallelizing compilers beyond parallelizing C/C++ and Fortran compilers. The LLVM parallelization capabilities mean that DSLs can provide generality and performance across LLVM-supported platforms.

Programmatic Assistance in Generating Sane, Deterministic Binaries

To assist with generating production-ready binaries, LLVM allows compiler writers to use sanitizers. Doerfert notes, “In the C++ world, sanitizers provide sanity checks on memory usage and other manifestations of aberrant behavior. Sanitizers can detect such errors during runtime. The result is more robust codes and thorough quick checks that can help ensure correct results and even be used to detect possible intrusions into the supercomputer center.”

Another benefit is detecting race conditions. A race condition occurs when a parallel result depends on the timing of events. The end result causes an application to exhibit unpredictable (i.e. nondeterministic) behavior during runtime. Finding and fixing bugs caused by race conditions can be extremely difficult. LLVM-based race detection can be very useful.

Informative Profilers

Profiling is also important for creating performant parallel codes, especially when codes run across a variety of hardware platforms. Sameer Shende, Director of the Performance Research Lab of the University of Oregon’s Neuroinformatics Center, observes that “The TAU profiler supports all CPUs and GPUs, as well as multi-node profiling with MPI and high-level performance portable libraries, such as Kokkos. It’s one of the few tools that supports all vendor GPUs. The TAU (Tuning and Analysis Utilizes) profiler easily installs via Spack and is distributed in the Extreme-Scale Scientific Software Stack (E4S). Just install TAU with the target back-end CUDA, ROCm, or L0 for OneAPI.” This makes TAU and the LLVM-based profiling application programing interfaces (APIs) important tools for creating performant, cross-platform HPC applications. Figure 3 outlines the TAU profiling system.

Figure 3. The TAU profiling system. (Source: https://www.alcf.anl.gov/sites/default/files/2020-05/CompWorkshop_TAU_2020.pdf.)

A “Swiss army knife” of profiling, TAU relies on LLVM trace and instrumentation capabilities to generate profile information. Significant amounts of profile information can be collected from LLVM. The TAU team creates meaningful displays to help people find performance issues in parallel distributed codes. Example views generated by the ParaProf analysis tool can be seen in Figure 4. In particular, ParaProf can display profile information about MPI communication calls. A standard in HPC, the MPI library handles the communications that dictate the scaling and performance of many HPC applications. Shende notes that with TAU, “you can see the code regions of interest, where you should study your application performance, and where you should focus your optimization efforts.”

Figure 4. TAU Analysis with example ParaProf views.

Synopsys of What TAU Supports

  • OpenMP
    • OpenMP Tools Interface (OMPT) tools interface to track salient OpenMP runtime events
    • Opari source rewriter
    • Preloading wrapper OpenMP runtime library when OMPT is not supported
  • OpenACC
    • OpenACC instrumentation API
    • Tracks data transfers between host and device (per variable)
    • Tracks time spent in kernels
  • OpenCL
    • OpenCL profiling interface
    • Tracks timings of kernels
  • CUDA
    • CUDA Profiling Tools Interface
    • Tracks data transfers between host and GPU
    • Tracks access to uniform shared memory between host and GPU
  • ROCm
    • Rocprofiler and Roctracer instrumentation interfaces
    • HIP LLVM compiler based instrumentation support
    • Tracks data transfers and kernel execution between host and GPU
  • Intel oneAPI
    • Intel compilers with compiler-based instrumentation and Level Zero profiling API
    • OpenCL profiling API

Summary

The liberal licensing and strong vendor support make LLVM an excellent vehicle for the HPC community to use in addressing many HPC community needs. This is reflected in the belief by Doug Kothe, Director of DOE’s ECP, that “LLVM compiler technology is becoming the nexus for vendor and community compiler development and evolution.”[2]

Rob Farber is a global technology consultant and author with an extensive background in HPC and in developing machine learning technology that he applies at national laboratories and commercial organizations.

[1] https://www.exascaleproject.org/highlight/sollve-openmp-for-hpc-and-exascale/

[2] https://www.exascaleproject.org/highlight/sollve-openmp-for-hpc-and-exascale/

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industy updates delivered to you every week!

White House Scientific Integrity Report Addresses AI and ML Ethics

January 26, 2022

Earlier this month, the White House Office of Science and Technology Policy (OSTP) Scientific Integrity Task Force released a report titled “Protecting the Integrity of Government Science.” While broad-based and over Read more…

IBM Quantum Debuts Classical Entanglement Forging to Expand Simulation Capabilities

January 26, 2022

IBM last week reported a new technique – entanglement forging – that uses both quantum and classical computing resources to double the size of select simulation problems that can be solved on current quantum computer Read more…

Lenovo Launches Its TruScale HPC as a Service Offering

January 26, 2022

Lenovo today announced TruScale High Performance Computing as a Service (HPCaaS), which it says will offer a “cloud-like experience” to HPC organizations of all sizes. The new HPC-as-a-Service is part of the TruScale Read more…

Ceremorphic Touts Its HPC/AI Silicon Technology as It Exits Stealth

January 25, 2022

In a market still filling with fledging silicon chips, Ceremorphic, Inc. has exited stealth and is telling the world about what it calls its patented new ThreadArch multi-thread processor technology that is intended to h Read more…

Quantum Watch: Neutral Atoms Draw Growing Attention as Promising Qubit Technology

January 25, 2022

Currently, there are many qubit technologies vying for sway in quantum computing. So far, superconducting (IBM, Google) and trapped ion (IonQ, Quantinuum) have dominated the conversation. Microsoft’s proposed topologic Read more…

AWS Solution Channel

Register for the AWS “Speeds n’ Feeds” event on Feb. 9th

Since the debut of the first ‘Beowulf’ cluster in 1994, HPC has been a race between technologists squeezing as much performance as possible from hardware, and scale economics driving mass-production prices to affordable levels. Read more…

Meta’s Massive New AI Supercomputer Will Be ‘World’s Fastest’

January 24, 2022

Fresh off its rebrand last October, Meta (née Facebook) is putting muscle behind its vision of a metaversal future with a massive new AI supercomputer called the AI Research SuperCluster (RSC). Meta says that RSC will b Read more…

Lenovo Launches Its TruScale HPC as a Service Offering

January 26, 2022

Lenovo today announced TruScale High Performance Computing as a Service (HPCaaS), which it says will offer a “cloud-like experience” to HPC organizations of Read more…

Ceremorphic Touts Its HPC/AI Silicon Technology as It Exits Stealth

January 25, 2022

In a market still filling with fledging silicon chips, Ceremorphic, Inc. has exited stealth and is telling the world about what it calls its patented new Thread Read more…

Quantum Watch: Neutral Atoms Draw Growing Attention as Promising Qubit Technology

January 25, 2022

Currently, there are many qubit technologies vying for sway in quantum computing. So far, superconducting (IBM, Google) and trapped ion (IonQ, Quantinuum) have Read more…

Meta’s Massive New AI Supercomputer Will Be ‘World’s Fastest’

January 24, 2022

Fresh off its rebrand last October, Meta (née Facebook) is putting muscle behind its vision of a metaversal future with a massive new AI supercomputer called t Read more…

IBM Watson Health Finally Sold by IBM After 11 Months of Rumors

January 21, 2022

IBM has sold its underachieving IBM Watson Health unit for an undisclosed price tag to a global investment firm after almost a year’s worth of rumors that sai Read more…

Supercomputer Analysis Shows the Atmospheric Reach of the Tonga Eruption

January 21, 2022

On Saturday, an enormous eruption on the volcanic islands of Hunga Tonga and Hunga Haʻapai shook the Pacific Ocean. The explosion, which could be heard six tho Read more…

NSB Issues US State of Science and Engineering 2022 Report

January 20, 2022

This week the National Science Board released its biannual U.S. State of Science and Engineering 2022 report, as required by the NSF Act. Broadly, the report presents a near-term view of S&E based mostly on 2019 data. To a large extent, this year’s edition echoes trends from the last few reports. The U.S. is still a world leader in R&D spending and S&E education... Read more…

Multiverse Targets ‘Quantum Computing for the Masses’

January 19, 2022

The race to deliver quantum computing solutions that shield users from the underlying complexity of quantum computing is heating up quickly. One example is Multiverse Computing, a European company, which today launched the second financial services product in its Singularity product group. The new offering, Fair Price, “delivers a higher accuracy in fair price calculations for financial... Read more…

IonQ Is First Quantum Startup to Go Public; Will It be First to Deliver Profits?

November 3, 2021

On October 1 of this year, IonQ became the first pure-play quantum computing start-up to go public. At this writing, the stock (NYSE: IONQ) was around $15 and its market capitalization was roughly $2.89 billion. Co-founder and chief scientist Chris Monroe says it was fun to have a few of the company’s roughly 100 employees travel to New York to ring the opening bell of the New York Stock... Read more…

US Closes in on Exascale: Frontier Installation Is Underway

September 29, 2021

At the Advanced Scientific Computing Advisory Committee (ASCAC) meeting, held by Zoom this week (Sept. 29-30), it was revealed that the Frontier supercomputer is currently being installed at Oak Ridge National Laboratory in Oak Ridge, Tenn. The staff at the Oak Ridge Leadership... Read more…

AMD Launches Milan-X CPU with 3D V-Cache and Multichip Instinct MI200 GPU

November 8, 2021

At a virtual event this morning, AMD CEO Lisa Su unveiled the company’s latest and much-anticipated server products: the new Milan-X CPU, which leverages AMD’s new 3D V-Cache technology; and its new Instinct MI200 GPU, which provides up to 220 compute units across two Infinity Fabric-connected dies, delivering an astounding 47.9 peak double-precision teraflops. “We're in a high-performance computing megacycle, driven by the growing need to deploy additional compute performance... Read more…

Intel Reorgs HPC Group, Creates Two ‘Super Compute’ Groups

October 15, 2021

Following on changes made in June that moved Intel’s HPC unit out of the Data Platform Group and into the newly created Accelerated Computing Systems and Graphics (AXG) business unit, led by Raja Koduri, Intel is making further updates to the HPC group and announcing... Read more…

Nvidia Buys HPC Cluster Management Company Bright Computing

January 10, 2022

Graphics chip powerhouse Nvidia today announced that it has acquired HPC cluster management company Bright Computing for an undisclosed sum. Unlike Nvidia’s bid to purchase semiconductor IP company Arm, which has been stymied by regulatory challenges, the Bright deal is a straightforward acquisition that aims to expand... Read more…

D-Wave Embraces Gate-Based Quantum Computing; Charts Path Forward

October 21, 2021

Earlier this month D-Wave Systems, the quantum computing pioneer that has long championed quantum annealing-based quantum computing (and sometimes taken heat fo Read more…

Killer Instinct: AMD’s Multi-Chip MI200 GPU Readies for a Major Global Debut

October 21, 2021

AMD’s next-generation supercomputer GPU is on its way – and by all appearances, it’s about to make a name for itself. The AMD Radeon Instinct MI200 GPU (a successor to the MI100) will, over the next year, begin to power three massive systems on three continents: the United States’ exascale Frontier system; the European Union’s pre-exascale LUMI system; and Australia’s petascale Setonix system. Read more…

Three Chinese Exascale Systems Detailed at SC21: Two Operational and One Delayed

November 24, 2021

Details about two previously rumored Chinese exascale systems came to light during last week’s SC21 proceedings. Asked about these systems during the Top500 media briefing on Monday, Nov. 15, list author and co-founder Jack Dongarra indicated he was aware of some very impressive results, but withheld comment when asked directly if he had... Read more…

Leading Solution Providers

Contributors

Lessons from LLVM: An SC21 Fireside Chat with Chris Lattner

December 27, 2021

Today, the LLVM compiler infrastructure world is essentially inescapable in HPC. But back in the 2000 timeframe, LLVM (low level virtual machine) was just getting its start as a new way of thinking about how to overcome shortcomings in the Java Virtual Machine. At the time, Chris Lattner was a graduate student of... Read more…

2021 Gordon Bell Prize Goes to Exascale-Powered Quantum Supremacy Challenge

November 18, 2021

Today at the hybrid virtual/in-person SC21 conference, the organizers announced the winners of the 2021 ACM Gordon Bell Prize: a team of Chinese researchers leveraging the new exascale Sunway system to simulate quantum circuits. The Gordon Bell Prize, which comes with an award of $10,000 courtesy of HPC pioneer Gordon Bell, is awarded annually... Read more…

Meta’s Massive New AI Supercomputer Will Be ‘World’s Fastest’

January 24, 2022

Fresh off its rebrand last October, Meta (née Facebook) is putting muscle behind its vision of a metaversal future with a massive new AI supercomputer called t Read more…

Nvidia Defends Arm Acquisition Deal: a ‘Once-in-a-Generation Opportunity’

January 13, 2022

GPU-maker Nvidia is continuing to try to keep its proposed acquisition of British chip IP vendor Arm Ltd. alive, despite continuing concerns from several governments around the world. In its latest action, Nvidia filed a 29-page response to the U.K. government to point out a list of potential benefits of the proposed $40 billion deal. Read more…

Julia Update: Adoption Keeps Climbing; Is It a Python Challenger?

January 13, 2021

The rapid adoption of Julia, the open source, high level programing language with roots at MIT, shows no sign of slowing according to data from Julialang.org. I Read more…

Top500: No Exascale, Fugaku Still Reigns, Polaris Debuts at #12

November 15, 2021

No exascale for you* -- at least, not within the High-Performance Linpack (HPL) territory of the latest Top500 list, issued today from the 33rd annual Supercomputing Conference (SC21), held in-person in St. Louis, Mo., and virtually, from Nov. 14–19. "We were hoping to have the first exascale system on this list but that didn’t happen," said Top500 co-author... Read more…

TACC Unveils Lonestar6 Supercomputer

November 1, 2021

The Texas Advanced Computing Center (TACC) is unveiling its latest supercomputer: Lonestar6, a three peak petaflops Dell system aimed at supporting researchers Read more…

10nm, 7nm, 5nm…. Should the Chip Nanometer Metric Be Replaced?

June 1, 2020

The biggest cool factor in server chips is the nanometer. AMD beating Intel to a CPU built on a 7nm process node* – with 5nm and 3nm on the way – has been i Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire