LLNL, Purdue Researchers Harness GPU Mixed Precision for Accuracy-Performance Tradeoff

August 5, 2019

Editor’s Note: Effective use of mixed precision calculations is becoming more important and common in scientific computing, not least because of the growing use of AI techniques in which FP64 calculations are sometimes less needed and computationally expensive. In this brief article, researchers from Lawrence Livermore National Laboratory discuss their recent breakthrough development of an auto-tuning technique for selecting optimal mixed precision calculation modes using GPUs.

Computational scientists have long relied on high-precision arithmetic to accurately solve a wide range of problems, from modeling nuclear reactors to predicting supernova physics to measuring the forces within an atomic nucleus. However, changes to hardware, spurred by the demand for more computing capability and growth in machine learning, have us rethinking the balance between the number of digits needed to perform a given calculation and computational efficiency.

Researchers from Purdue University, Prof. Saurabh Bagchi, and the U.S. Department of Energy’s Lawrence Livermore National Laboratory, Dr. Ignacio Laguna, have taken an essential step toward enabling mixed precision calculations on GPUs through novel automatic tuning methods that can be applied to real-world CUDA programs. For portions of a calculation that do not require full 64-bit double-precision arithmetic, lower precision alternatives may provide enough accuracy. The tradeoff could enable us to solve complex problems faster and at lower energy budgets, thus enabling scientific discoveries that would otherwise remain hidden away from us.

The work (GPUMixer: Performance-Driven Floating-Point Tuning for GPU Scientific Applications) recently won the best paper award at the 33rd ISC High Performance conference held June 16-20, 2019, in Frankfurt and which brought together over 3,500 researchers and commercial users. Another result from the work appeared at the 33rd International Conference on Supercomputing (ICS), held June 26-28, in Phoenix, Ariz.

The challenge that the scientific community has been trying to solve is how do we reduce the precision of the variables in a systematic manner—only those variables that would not degrade the quality of the overall result too much and their precision is reduced to the right level. Several recent changes in the GPU space have created new opportunities for mixed precision arithmetic. GPU manufacturers have begun to include native FP64 (double precision) and FP16 (half precision) arithmetic units inside of their processing units, in addition to FP32 (single precision). As a result, FP64/FP32/FP16 instructions can coexist providing different performance levels, e.g., the ratio of FP64:FP32:FP16 throughput is 1:2:4 in the P100 series of Tesla GPUs. Before the introduction of these processors, mixing FP64 and FP32 instructions had limited performance impact because mixed precision math units were rare.

The research team recently published their breakthrough result on this technical challenge.

  • PI Saurabh Bagchi said, “This solution will allow the long-running codes on GPUs, those that do a significant amount of floating-point processing, to use just the right precision of the variables to maximize speedup or alternately minimize energy consumption, and bounding the drop in quality of the output.”
  • Laguna said, “This automated approach selects precisions for floating-point arithmetic operations that both improve performance andsatisfy accuracy requirements, without needing the programmer to do the laborious tuning of the precisions.” Purdue students, Pradeep Kotipalli and Ranvijay Singh (now at NVIDIA), and Purdue Research Scientist, Dr. Paul Wood (now at Johns Hopkins University), did a significant part of the technical design and development.

No prior work has support for parallel codes found in GPU programming models as they relied on serial instrumentation or profiling support that does not span the GPU programming and execution model, such as CPU-to-GPU calls. Next, accuracy-centric approaches of the prior work lacked a performance model and simply assumed that minimal precision results in the fastest running time. For example in [figure 1], the objective function was to maximize the number of FP32 variables.

In practice, mixing precision requires casting to satisfy the mathematical operation with the most precise operand. However, casting is an expensive operation (e.g., twice as expensive as FP64 operations in the authors’ target GPU architectures) and therefore reducing precisions may actually increase the execution time. Further, when there are parallel resource pools for FP64 and FP32 (as in several GPU architectures), mixing precision allows for an additional opportunity for parallelism, which prior work ignored. Finally, approaches that solely used online runtime information [2] suffered from very large search space problems. Consider that there are nfloating point variables that can be tuned and there are 3 precision levels supported by the architecture; then the search space is 3n. In large production-level scientific applications, ncan be very large (hundreds), making this method impractical.

The authors presented AMPT-GA, pronounced “Amp-ed GA”, the first mixed precision optimization system that solves an accuracy-constrained performance maximization problem for GPU programs. AMPT-GA seeks to select the set of precision levels for floating point variables at an application level that maximizes the performance while keeping the introduced error below a tolerable threshold, as defined by the application user. The complete set of assignments of each floating point variable to a precision level is called the Precision Vector (PV) and the optimal PV is the final output of AMPT-GA.

The key insight behind AMPT-GA is that the dynamic search technique through the large space of possible precision vectors is aided by static analysis.Their static analysis identifies groups of variables whose precisions should preferentially be changed together to reduce the performance impact of the precision change of any variable through casting. Such information speeds up the online search through the large search space. Further, considering the irregular nature of the search space, AMPT-GA uses a Genetic Algorithm for the search, which helps avoid local minima that prior approaches such as [2, 3] have a tendency to fall into.

Figure 1. Overview of AMPT-GA. The inputs to AMPT-GA, shaded in green, are the application, the GPGPU properties (such as FP32 vs. FP64 instruction performance, casting cost), the error metric of interest and the corresponding error threshold, a test input, and the fuzzing process to generate similar inputs. The static path (in yellow) creates a performance and dependency model and the dynamic path (in blue) finds the Precision Vector (PV) to minimize the execution time of the application while staying under the error threshold. The blue optimization boxes are part of an iterative optimization process that run multiple generations of a Genetic Algorithm to identify the output PV. The purple boxes are measurements executed on the target GPGPU platform. During the search, each PV is evaluated through actual execution on the GPGPU unless filtered by our execution filter. The final PV for the test input is then measured against a region of similar inputs to determine its generality.

The ISC paper, GPUMixer, presents the first static analysis to identify regions of code in a GPU kernel that are guaranteed to improve performance when mixed-precision is used. While previous approaches can identify mixed-precision code segments that improve performance, they are usually dynamic in nature and require running the application many times. This approach, however, identifies these regions statically, which avoids running the application. GPUMixer also presents the first shadow computation analysis for GPUs, a method that allows estimating the error that is introduced when the precision of specific arithmetic operations is downgraded.

The team has shown the power of AMPT-GA and GPUMixer on several real GPU programs, including LULESH, a DOE’s proxy application that approximates hydrodynamics equations discretely and which has been widely used in the procurement of DOE’s next-generation supercomputers and on DOE’s Co-Design Centers. The evaluation on LULESH, the CoMD proxy application, and on several Rodinia GPU benchmarks demonstrates the practical utility of AMPT-GA and GPUMixer on finding mixed-precision configurations that improve performance and maintain an acceptable level of error.

Looking forward the work is continuing to improve the design of these methods so that even lower precision can be leveraged (e.g., half precision or lower) and better mixed-precision combinations can be found more efficiently.

Link to paper (GPUMixer: Performance-Driven Floating-Point Tuning for GPU Scientific Applications): http://lagunaresearch.org/docs/isc-2019.pdf

Authors: Ignacio Laguna (LLNL), Paul C. Wood (Johns Hopkins Applied Physics Lab), Ranvijay Singh (Nvidia), and Saurabh Bagch (Purdue University)

This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under contract DE-AC52-07NA27344 (Lawrence Livermore National Security, LLC – LLNL-MI-774142).

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!

What’s New in HPC Research: Quantum Clouds, Interatomic Models, Genetic Algorithms & More

February 14, 2020

In this bimonthly feature, HPCwire highlights newly published research in the high-performance computing community and related domains. From parallel programming to exascale to quantum computing, the details are here. Read more…

By Oliver Peckham

The Massive GPU Cloudburst Experiment Plays a Smaller, More Productive Encore

February 13, 2020

In November, researchers at the San Diego Supercomputer Center (SDSC) and the IceCube Particle Astrophysics Center (WIPAC) set out to break the internet – or at least, pull off the cloud HPC equivalent. As part of thei Read more…

By Oliver Peckham

ORNL Team Develops AI-based Cancer Text Mining Tool on Summit

February 13, 2020

A group of Oak Ridge National Laboratory researchers working on the Summit supercomputer has developed a new neural network tool for fast extraction of information from cancer pathology reports to speed research and clin Read more…

By John Russell

Nature Serves up Another Challenge to Quantum Computing?

February 13, 2020

Just when you thought it was safe to assume quantum computing – though distant – would eventually succumb to clever technology, another potentially confounding factor pops up. It’s the Heisenberg Limit (HL), close Read more…

By John Russell

Researchers Enlist Three Supercomputers to Apply Deep Learning to Extreme Weather

February 12, 2020

When it comes to extreme weather, an errant forecast can have serious effects. While advance warning can give people time to prepare for the weather as it did with the polar vortex last year, the absence of accurate adva Read more…

By Oliver Peckham

AWS Solution Channel

Challenging the barriers to High Performance Computing in the Cloud

Cloud computing helps democratize High Performance Computing by placing powerful computational capabilities in the hands of more researchers, engineers, and organizations who may lack access to sufficient on-premises infrastructure. Read more…

IBM Accelerated Insights

Intelligent HPC – Keeping Hard Work at Bay(es)

Since the dawn of time, humans have looked for ways to make their lives easier. Over the centuries human ingenuity has given us inventions such as the wheel and simple machines – which help greatly with tasks that would otherwise be extremely laborious. Read more…

Eni to Retake Industry HPC Crown with Launch of HPC5

February 12, 2020

With the launch of its Dell-built HPC5 system, Italian energy company Eni regains its position atop the industrial supercomputing leaderboard. At 52-petaflops peak, HPC5 should easily crack the top ten fold of the next T Read more…

By Tiffany Trader

The Massive GPU Cloudburst Experiment Plays a Smaller, More Productive Encore

February 13, 2020

In November, researchers at the San Diego Supercomputer Center (SDSC) and the IceCube Particle Astrophysics Center (WIPAC) set out to break the internet – or Read more…

By Oliver Peckham

Eni to Retake Industry HPC Crown with Launch of HPC5

February 12, 2020

With the launch of its Dell-built HPC5 system, Italian energy company Eni regains its position atop the industrial supercomputing leaderboard. At 52-petaflops p Read more…

By Tiffany Trader

Trump Budget Proposal Again Slashes Science Spending

February 11, 2020

President Donald Trump’s FY2021 U.S. Budget, submitted to Congress this week, again slashes science spending. It’s a $4.8 trillion statement of priorities, Read more…

By John Russell

Policy: Republicans Eye Bigger Science Budgets; NSF Celebrates 70th, Names Idea Machine Winners

February 5, 2020

It’s a busy week for science policy. Yesterday, the National Science Foundation announced winners of its 2026 Idea Machine contest seeking directions for futu Read more…

By John Russell

Fujitsu A64FX Supercomputer to Be Deployed at Nagoya University This Summer

February 3, 2020

Japanese tech giant Fujitsu announced today that it will supply Nagoya University Information Technology Center with the first commercial supercomputer powered Read more…

By Tiffany Trader

Intel Stopping Nervana Development to Focus on Habana AI Chips

February 3, 2020

Just two months after acquiring Israeli AI chip start-up Habana Labs for $2 billion, Intel is stopping development of its existing Nervana neural network proces Read more…

By John Russell

Lise Supercomputer, Part of HLRN-IV, Begins Operations

January 29, 2020

The second phase of the build-out of HLRN-IV – the planned 16 peak-petaflops supercomputer serving the North-German Supercomputing Alliance (HLRN) – is unde Read more…

By Staff report

IBM Debuts IC922 Power Server for AI Inferencing and Data Management

January 28, 2020

IBM today launched a Power9-based inference server – the IC922 – that features up to six Nvidia T4 GPUs, PCIe Gen 4 and OpenCAPI connectivity, and can accom Read more…

By John Russell

Julia Programming’s Dramatic Rise in HPC and Elsewhere

January 14, 2020

Back in 2012 a paper by four computer scientists including Alan Edelman of MIT introduced Julia, A Fast Dynamic Language for Technical Computing. At the time, t Read more…

By John Russell

Cray, Fujitsu Both Bringing Fujitsu A64FX-based Supercomputers to Market in 2020

November 12, 2019

The number of top-tier HPC systems makers has shrunk due to a steady march of M&A activity, but there is increased diversity and choice of processing compon Read more…

By Tiffany Trader

SC19: IBM Changes Its HPC-AI Game Plan

November 25, 2019

It’s probably fair to say IBM is known for big bets. Summit supercomputer – a big win. Red Hat acquisition – looking like a big win. OpenPOWER and Power processors – jury’s out? At SC19, long-time IBMer Dave Turek sketched out a different kind of bet for Big Blue – a small ball strategy, if you’ll forgive the baseball analogy... Read more…

By John Russell

Intel Debuts New GPU – Ponte Vecchio – and Outlines Aspirations for oneAPI

November 17, 2019

Intel today revealed a few more details about its forthcoming Xe line of GPUs – the top SKU is named Ponte Vecchio and will be used in Aurora, the first plann Read more…

By John Russell

Dell Ramps Up HPC Testing of AMD Rome Processors

October 21, 2019

Dell Technologies is wading deeper into the AMD-based systems market with a growing evaluation program for the latest Epyc (Rome) microprocessors from AMD. In a Read more…

By John Russell

IBM Unveils Latest Achievements in AI Hardware

December 13, 2019

“The increased capabilities of contemporary AI models provide unprecedented recognition accuracy, but often at the expense of larger computational and energet Read more…

By Oliver Peckham

SC19: Welcome to Denver

November 17, 2019

A significant swath of the HPC community has come to Denver for SC19, which began today (Sunday) with a rich technical program. As is customary, the ribbon cutt Read more…

By Tiffany Trader

D-Wave’s Path to 5000 Qubits; Google’s Quantum Supremacy Claim

September 24, 2019

On the heels of IBM’s quantum news last week come two more quantum items. D-Wave Systems today announced the name of its forthcoming 5000-qubit system, Advantage (yes the name choice isn’t serendipity), at its user conference being held this week in Newport, RI. Read more…

By John Russell

Leading Solution Providers

SC 2019 Virtual Booth Video Tour

AMD
AMD
ASROCK RACK
ASROCK RACK
AWS
AWS
CEJN
CJEN
CRAY
CRAY
DDN
DDN
DELL EMC
DELL EMC
IBM
IBM
MELLANOX
MELLANOX
ONE STOP SYSTEMS
ONE STOP SYSTEMS
PANASAS
PANASAS
SIX NINES IT
SIX NINES IT
VERNE GLOBAL
VERNE GLOBAL
WEKAIO
WEKAIO

Jensen Huang’s SC19 – Fast Cars, a Strong Arm, and Aiming for the Cloud(s)

November 20, 2019

We’ve come to expect Nvidia CEO Jensen Huang’s annual SC keynote to contain stunning graphics and lively bravado (with plenty of examples) in support of GPU Read more…

By John Russell

51,000 Cloud GPUs Converge to Power Neutrino Discovery at the South Pole

November 22, 2019

At the dead center of the South Pole, thousands of sensors spanning a cubic kilometer are buried thousands of meters beneath the ice. The sensors are part of Ic Read more…

By Oliver Peckham

Fujitsu A64FX Supercomputer to Be Deployed at Nagoya University This Summer

February 3, 2020

Japanese tech giant Fujitsu announced today that it will supply Nagoya University Information Technology Center with the first commercial supercomputer powered Read more…

By Tiffany Trader

Top500: US Maintains Performance Lead; Arm Tops Green500

November 18, 2019

The 54th Top500, revealed today at SC19, is a familiar list: the U.S. Summit (ORNL) and Sierra (LLNL) machines, offering 148.6 and 94.6 petaflops respectively, Read more…

By Tiffany Trader

Azure Cloud First with AMD Epyc Rome Processors

November 6, 2019

At Ignite 2019 this week, Microsoft's Azure cloud team and AMD announced an expansion of their partnership that began in 2017 when Azure debuted Epyc-backed instances for storage workloads. The fourth-generation Azure D-series and E-series virtual machines previewed at the Rome launch in August are now generally available. Read more…

By Tiffany Trader

Intel’s New Hyderabad Design Center Targets Exascale Era Technologies

December 3, 2019

Intel's Raja Koduri was in India this week to help launch a new 300,000 square foot design and engineering center in Hyderabad, which will focus on advanced com Read more…

By Tiffany Trader

Using AI to Solve One of the Most Prevailing Problems in CFD

October 17, 2019

How can artificial intelligence (AI) and high-performance computing (HPC) solve mesh generation, one of the most commonly referenced problems in computational engineering? A new study has set out to answer this question and create an industry-first AI-mesh application... Read more…

By James Sharpe

In Memoriam: Steve Tuecke, Globus Co-founder

November 4, 2019

HPCwire is deeply saddened to report that Steve Tuecke, longtime scientist at Argonne National Lab and University of Chicago, has passed away at age 52. Tuecke Read more…

By Tiffany Trader

  • arrow
  • Click Here for More Headlines
  • arrow
Do NOT follow this link or you will be banned from the site!
Share This