A Tale of Two GPU Computing Models

By Michael Feldman

May 26, 2011

There was plenty of GPU computing in the HPC news stream this week, but I’m going to focus on two announcements, since they’re somewhat at odds with each other — but not really.

The first is Cray’s big announcement of its Tesla-equipped XK6 super. The company has been talking up this system up for awhile and finally got the chance to spill the details on it thanks to NVIDIA’s launch last week of the second-generation Fermi GPU technology.

The system is not your garden-variety GPU cluster, though. The XK6 blade is a variant of the XE6 and like its CPU-only sibling is designed to scale well into multi-petaflops territory. A single rack will deliver about 70 teraflops. The blade will actually be using the X2090, a compact form factor variant of the new M2090 part, but the innards are supposedly identical.

Cray, though, is pointing to its software environment as the technology that really makes the XK6 something special. Although NVIDIA’s CUDA SDK comes standard with each system, Cray is also developing its own GPU compiler for C and Fortran, based on OpenMP extensions for accelerators. Their compiler is still in a pre-production state, but Cray will be handing it out to selected customers to kick the tires.

The idea is to provide programmers with a standard directives-based language environment for GPU computing. Since the developer need only insert directives to tell the compiler which pieces need to be GPU-ified, it’s a lot easier to convert existing CPU codes, compared to doing a CUDA port. The resulting directive-enhanced source can then be ported to other accelerator platforms, assuming they support the OpenMP accelerator extensions too. Or the directives can be stripped out if a standard CPU platform is all you have.

Cray is also supporting PGI’s GPU-capable compiler, which is directives-based as well, but it’s not an open standard like OpenMP. PGI and CAPS enterprise (which has its own HMPP directives for GPU computing) could of course adopt the OpenMP accelerator directives, and undoubtedly would do so if that version became the choice of developers. Given that OpenMP has a very strong following in the HPC community, it wouldn’t surprise me if developers opted for this particular solution.

Also, since both PGI and CAPS are on the OpenMP board, I’d venture to say that there will be a meeting of the minds over accelerator directives in the not-too-distant future. By the way, Intel is on the board too, so it’s conceivable that OpenMP acceleration will be supported for the upcoming Knights Ferry MIC processor as well.

The only caveat to a directives-based approach to programming GPU is that of performance. Something like CUDA or OpenCL can get much closer to the silicon and thus offer better performance if you know what you’re doing. The problem is a lot of developers don’t know what they’re doing — as a former software engineer, I say this without blushing — and in any case would prefer not to have to worry about the nitty-gritty details of GPU programming. Also, for the reasons stated above, there are significant advantages to building GPU codes in a high-level, hardware-independent language environment.

Cray is already tuning their OpenMP-based GPU compiler for performance. With their knowledge of all things vector, I expect they’ll eventually get to a happy place performance-wise. Certainly if such a programming model can shave a few months or even a few weeks off of development time, you have a lot more cycles to play with simply because you have a working program in hand.

The second high-profile GPU news item this week involved a successful GPU port of a machine learning algorithm by Pittsburgh Supercomputing Center (PSC) and HP Labs. In this case what I mean by successful is that the researchers achieved a 10X speedup of the algorithm using CUDA and an NVIDIA GPU-based system, compared to the equivalent code targeted for a CPU cluster. The system encompassed three nodes, with three GPUs and two CPUs per node. MPI was used for node-to-node chatter.

The algorithm in question, called k-means clustering, is used in machine learning to uncover patterns or association within large datasets. In this case, they used Google’s “Books N-gram” dataset to cluster all five-word sets of the one thousand most commonly used words occurring in all books published in 2005. With their GPU implementation, the researchers were able to cluster the entire dataset (15 million data points and 1000 dimensions) in less than nine seconds.

While that particular application might not be the most useful one ever invented, machine learning has a big place in data analytics generally. That includes a lot of HPC-type informatics work — genomics, proteomics, etc. There’s even the equivalent in the humanities, called culturomics, which is essentially the analysis of datasets having to do with human cultures. Basically any application that does data correlations across large datasets can make use of this method.

The CUDA version of this machine learning algorithm not only out-performed the CPU implementation (straight C) by a factor of 10, it was 1,000 times faster than an unspecified high-level language implementation used in machine learning research.

Ren Wu, principal investigator of the CUDA Research Center at HP Labs, developed the k-means clustering code for GPUs used by PSC. In the announcement he had plenty of nice things to say about CUDA:

“I think that the CUDA programming model is a very nice framework, well balanced on abstraction and expressing power, easy to learn but with enough control for advanced algorithm designers, and supported by hardware with exceptional performance (compared to other alternatives). The key for any high-performance algorithm on modern multi/many-core architecture is to minimize the data movement and to optimize against memory hierarchy. Keeping this in mind, CUDA is as easy, if not easier, than any other alternatives.”

Whether Wu could have extracted similar performance from an OpenMP accelerator programming implementation or something similar is questionable. Clearly there are going to be situations where using CUDA (or OpenCL) is warranted. This will be especially true for library routines/algorithms that are used across a wide variety of applications, and whose speed is critical to the application’s performance. For data parallel algorithms that are local to specific applications, a more high level approach may be the way to go.

We’ve certainly been here before with assembly code and high-level languages. Both have established their place in software development. Similarly we’re going to see high-level and low-level GPU programming frameworks moving forward together and it’s going to be up to the programmer to know when to apply each.

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!

DOE’s Dimitri Kusnezov Discusses How the United States Invests in Supercomputing

November 14, 2018

Maciej Chojnowski: At the moment, the CORAL systems Summit and Sierra are the number one and number three [now number two] most powerful supercomputers on the planet. In an interview during the SCFE2018 conference in War Read more…

By Maciej Chojnowski

At SC18: Humanitarianism Amid Boom Times for HPC

November 14, 2018

At SC18 in Dallas, the feeling on the ground is one of forward-looking buoyancy. Like boom times that cycle through the Texas oil fields, the HPC industry is enjoying a prosperity seen only every few decades, one driven Read more…

By Doug Black

Nvidia’s Jensen Huang Delivers Vision for the New HPC

November 14, 2018

For nearly two hours on Monday at SC18, Jensen Huang, CEO of Nvidia, presented his expansive view of the future of HPC (and computing in general) as only he can do. Animated. Backstopped by a stream of data charts, produ Read more…

By John Russell

HPE Extreme Performance Solutions

AI Can Be Scary. But Choosing the Wrong Partners Can Be Mortifying!

As you continue to dive deeper into AI, you will discover it is more than just deep learning. AI is an extremely complex set of machine learning, deep learning, reinforcement, and analytics algorithms with varying compute, storage, memory, and communications needs. Read more…

IBM Accelerated Insights

New Data Management Techniques for Intelligent Simulations

The trend in high performance supercomputer design has evolved – from providing maximum compute capability for complex scalable science applications, to capacity computing utilizing efficient, cost-effective computing power for solving a small number of large problems or a large number of small problems. Read more…

New Panasas High Performance Storage Straddles Commercial-Traditional HPC

November 13, 2018

High performance storage vendor Panasas has launched a new version of its ActiveStor product line this morning featuring what the company said is the industry’s first plug-and-play, portable parallel file system that d Read more…

By Doug Black

DOE’s Dimitri Kusnezov Discusses How the United States Invests in Supercomputing

November 14, 2018

Maciej Chojnowski: At the moment, the CORAL systems Summit and Sierra are the number one and number three [now number two] most powerful supercomputers on the p Read more…

By Maciej Chojnowski

At SC18: Humanitarianism Amid Boom Times for HPC

November 14, 2018

At SC18 in Dallas, the feeling on the ground is one of forward-looking buoyancy. Like boom times that cycle through the Texas oil fields, the HPC industry is en Read more…

By Doug Black

Nvidia’s Jensen Huang Delivers Vision for the New HPC

November 14, 2018

For nearly two hours on Monday at SC18, Jensen Huang, CEO of Nvidia, presented his expansive view of the future of HPC (and computing in general) as only he can Read more…

By John Russell

New Panasas High Performance Storage Straddles Commercial-Traditional HPC

November 13, 2018

High performance storage vendor Panasas has launched a new version of its ActiveStor product line this morning featuring what the company said is the industry Read more…

By Doug Black

SC18 Student Cluster Competition – Revealing the Field

November 13, 2018

It’s November again and we’re almost ready for the kick-off of one of the greatest computer sports events in the world – the SC Student Cluster Competitio Read more…

By Dan Olds

US Leads Supercomputing with #1, #2 Systems & Petascale Arm

November 12, 2018

The 31st Supercomputing Conference (SC) - commemorating 30 years since the first Supercomputing in 1988 - kicked off in Dallas yesterday, taking over the Kay Ba Read more…

By Tiffany Trader

OpenACC Talks Up Summit and Community Momentum at SC18

November 12, 2018

OpenACC – the directives-based parallel programing model for optimizing applications on heterogeneous architectures – is showcasing user traction and HPC im Read more…

By John Russell

How ASCI Revolutionized the World of High-Performance Computing and Advanced Modeling and Simulation

November 9, 2018

The 1993 Supercomputing Conference was held in Portland, Oregon. That conference and it’s show floor provided a good snapshot of the uncertainty that U.S. supercomputing was facing in the early 1990s. Many of the companies exhibiting that year would soon be gone, either bankrupt or acquired by somebody else. Read more…

By Alex R. Larzelere

Cray Unveils Shasta, Lands NERSC-9 Contract

October 30, 2018

Cray revealed today the details of its next-gen supercomputing architecture, Shasta, selected to be the next flagship system at NERSC. We've known of the code-name "Shasta" since the Argonne slice of the CORAL project was announced in 2015 and although the details of that plan have changed considerably, Cray didn't slow down its timeline for Shasta. Read more…

By Tiffany Trader

TACC Wins Next NSF-funded Major Supercomputer

July 30, 2018

The Texas Advanced Computing Center (TACC) has won the next NSF-funded big supercomputer beating out rivals including the National Center for Supercomputing Ap Read more…

By John Russell

IBM at Hot Chips: What’s Next for Power

August 23, 2018

With processor, memory and networking technologies all racing to fill in for an ailing Moore’s law, the era of the heterogeneous datacenter is well underway, Read more…

By Tiffany Trader

Requiem for a Phi: Knights Landing Discontinued

July 25, 2018

On Monday, Intel made public its end of life strategy for the Knights Landing "KNL" Phi product set. The announcement makes official what has already been wide Read more…

By Tiffany Trader

House Passes $1.275B National Quantum Initiative

September 17, 2018

Last Thursday the U.S. House of Representatives passed the National Quantum Initiative Act (NQIA) intended to accelerate quantum computing research and developm Read more…

By John Russell

CERN Project Sees Orders-of-Magnitude Speedup with AI Approach

August 14, 2018

An award-winning effort at CERN has demonstrated potential to significantly change how the physics based modeling and simulation communities view machine learni Read more…

By Rob Farber

Summit Supercomputer is Already Making its Mark on Science

September 20, 2018

Summit, now the fastest supercomputer in the world, is quickly making its mark in science – five of the six finalists just announced for the prestigious 2018 Read more…

By John Russell

New Deep Learning Algorithm Solves Rubik’s Cube

July 25, 2018

Solving (and attempting to solve) Rubik’s Cube has delighted millions of puzzle lovers since 1974 when the cube was invented by Hungarian sculptor and archite Read more…

By John Russell

Leading Solution Providers

US Leads Supercomputing with #1, #2 Systems & Petascale Arm

November 12, 2018

The 31st Supercomputing Conference (SC) - commemorating 30 years since the first Supercomputing in 1988 - kicked off in Dallas yesterday, taking over the Kay Ba Read more…

By Tiffany Trader

TACC’s ‘Frontera’ Supercomputer Expands Horizon for Extreme-Scale Science

August 29, 2018

The National Science Foundation and the Texas Advanced Computing Center announced today that a new system, called Frontera, will overtake Stampede 2 as the fast Read more…

By Tiffany Trader

HPE No. 1, IBM Surges, in ‘Bucking Bronco’ High Performance Server Market

September 27, 2018

Riding healthy U.S. and global economies, strong demand for AI-capable hardware and other tailwind trends, the high performance computing server market jumped 28 percent in the second quarter 2018 to $3.7 billion, up from $2.9 billion for the same period last year, according to industry analyst firm Hyperion Research. Read more…

By Doug Black

Intel Announces Cooper Lake, Advances AI Strategy

August 9, 2018

Intel's chief datacenter exec Navin Shenoy kicked off the company's Data-Centric Innovation Summit Wednesday, the day-long program devoted to Intel's datacenter Read more…

By Tiffany Trader

Germany Celebrates Launch of Two Fastest Supercomputers

September 26, 2018

The new high-performance computer SuperMUC-NG at the Leibniz Supercomputing Center (LRZ) in Garching is the fastest computer in Germany and one of the fastest i Read more…

By Tiffany Trader

Houston to Field Massive, ‘Geophysically Configured’ Cloud Supercomputer

October 11, 2018

Based on some news stories out today, one might get the impression that the next system to crack number one on the Top500 would be an industrial oil and gas mon Read more…

By Tiffany Trader

MLPerf – Will New Machine Learning Benchmark Help Propel AI Forward?

May 2, 2018

Let the AI benchmarking wars begin. Today, a diverse group from academia and industry – Google, Baidu, Intel, AMD, Harvard, and Stanford among them – releas Read more…

By John Russell

Google Releases Machine Learning “What-If” Analysis Tool

September 12, 2018

Training machine learning models has long been time-consuming process. Yesterday, Google released a “What-If Tool” for probing how data point changes affect a model’s prediction. The new tool is being launched as a new feature of the open source TensorBoard web application... Read more…

By John Russell

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