The Not-So-Unlikely Marriage of CUDA and x86

By Nicole Hemsoth

November 16, 2010

NVIDIA’s CUDA is easily the most popular programming language for general-purpose GPU computing. But one of the more interesting developments in the CUDA-verse doesn’t really involve GPUs at all. In September, HPC compiler vendor PGI (The Portland Group Inc.) announced its intent to build a CUDA compiler for x86 platforms. The technology will be demonstrated for the first time in public at SC10 this week in New Orleans.

To delve a little deeper into the what’s behind the CUDA x86 effort, HPCwire asked PGI senior compiler engineer Michael Wolfe about the rationale for producing such a product and how the technology will work.

HPCwire: Why CUDA for x86? Aren’t there enough parallel programming environments already available for this architecture?

Michael Wolfe: There are certainly many parallel programming approaches today, and no one would have created an analog to CUDA if the x86 were the only target. However, CUDA has been quite successful for programming NVIDIA GPUs. There are now customers who want portability of their CUDA programs beyond NVIDIA and GPUs. The PGI CUDA X86 compilers will provide that portability.

HPCwire: Do you think there is existing demand for such a product, or is this more of a if-we-build-it-they-will-come approach?

Wolfe: There is definitely demand for this. We approached our customers and surveyed the market before proceeding. We didn’t come up with this idea on our own.

HPCwire: What x86 hardware is being used to map the CUDA functionality? Is the intent to support both Intel and AMD platforms going forward?

Wolfe: We think of today’s GPUs as exploiting three levels of parallelism: SIMD parallelism within a “warp” (or thread block) and within a streaming multiprocessor; MIMD parallelism across thread blocks and across multiple streaming multiprocessors; and multithread parallelism, used to tolerate device memory latency. Today’s x86 processors have SIMD parallelism in the SSE (and soon AVX) instructions and MIMD parallelism across the multiple cores. Intel processors even support a limited amount of multithread parallelism. Our compilers will use the SSE, AVX and multicore parallelism.

HPCwire: What’s the point behind compiling to a “Unified Binary?” Using the same code base to target different platforms seems obvious, but at run time, won’t users know what the target is? Are you envisioning a cluster deployment scenario where only some of the nodes are equipped with GPUs, with the rest CPU only?

Wolfe: It’s not likely users will make production runs on clusters where only some of the nodes are GPU-enabled. The PGI Unified Binary allows HPC users who regularly access multiple server platforms to build one version of their application that is optimized for Intel, AMD and GPU-enabled compute nodes. Some sites even use it to ease the transition from one generation of Intel or AMD CPU to the next. The PGI Unified Binary for multiple x86 CPUs has been quite popular with independent software vendors who want to ship optimized applications without having to manage a different binary for each different processor type. We expect the same to be true for CUDA; a vendor or developer can produce a single executable that will execute using a GPU when available, and use the host otherwise.

HPCwire: Beyond that, is their any utility to writing x86-specific CUDA source code that is optimized for the CPU?

Wolfe: As I said before, an API-based programming model like CUDA probably would never have emerged simply to support multicore x86 CPUs. It was designed with the structure required for efficient GPU programming and for programming heterogeneous systems with multiple memories. That said, it can be compiled for efficient execution on x86 using multiple cores and SSE/AVX to effect parallel execution. For that reason, it has value as a uniform parallel programming model across GPUs and multicore x86.

HPCwire: Is there any intelligence in the compiler to map some of the CUDA parallelism to the CPU and some to the GPU, based on available resources?

Wolfe: CUDA is a relatively low-level programming model. The program — meaning the programmer — explicitly allocates memory on the GPU or CPU device, copies data to and from the memory, and launches kernels on the device. It’s beyond the scope of a CUDA compiler to distribute the data across multiple memory spaces, manage the data motion between them, and decide what parts of the kernel domain to allocate to what devices.

HPCwire: You are demonstrating the technology at SC10. What’s the timeframe for the product launch?

Wolfe: The product will launch in three phases. The first phase, due in Q2 2011, will include CUDA functionality on the x86, allowing execution and debugging, but not optimized for high performance. The second phase, planned for Q4 2011, will use the SSE and/or AVX instructions and other performance optimizations. The third phase will include the Unified Binary technology, allowing a single executable to run on the GPU or the x86. The time frame for phase three is sometime in mid-2012.

HPCwire: What will it cost?

Wolfe: The current plan is to add CUDA C for multicore x86 as a new feature in our existing PGI Accelerator product line. Customers who already have PGI Accelerator licenses with active subscriptions will get PGI CUDA C at no extra cost as part of their standard release updates when it rolls out.

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!

Hyperion: HPC Server Market Ekes 1 Percent Gain in 2020, Storage Poised for ‘Tipping Point’

May 12, 2021

The HPC User Forum meeting taking place virtually this week (May 11-13) kicked off with Hyperion Research’s market update, covering the 2020 period. Although the HPC server market had been facing a 6.7 percent COVID-re Read more…

Finland’s CSC Chronicles the COVID Research Performed on Its ‘Puhti’ Supercomputer

May 11, 2021

CSC, Finland’s IT Center for Science, is home to a variety of computing resources, including the 1.7 petaflops Puhti supercomputer. The 682-node, Intel Cascade Lake-powered system, which places about halfway down the T Read more…

IBM Debuts Qiskit Runtime for Quantum Computing; Reports Dramatic Speed-up

May 11, 2021

In conjunction with its virtual Think event, IBM today introduced an enhanced Qiskit Runtime Software for quantum computing, which it says demonstrated 120x speedup in simulating molecules. Qiskit is IBM’s quantum soft Read more…

AMD Chipmaker TSMC to Use AMD Chips for Chipmaking

May 8, 2021

TSMC has tapped AMD to support its major manufacturing and R&D workloads. AMD will provide its Epyc Rome 7702P CPUs – with 64 cores operating at a base clock of 2.0GHz – implemented in HPE's single-socket ProLian Read more…

Supercomputer Research Tracks the Loss of the World’s Glaciers

May 7, 2021

British Columbia – which is over twice the size of California – contains around 17,000 glaciers that cover three percent of its landmass. These glaciers are crucial for the Canadian province, which relies on its many Read more…

AWS Solution Channel

FLYING WHALES runs CFD workloads 15 times faster on AWS

FLYING WHALES is a French startup that is developing a 60-ton payload cargo airship for the heavy lift and outsize cargo market. The project was born out of France’s ambition to provide efficient, environmentally friendly transportation for collecting wood in remote areas. Read more…

Meet Dell’s Pete Manca, an HPCwire Person to Watch in 2021

May 7, 2021

Pete Manca heads up Dell's newly formed HPC and AI leadership group. As senior vice president of the integrated solutions engineering team, he is focused on custom design, technology alliances, high-performance computing Read more…

Hyperion: HPC Server Market Ekes 1 Percent Gain in 2020, Storage Poised for ‘Tipping Point’

May 12, 2021

The HPC User Forum meeting taking place virtually this week (May 11-13) kicked off with Hyperion Research’s market update, covering the 2020 period. Although Read more…

IBM Debuts Qiskit Runtime for Quantum Computing; Reports Dramatic Speed-up

May 11, 2021

In conjunction with its virtual Think event, IBM today introduced an enhanced Qiskit Runtime Software for quantum computing, which it says demonstrated 120x spe Read more…

AMD Chipmaker TSMC to Use AMD Chips for Chipmaking

May 8, 2021

TSMC has tapped AMD to support its major manufacturing and R&D workloads. AMD will provide its Epyc Rome 7702P CPUs – with 64 cores operating at a base cl Read more…

Fast Pass Through (Some of) the Quantum Landscape with ORNL’s Raphael Pooser

May 7, 2021

In a rather remarkable way, and despite the frequent hype, the behind-the-scenes work of developing quantum computing has dramatically accelerated in the past f Read more…

IBM Research Debuts 2nm Test Chip with 50 Billion Transistors

May 6, 2021

IBM Research today announced the successful prototyping of the world's first 2 nanometer chip, fabricated with silicon nanosheet technology on a standard 300mm Read more…

LRZ Announces New Phase of SuperMUC-NG Supercomputer with Intel’s ‘Ponte Vecchio’ GPU

May 5, 2021

At the Leibniz Supercomputing Centre (LRZ) in München, Germany – one of the constituent centers of the Gauss Centre for Supercomputing (GCS) – the SuperMUC Read more…

Crystal Ball Gazing at Nvidia: R&D Chief Bill Dally Talks Targets and Approach

May 4, 2021

There’s no quibbling with Nvidia’s success. Entrenched atop the GPU market, Nvidia has ridden its own inventiveness and growing demand for accelerated computing to meet the needs of HPC and AI. Recently it embarked on an ambitious expansion by acquiring Mellanox (interconnect)... Read more…

Intel Invests $3.5 Billion in New Mexico Fab to Focus on Foveros Packaging Technology

May 3, 2021

Intel announced it is investing $3.5 billion in its Rio Rancho, New Mexico, facility to support its advanced 3D manufacturing and packaging technology, Foveros. 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…

AMD Chipmaker TSMC to Use AMD Chips for Chipmaking

May 8, 2021

TSMC has tapped AMD to support its major manufacturing and R&D workloads. AMD will provide its Epyc Rome 7702P CPUs – with 64 cores operating at a base cl Read more…

Intel Launches 10nm ‘Ice Lake’ Datacenter CPU with Up to 40 Cores

April 6, 2021

The wait is over. Today Intel officially launched its 10nm datacenter CPU, the third-generation Intel Xeon Scalable processor, codenamed Ice Lake. With up to 40 Read more…

CERN Is Betting Big on Exascale

April 1, 2021

The European Organization for Nuclear Research (CERN) involves 23 countries, 15,000 researchers, billions of dollars a year, and the biggest machine in the worl Read more…

HPE Launches Storage Line Loaded with IBM’s Spectrum Scale File System

April 6, 2021

HPE today launched a new family of storage solutions bundled with IBM’s Spectrum Scale Erasure Code Edition parallel file system (description below) and featu 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…

Saudi Aramco Unveils Dammam 7, Its New Top Ten Supercomputer

January 21, 2021

By revenue, oil and gas giant Saudi Aramco is one of the largest companies in the world, and it has historically employed commensurate amounts of supercomputing Read more…

Quantum Computer Start-up IonQ Plans IPO via SPAC

March 8, 2021

IonQ, a Maryland-based quantum computing start-up working with ion trap technology, plans to go public via a Special Purpose Acquisition Company (SPAC) merger a Read more…

Leading Solution Providers

Contributors

Can Deep Learning Replace Numerical Weather Prediction?

March 3, 2021

Numerical weather prediction (NWP) is a mainstay of supercomputing. Some of the first applications of the first supercomputers dealt with climate modeling, and Read more…

AMD Launches Epyc ‘Milan’ with 19 SKUs for HPC, Enterprise and Hyperscale

March 15, 2021

At a virtual launch event held today (Monday), AMD revealed its third-generation Epyc “Milan” CPU lineup: a set of 19 SKUs -- including the flagship 64-core, 280-watt 7763 part --  aimed at HPC, enterprise and cloud workloads. Notably, the third-gen Epyc Milan chips achieve 19 percent... Read more…

Livermore’s El Capitan Supercomputer to Debut HPE ‘Rabbit’ Near Node Local Storage

February 18, 2021

A near node local storage innovation called Rabbit factored heavily into Lawrence Livermore National Laboratory’s decision to select Cray’s proposal for its CORAL-2 machine, the lab’s first exascale-class supercomputer, El Capitan. Details of this new storage technology were revealed... Read more…

African Supercomputing Center Inaugurates ‘Toubkal,’ Most Powerful Supercomputer on the Continent

February 25, 2021

Historically, Africa hasn’t exactly been synonymous with supercomputing. There are only a handful of supercomputers on the continent, with few ranking on the Read more…

GTC21: Nvidia Launches cuQuantum; Dips a Toe in Quantum Computing

April 13, 2021

Yesterday Nvidia officially dipped a toe into quantum computing with the launch of cuQuantum SDK, a development platform for simulating quantum circuits on GPU-accelerated systems. As Nvidia CEO Jensen Huang emphasized in his keynote, Nvidia doesn’t plan to build... Read more…

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…

The History of Supercomputing vs. COVID-19

March 9, 2021

The COVID-19 pandemic poses a greater challenge to the high-performance computing community than any before. HPCwire's coverage of the supercomputing response t Read more…

HPE Names Justin Hotard New HPC Chief as Pete Ungaro Departs

March 2, 2021

HPE CEO Antonio Neri announced today (March 2, 2021) the appointment of Justin Hotard as general manager of HPC, mission critical solutions and labs, effective Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire