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!

Study Identifies Best Practices for Public-Private HPC Engagement

August 22, 2017

What's the best way for HPC centers in the public sphere to engage with private industry partners to boost the competitiveness of the companies and the larger communities? That question is at the heart of a new study pub Read more…

By Tiffany Trader

Google Launches Site to Share its NYC-based Algorithm Research

August 22, 2017

Much of Google’s algorithm development occurs in groups scattered throughout New York City. Yesterday, Google launched a single website - NYC Algorithms and Optimization Team page - to provide a deeper view into all of Read more…

By John Russell

Dell Strikes Reseller Deal with Atos; Supplants SGI

August 22, 2017

Dell EMC and Atos announced a reseller deal today in which Dell will offer Atos’ high-end 8- and 16-socket Bullion servers. Some move from Dell had been expected following Hewlett Packard Enterprise’s purchase of SGI Read more…

By John Russell

HPE Extreme Performance Solutions

Leveraging Deep Learning for Fraud Detection

Advancements in computing technologies and the expanding use of e-commerce platforms have dramatically increased the risk of fraud for financial services companies and their customers. Read more…

Glimpses of Today’s Total Solar Eclipse

August 21, 2017

Here are a few arresting images posted by NASA of today’s total solar eclipse. Such astronomical events have always captured our imagination and it’s not hard to understand why such occurrences were often greeted wit Read more…

By John Russell

Study Identifies Best Practices for Public-Private HPC Engagement

August 22, 2017

What's the best way for HPC centers in the public sphere to engage with private industry partners to boost the competitiveness of the companies and the larger c Read more…

By Tiffany Trader

Tech Giants Outline Battle Plans for Future HPC Market

August 21, 2017

Four companies engaged in a cage fight for leadership in the emerging HPC market of the 2020s are, despite deep differences in some areas, in violent agreement Read more…

By Doug Black

Microsoft Bolsters Azure With Cloud HPC Deal

August 15, 2017

Microsoft has acquired cloud computing software vendor Cycle Computing in a move designed to bring orchestration tools along with high-end computing access capabilities to the cloud. Terms of the acquisition were not disclosed. Read more…

By George Leopold

HPE Ships Supercomputer to Space Station, Final Destination Mars

August 14, 2017

With a manned mission to Mars on the horizon, the demand for space-based supercomputing is at hand. Today HPE and NASA sent the first off-the-shelf HPC system i Read more…

By Tiffany Trader

AMD EPYC Video Takes Aim at Intel’s Broadwell

August 14, 2017

Let the benchmarking begin. Last week, AMD posted a YouTube video in which one of its EPYC-based systems outperformed a ‘comparable’ Intel Broadwell-based s Read more…

By John Russell

Deep Learning Thrives in Cancer Moonshot

August 8, 2017

The U.S. War on Cancer, certainly a worthy cause, is a collection of programs stretching back more than 40 years and abiding under many banners. The latest is t Read more…

By John Russell

IBM Raises the Bar for Distributed Deep Learning

August 8, 2017

IBM is announcing today an enhancement to its PowerAI software platform aimed at facilitating the practical scaling of AI models on today’s fastest GPUs. Scal Read more…

By Tiffany Trader

IBM Storage Breakthrough Paves Way for 330TB Tape Cartridges

August 3, 2017

IBM announced yesterday a new record for magnetic tape storage that it says will keep tape storage density on a Moore's law-like path far into the next decade. Read more…

By Tiffany Trader

How ‘Knights Mill’ Gets Its Deep Learning Flops

June 22, 2017

Intel, the subject of much speculation regarding the delayed, rewritten or potentially canceled “Aurora” contract (the Argonne Lab part of the CORAL “ Read more…

By Tiffany Trader

Nvidia’s Mammoth Volta GPU Aims High for AI, HPC

May 10, 2017

At Nvidia's GPU Technology Conference (GTC17) in San Jose, Calif., this morning, CEO Jensen Huang announced the company's much-anticipated Volta architecture a Read more…

By Tiffany Trader

Reinders: “AVX-512 May Be a Hidden Gem” in Intel Xeon Scalable Processors

June 29, 2017

Imagine if we could use vector processing on something other than just floating point problems.  Today, GPUs and CPUs work tirelessly to accelerate algorithms Read more…

By James Reinders

Russian Researchers Claim First Quantum-Safe Blockchain

May 25, 2017

The Russian Quantum Center today announced it has overcome the threat of quantum cryptography by creating the first quantum-safe blockchain, securing cryptocurrencies like Bitcoin, along with classified government communications and other sensitive digital transfers. Read more…

By Doug Black

Nvidia Responds to Google TPU Benchmarking

April 10, 2017

Nvidia highlights strengths of its newest GPU silicon in response to Google's report on the performance and energy advantages of its custom tensor processor. Read more…

By Tiffany Trader

Quantum Bits: D-Wave and VW; Google Quantum Lab; IBM Expands Access

March 21, 2017

For a technology that’s usually characterized as far off and in a distant galaxy, quantum computing has been steadily picking up steam. Just how close real-wo Read more…

By John Russell

Groq This: New AI Chips to Give GPUs a Run for Deep Learning Money

April 24, 2017

CPUs and GPUs, move over. Thanks to recent revelations surrounding Google’s new Tensor Processing Unit (TPU), the computing world appears to be on the cusp of Read more…

By Alex Woodie

HPC Compiler Company PathScale Seeks Life Raft

March 23, 2017

HPCwire has learned that HPC compiler company PathScale has fallen on difficult times and is asking the community for help or actively seeking a buyer for its a Read more…

By Tiffany Trader

Leading Solution Providers

Google Debuts TPU v2 and will Add to Google Cloud

May 25, 2017

Not long after stirring attention in the deep learning/AI community by revealing the details of its Tensor Processing Unit (TPU), Google last week announced the Read more…

By John Russell

Trump Budget Targets NIH, DOE, and EPA; No Mention of NSF

March 16, 2017

President Trump’s proposed U.S. fiscal 2018 budget issued today sharply cuts science spending while bolstering military spending as he promised during the cam Read more…

By John Russell

CPU-based Visualization Positions for Exascale Supercomputing

March 16, 2017

In this contributed perspective piece, Intel’s Jim Jeffers makes the case that CPU-based visualization is now widely adopted and as such is no longer a contrarian view, but is rather an exascale requirement. Read more…

By Jim Jeffers, Principal Engineer and Engineering Leader, Intel

Six Exascale PathForward Vendors Selected; DoE Providing $258M

June 15, 2017

The much-anticipated PathForward awards for hardware R&D in support of the Exascale Computing Project were announced today with six vendors selected – AMD Read more…

By John Russell

Top500 Results: Latest List Trends and What’s in Store

June 19, 2017

Greetings from Frankfurt and the 2017 International Supercomputing Conference where the latest Top500 list has just been revealed. Although there were no major Read more…

By Tiffany Trader

IBM Clears Path to 5nm with Silicon Nanosheets

June 5, 2017

Two years since announcing the industry’s first 7nm node test chip, IBM and its research alliance partners GlobalFoundries and Samsung have developed a proces Read more…

By Tiffany Trader

Messina Update: The US Path to Exascale in 16 Slides

April 26, 2017

Paul Messina, director of the U.S. Exascale Computing Project, provided a wide-ranging review of ECP’s evolving plans last week at the HPC User Forum. Read more…

By John Russell

Graphcore Readies Launch of 16nm Colossus-IPU Chip

July 20, 2017

A second $30 million funding round for U.K. AI chip developer Graphcore sets up the company to go to market with its “intelligent processing unit” (IPU) in Read more…

By Tiffany Trader

  • arrow
  • Click Here for More Headlines
  • arrow
Share This