Ten Ways to Fool the Masses When Giving Performance Results on GPUs

By Scott Pakin

December 13, 2011

The performance potential of GPU computing has produced significant excitement in the HPC community. However, as was the case with the advent of parallel computing decades ago, the nascent technology does not equally benefit all applications — or even all components of a single application. Alas, modest speedups from GPU acceleration are rarely publication-worthy, a fact that occasionally leads GPU zealots to adopt scientifically dubious techniques to artificially inflate the performance benefit of GPU computing to more impressive levels.

In this modern revival of David Bailey’s classic report, “Twelve Ways to Fool the Masses When Giving Performance Results on Parallel Computers,” I present ten forms of experimental sloppiness I’ve encountered repeatedly in scientific publications, all of which can be used to chicane GPU rookies (and pointy-haired bosses) into believing that GPUs can magically improve any application’s performance by multiple orders of magnitude. With this list as their vade mecum, readers will learn to be skeptical of exaggerated GPU performance claims.

Ready to boost your reported GPU performance results without boosting your actual GPU performance? Read on…

1. Quote performance results only with 32-bit floating-point arithmetic, not 64-bit arithmetic.

GPUs get double the performance when using single-precision arithmetic. Who needs more than eight decimal digits of precision, anyway? It goes without saying that the CPU version of the code you compare against should use exclusively 64-bit arithmetic because, well, that’s how people write CPU code (even though CPUs also double their flop rate when utilizing 32-bit SIMD arithmetic).

2. Don’t time data movement or kernel-invocation overhead.

Copying data between CPU memory and GPU memory is slow and cuts into the amount of GPU performance that one can claim. Hence, to make GPUs look good, be sure to start the clock after all of the program’s data have already been transferred to GPU memory and the kernel has already been launched and stop the clock before the results are copied back to CPU memory. There are two corollaries to this rule:

Corollary 1: Never, ever report the performance of an application running across more than one GPU-accelerated node. Doing so requires all sorts of CPU-managed communication, and *that* requires data movement and additional kernel invocations — bad for speedup numbers.

Corollary 2: Always report performance of single kernels, not of complete applications. This is especially true of applications containing important but hard-to-accelerate subroutines.

3. Quote GPU cost and ubiquity for low-end parts. Measure performance on high-end parts.

Here’s some text you can adapt as necessary: “GPUs are an important platform to target because they cost under $100 and come standard with all modern computer systems. For our experiments we measured performance on an NVIDIA Tesla M2090…”

4. Quote memory bandwidth only to/from on-board GPU memory, not to/from main memory.

Impress your audience with your high-end GPU’s ability to do memory transfers at 177 GB/s. As long as you never need to store, transfer, or utilize the result of your computations, that’s a perfectly honest number to quote.

5. Disable ECC checks on memory.

GPUs run faster — and provide more usable memory capacity — when they don’t have to try so hard to produce correct data. Besides, what GPU kernel runs long enough that this should be an issue?

6. Compare full (or even multiple) GPU performance to a single CPU core.

Always compare what you started with (a sequential CPU program) with what you ended up producing (a parallel GPU program). A 10x speedup of GPU code over CPU code sure seems a lot more impressive when you neglect to mention that your host system contains two sockets of eight-core CPUs, which you *could* have used instead.

7. Compare heavily optimized GPU code to unoptimized CPU code.

Naturally, you’ve made sure the GPU code runs as fast as possible by restructuring it to exploit data parallelism, memory locality, and other GPU-friendly program characteristics. Now be sure to compare it only against the original, naive CPU code, not a version that exploits the CPU’s SIMD instructions, properly blocks for cache, optimally aligns data structures, or includes any of the other performance optimizations that CPU programmers rarely bother with. Definitely don’t backport your GPU modifications to the CPU, or the reported speedup will be disappointingly less.

8. Scale the problem size to fit within GPU memory.

This recommendation goes both ways. If your GPU has 6 GB of on-board memory and your application’s problem size is larger than that, then scale it down to 6 GB so you can avoid all the expensive synchronization and messy double-buffering that large problem sizes entail. If your GPU has 6 GB of on-board memory and your application’s problem size is significantly smaller than that, then weak-scale the problem size, even beyond meaningful bounds, so you can reap the performance benefits of increased data parallelism. The following recommendation further develops this point:

9. Sacrifice meaningful numerics for GPU performance.

GPUs are renowned for their computational throughput. However, reaching peak performance requires amortizing that nasty startup cost of moving kernels and data to the GPU. Hence, to demonstrate good GPU performance, always run far more iterations than are typical, necessary, practical, or even meaningful for real-world usage, numerics be damned!

10. Select algorithms that favor GPUs.

The best CPU algorithms often don’t make the best GPU algorithms and vice versa. Consequently, you should always take whatever algorithm works best on the GPU and benchmark that against a CPU version. What’s great about this approach over comparing the performance of the best CPU algorithm to that of the best GPU algorithm is that it leads to a “fair” comparison. After all, you ran the same algorithm on both systems — fair, right?

Parting thoughts

The good news is that advances in GPU technology are alleviating some of the costs that the preceding trickery attempts to hide. While parts of my list may soon appear anachronistic, there should still be enough deviousness remaining to please even the most discerning GPU fanboy.

As a final, largely unrelated comment, can we please eliminate the oxymoronic noun “GPGPU” from our collective lexicon? If a processor is specialized for graphics processing, then it’s not really a general-purpose device, is it?

Further reading

[Bai91] David H. Bailey. “Highly parallel perspective: Twelve ways to fool the masses when giving performance results on parallel computers”. Supercomputing Review, 4(8):54-55, August, 1991. ISSN: 1048-6836. Also appears as NASA Ames RNR Technical Report RNR-91-020.

[BBR10] Rajesh Bordawekar, Uday Bondhugula, and Ravi Rao. “Can CPUs match GPUs on performance with productivity?: Experiences with optimizing a FLOP-intensive application on CPUs and GPU”. IBM T. J. Watson Research Center Technical Report RC25033 (W1008-020). August 5, 2010.

[LKC+10] Victor W. Lee, Changkyu Kim, Jatin Chhugani, Michael Deisher, Daehyun Kim, Anthony D. Nguyen, Nadathur Satish, Mikhail Smelyanskiy, Srinivas Chennupaty, Per Hammarlund, Ronak Singhal, and Pradeep Dubey. “Debunking the 100X GPU vs. CPU myth: An evaluation of throughput computing on CPU and GPU”, Proceedings of the 37th Annual International Symposium on Computer Architecture (ISCA 2010), Saint-Malo, France, June 19-23, 2010. ISBN: 978-1-4503-0053-7, DOI: 10.1145/1815961.1816021.

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!

2022 Road Trip: NASA Ames Takes Off

November 25, 2022

I left Dallas very early Friday morning after the conclusion of SC22. I had a race with the devil to get from Dallas to Mountain View, Calif., by Sunday. According to Google Maps, this 1,957 mile jaunt would be the longe Read more…

2022 Road Trip: Sandia Brain Trust Sounds Off

November 24, 2022

As the 2022 Great American Supercomputing Road Trip carries on, it’s Sandia’s turn. It was a bright sunny day when I rolled into Albuquerque after a high-speed run from Los Alamos National Laboratory. My interview su Read more…

2022 HPC Road Trip: Los Alamos

November 23, 2022

With SC22 in the rearview mirror, it’s time to get back to the 2022 Great American Supercomputing Road Trip. To refresh everyone’s memory, I jumped in the car on November 3rd and headed towards SC22 in Dallas, stoppi Read more…

Chipmakers Looking at New Architecture to Drive Computing Ahead

November 23, 2022

The ability to scale current computing designs is reaching a breaking point, and chipmakers such as Intel, Qualcomm and AMD are putting their brains together on an alternate architecture to push computing forward. The chipmakers are coalescing around the new concept of sparse computing, which involves bringing computing to data... Read more…

QuEra’s Quest: Build a Flexible Neutral Atom-based Quantum Computer

November 23, 2022

Last month, QuEra Computing began providing access to its 256-qubit, neutral atom-based quantum system, Aquila, from Amazon Braket. Founded in 2018, and built on technology developed at Harvard and MIT, QuEra, is one of Read more…

AWS Solution Channel

Shutterstock 1648511269

Avoid overspending with AWS Batch using a serverless cost guardian monitoring architecture

Pay-as-you-go resources are a compelling but daunting concept for budget conscious research customers. Uncertainty of cloud costs is a barrier-to-entry for most, and having near real-time cost visibility is critical. Read more…

 

shutterstock_1431394361

AI and the need for purpose-built cloud infrastructure

Modern AI solutions augment human understanding, preferences, intent, and even spoken language. AI improves our knowledge and understanding by delivering faster, more informed insights that fuel transformation beyond anything previously imagined. Read more…

SC22’s ‘HPC Accelerates’ Plenary Stresses Need for Collaboration

November 21, 2022

Every year, SC has a theme. For SC22 – held last week in Dallas – it was “HPC Accelerates”: a theme that conference chair Candace Culhane said reflected “how supercomputing is continuously changing the world by Read more…

Chipmakers Looking at New Architecture to Drive Computing Ahead

November 23, 2022

The ability to scale current computing designs is reaching a breaking point, and chipmakers such as Intel, Qualcomm and AMD are putting their brains together on an alternate architecture to push computing forward. The chipmakers are coalescing around the new concept of sparse computing, which involves bringing computing to data... Read more…

QuEra’s Quest: Build a Flexible Neutral Atom-based Quantum Computer

November 23, 2022

Last month, QuEra Computing began providing access to its 256-qubit, neutral atom-based quantum system, Aquila, from Amazon Braket. Founded in 2018, and built o Read more…

SC22’s ‘HPC Accelerates’ Plenary Stresses Need for Collaboration

November 21, 2022

Every year, SC has a theme. For SC22 – held last week in Dallas – it was “HPC Accelerates”: a theme that conference chair Candace Culhane said reflected Read more…

Quantum – Are We There (or Close) Yet? No, Says the Panel

November 19, 2022

For all of its politeness, a fascinating panel on the last day of SC22 – Quantum Computing: A Future for HPC Acceleration? – mostly served to illustrate the Read more…

RISC-V Is Far from Being an Alternative to x86 and Arm in HPC

November 18, 2022

One of the original RISC-V designers this week boldly predicted that the open architecture will surpass rival chip architectures in performance. "The prediction is two or three years we'll be surpassing your architectures and available performance with... Read more…

Gordon Bell Special Prize Goes to LLM-Based Covid Variant Prediction

November 17, 2022

For three years running, ACM has awarded not only its long-standing Gordon Bell Prize (read more about this year’s winner here!) but also its Gordon Bell Spec Read more…

2022 Gordon Bell Prize Goes to Plasma Accelerator Research

November 17, 2022

At the awards ceremony at SC22 in Dallas today, ACM awarded the 2022 ACM Gordon Bell Prize to a team of researchers who used four major supercomputers – inclu Read more…

Gordon Bell Nominee Used LLMs, HPC, Cerebras CS-2 to Predict Covid Variants

November 17, 2022

Large language models (LLMs) have taken the tech world by storm over the past couple of years, dominating headlines with their ability to generate convincing hu Read more…

Nvidia Shuts Out RISC-V Software Support for GPUs 

September 23, 2022

Nvidia is not interested in bringing software support to its GPUs for the RISC-V architecture despite being an early adopter of the open-source technology in its GPU controllers. Nvidia has no plans to add RISC-V support for CUDA, which is the proprietary GPU software platform, a company representative... Read more…

RISC-V Is Far from Being an Alternative to x86 and Arm in HPC

November 18, 2022

One of the original RISC-V designers this week boldly predicted that the open architecture will surpass rival chip architectures in performance. "The prediction is two or three years we'll be surpassing your architectures and available performance with... Read more…

AWS Takes the Short and Long View of Quantum Computing

August 30, 2022

It is perhaps not surprising that the big cloud providers – a poor term really – have jumped into quantum computing. Amazon, Microsoft Azure, Google, and th Read more…

Chinese Startup Biren Details BR100 GPU

August 22, 2022

Amid the high-performance GPU turf tussle between AMD and Nvidia (and soon, Intel), a new, China-based player is emerging: Biren Technology, founded in 2019 and headquartered in Shanghai. At Hot Chips 34, Biren co-founder and president Lingjie Xu and Biren CTO Mike Hong took the (virtual) stage to detail the company’s inaugural product: the Biren BR100 general-purpose GPU (GPGPU). “It is my honor to present... Read more…

Tesla Bulks Up Its GPU-Powered AI Super – Is Dojo Next?

August 16, 2022

Tesla has revealed that its biggest in-house AI supercomputer – which we wrote about last year – now has a total of 7,360 A100 GPUs, a nearly 28 percent uplift from its previous total of 5,760 GPUs. That’s enough GPU oomph for a top seven spot on the Top500, although the tech company best known for its electric vehicles has not publicly benchmarked the system. If it had, it would... Read more…

AMD Thrives in Servers amid Intel Restructuring, Layoffs

November 12, 2022

Chipmakers regularly indulge in a game of brinkmanship, with an example being Intel and AMD trying to upstage one another with server chip launches this week. But each of those companies are in different positions, with AMD playing its traditional role of a scrappy underdog trying to unseat the behemoth Intel... Read more…

JPMorgan Chase Bets Big on Quantum Computing

October 12, 2022

Most talk about quantum computing today, at least in HPC circles, focuses on advancing technology and the hurdles that remain. There are plenty of the latter. F Read more…

UCIe Consortium Incorporates, Nvidia and Alibaba Round Out Board

August 2, 2022

The Universal Chiplet Interconnect Express (UCIe) consortium is moving ahead with its effort to standardize a universal interconnect at the package level. The c Read more…

Leading Solution Providers

Contributors

Using Exascale Supercomputers to Make Clean Fusion Energy Possible

September 2, 2022

Fusion, the nuclear reaction that powers the Sun and the stars, has incredible potential as a source of safe, carbon-free and essentially limitless energy. But Read more…

Nvidia, Qualcomm Shine in MLPerf Inference; Intel’s Sapphire Rapids Makes an Appearance.

September 8, 2022

The steady maturation of MLCommons/MLPerf as an AI benchmarking tool was apparent in today’s release of MLPerf v2.1 Inference results. Twenty-one organization Read more…

Not Just Cash for Chips – The New Chips and Science Act Boosts NSF, DOE, NIST

August 3, 2022

After two-plus years of contentious debate, several different names, and final passage by the House (243-187) and Senate (64-33) last week, the Chips and Science Act will soon become law. Besides the $54.2 billion provided to boost US-based chip manufacturing, the act reshapes US science policy in meaningful ways. NSF’s proposed budget... Read more…

SC22 Unveils ACM Gordon Bell Prize Finalists

August 12, 2022

Courtesy of the schedule for the SC22 conference, we now have our first glimpse at the finalists for this year’s coveted Gordon Bell Prize. The Gordon Bell Pr Read more…

Intel Is Opening up Its Chip Factories to Academia

October 6, 2022

Intel is opening up its fabs for academic institutions so researchers can get their hands on physical versions of its chips, with the end goal of boosting semic Read more…

AMD Previews 400 Gig Adaptive SmartNIC SOC at Hot Chips

August 24, 2022

Fresh from finalizing its acquisitions of FPGA provider Xilinx (Feb. 2022) and DPU provider Pensando (May 2022) ), AMD previewed what it calls a 400 Gig Adaptive smartNIC SOC yesterday at Hot Chips. It is another contender in the increasingly crowded and blurry smartNIC/DPU space where distinguishing between the two isn’t always easy. The motivation for these device types... Read more…

Google Program to Free Chips Boosts University Semiconductor Design

August 11, 2022

A Google-led program to design and manufacture chips for free is becoming popular among researchers and computer enthusiasts. The search giant's open silicon program is providing the tools for anyone to design chips, which then get manufactured. Google foots the entire bill, from a chip's conception to delivery of the final product in a user's hand. Google's... Read more…

AMD’s Genoa CPUs Offer Up to 96 5nm Cores Across 12 Chiplets

November 10, 2022

AMD’s fourth-generation Epyc processor line has arrived, starting with the “general-purpose” architecture, called “Genoa,” the successor to third-gen Eypc Milan, which debuted in March of last year. At a launch event held today in San Francisco, AMD announced the general availability of the latest Epyc CPUs with up to 96 TSMC 5nm Zen 4 cores... Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire