An Evolutionary Path for High Performance Heterogeneous Multicore Programming

By François Bodin

June 9, 2008

The multicore era has opened the Pandora box of parallel programming environments. Closing it won’t be easy.

Homogeneous multicore processors from Intel or AMD have become mainstream. However heterogeneous architectures such as multicore with GPUs or any hardware specialized accelerators have a better performance/power ratio. When high performance and power efficiency have to be achieved, specialized hardware is often the way to go. Unfortunately, programming such heterogeneous architectures is a headache for any application developer. The embedded market has been mixing different hardware cores for decades and living with this headache at a very high programming cost.

GPUs coupled with Intel or AMD multicore processors are very cost-effective and promising high-performance heterogeneous hardware platforms for general-purpose applications. But they represent the perfect example of the dilemma the developers have to face. GPUs can provide a 10x or greater performance improvement on computations that can be expressed as stream computing. However, contrary to general-purpose cores, no consensus on a programming language for GPUs has been reached, leaving developers with having to mix hardware specific code with their legacy applications.

Also, no parallel programming model such as OpenMP or MPI for homogeneous platforms exists to combine heterogeneous cores. GPUs are loosely coupled with the main CPU; they cannot be time-shared and have no virtual memory. Even if the future of GPUs is not clear — since graphics cores could be integrated on the processor die – they are surely a good example of how thousand of cores might be used by applications. Furthermore, increasing the width of SIMD instructions, such as SSE or Altivec, is also bringing heterogeneity inside cores that compilers alone won’t be able to address.

Code portability is the challenge

Hardware platforms evolve at a tremendous rate, while application software lives almost forever. Portability is very difficult to achieve on multicore architectures. Committing to any hardware-specific or manufacturer-specific programming dialects should be avoided. But this threatens performance, which is the main goal of multicore architectures. The issue is to not only write parallel applications but also to achieve high performance by efficiently mapping computations on available hardware resources. For instance, depending on its execution context (problem size, available units, etc.) a computation might run faster using a GPU rather than the main processor SIMD unit and vice versa. Contrary to traditional parallel architectures that statically allocate parts of the machine to an application, multicore processors are used in a fluctuating environment where processes are competing for the available compute and memory units. While users expect their applications to run on various platform configurations, developers do not expect to build numerous architecture-specific applications.

Parallel programming environments and languages represent a deep issue at the heart of the barely understood hardware/software divide. Computer scientists have been tackling this issue, mainly for scientific computing, for years with mitigated success. For instance, High Performance Fortran, which integrates many features for parallel computers, is the result of a large research community effort. This initiative has pushed forward compilation techniques but has not reached the market. Industry is also in a very difficult position. It has to balance the advantages between bringing an advanced programming technology that will target its own hardware approach — such as NVIDIA’s CUDA language for instance – at the cost of portability, and contributing to a standard that might help competition but increases the overall portfolio of parallel applications.

Resource management is also an open question and a critical issue that is not being addressed by current exploitation of systems. Supercomputers have been avoiding this problem by running only one application at a time or by partitioning the machine nodes. Unfortunately, programming and resource allocation cannot be considered separately. Virtualizing hardware resources is going to help, but the performance issue remains. How can we make sure that competition for hardware resources between applications will not degrade performance?
 
Directive-based programming

To address code portability as well as performance on heterogeneous multicore platforms, CAPS has developed a Hybrid Multicore Parallel Programming (HMPP) workbench, a directive-based programming solution. The aim of HMPP is not only to simplify the use of hardware accelerators in sequential applications but also to keep the application code portable.

The goal is to set up a loose relationship between an application code and the use of a multicore hardware accelerator. HMPP is based on a set of compiler directives and comes with tools and a software runtime that support multicore processor parallel programming in C and Fortran. Subroutines that can be remotely executed on a hardware accelerator are declared via directives. These subroutines can be implemented for different and various hardwares (GPU, SIMD, FPGA, etc.) and also for specific execution contexts. The appropriate execution hardware is selected at runtime depending on the system configuration, the resource availability and data-dependent conditions.

Directives are also used to specify the data transfers with the hardware accelerator on one side and to express when to use a hardware accelerator on the other side. By decoupling the data transfers from the computations, the communication overhead can be minimized. Limited communication and synchronization are in most cases the condition for the successful use of hardware accelerators (see for instance works presented here). Directives have been chosen because they are a good way to add information to programs without introducing target-specific statements in legacy source code.

HMPP provides the programmers with a simple, flexible and portable interface for developing parallel applications whose most computation intensive sections are distributed at runtime over the available specialized and heterogeneous cores. The HMPP approach is similar to the widely available OpenMP standard but designed to handle hardware accelerators. As such, the application source code is kept portable and a sequential binary executable can be built using a traditional compiler. Furthermore, if the hardware accelerator is not available for any reason, the legacy code still can be executed and the application behavior is unchanged.

We believe that, because of the lack of standardization, application development for heterogeneous multicore processors should minimize commitment to code-intrusive techniques. Directives-based approaches are a good alternative for the time being.

About the Author

As chief scientist at CAPS, François Bodin plans, advises and advocates the research and development projects that lead to the creation of innovative software tools. François carries out his research activities at the Irisa research lab with a focus on code optimization and compiler technologies for high performance computers and embedded systems. François is member of HIPEAC, the European Network of Excellence on High-Performance Embedded Architecture and Compilation. François has degrees in computer science from the University of Rennes.

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!

IBM Boosts Deep Learning Accuracy on Memristive Chips

May 27, 2020

IBM researchers have taken another step towards making in-memory computing based on phase change (PCM) memory devices a reality. Papers in Nature and Frontiers in Neuroscience this month present IBM work using a mixed-si Read more…

By John Russell

Australian Researchers Break All-Time Internet Speed Record

May 26, 2020

If you’ve been stuck at home for the last few months, you’ve probably become more attuned to the quality (or lack thereof) of your internet connection. Even in the U.S. (which has a reasonably fast average broadband Read more…

By Oliver Peckham

Hats Over Hearts: Remembering Rich Brueckner

May 26, 2020

It is with great sadness that we announce the death of Rich Brueckner. His passing is an unexpected and enormous blow to both his family and our HPC family. Rich was born in Milwaukee, Wisconsin on April 12, 1962. His Read more…

Supercomputer Simulations Reveal the Fate of the Neanderthals

May 25, 2020

For hundreds of thousands of years, neanderthals roamed the planet, eventually (almost 50,000 years ago) giving way to homo sapiens, which quickly became the dominant primate species, with the neanderthals disappearing b Read more…

By Oliver Peckham

Discovering Alternative Solar Panel Materials with Supercomputing

May 23, 2020

Solar power is quickly growing in the world’s energy mix, but silicon – a crucial material in the construction of photovoltaic solar panels – remains expensive, hindering solar’s expansion and competitiveness wit Read more…

By Oliver Peckham

AWS Solution Channel

Computational Fluid Dynamics on AWS

Over the past 30 years Computational Fluid Dynamics (CFD) has grown to become a key part of many engineering design processes. From aircraft design to modelling the blood flow in our bodies, the ability to understand the behaviour of fluids has enabled countless innovations and improved the time to market for many products. Read more…

Nvidia Q1 Earnings Top Expectations, Datacenter Revenue Breaks $1B

May 22, 2020

Nvidia’s seemingly endless roll continued in the first quarter with the company announcing blockbuster earnings that exceeded Wall Street expectations. Nvidia said revenues for the period ended April 26 were up 39 perc Read more…

By Doug Black

IBM Boosts Deep Learning Accuracy on Memristive Chips

May 27, 2020

IBM researchers have taken another step towards making in-memory computing based on phase change (PCM) memory devices a reality. Papers in Nature and Frontiers Read more…

By John Russell

Microsoft’s Massive AI Supercomputer on Azure: 285k CPU Cores, 10k GPUs

May 20, 2020

Microsoft has unveiled a supercomputing monster – among the world’s five most powerful, according to the company – aimed at what is known in scientific an Read more…

By Doug Black

HPC in Life Sciences 2020 Part 1: Rise of AMD, Data Management’s Wild West, More 

May 20, 2020

Given the disruption caused by the COVID-19 pandemic and the massive enlistment of major HPC resources to fight the pandemic, it is especially appropriate to re Read more…

By John Russell

AMD Epyc Rome Picked for New Nvidia DGX, but HGX Preserves Intel Option

May 19, 2020

AMD continues to make inroads into the datacenter with its second-generation Epyc "Rome" processor, which last week scored a win with Nvidia's announcement that Read more…

By Tiffany Trader

Hacking Streak Forces European Supercomputers Offline in Midst of COVID-19 Research Effort

May 18, 2020

This week, a number of European supercomputers discovered intrusive malware hosted on their systems. Now, in the midst of a massive supercomputing research effo Read more…

By Oliver Peckham

Nvidia’s Ampere A100 GPU: Up to 2.5X the HPC, 20X the AI

May 14, 2020

Nvidia's first Ampere-based graphics card, the A100 GPU, packs a whopping 54 billion transistors on 826mm2 of silicon, making it the world's largest seven-nanom Read more…

By Tiffany Trader

Wafer-Scale Engine AI Supercomputer Is Fighting COVID-19

May 13, 2020

Seemingly every supercomputer in the world is allied in the fight against the coronavirus pandemic – but not many of them are fresh out of the box. Cerebras S Read more…

By Oliver Peckham

Startup MemVerge on Memory-centric Mission

May 12, 2020

Memory situated at the center of the computing universe, replacing processing, has long been envisioned as instrumental to radically improved datacenter systems Read more…

By Doug Black

Supercomputer Modeling Tests How COVID-19 Spreads in Grocery Stores

April 8, 2020

In the COVID-19 era, many people are treating simple activities like getting gas or groceries with caution as they try to heed social distancing mandates and protect their own health. Still, significant uncertainty surrounds the relative risk of different activities, and conflicting information is prevalent. A team of Finnish researchers set out to address some of these uncertainties by... Read more…

By Oliver Peckham

[email protected] Turns Its Massive Crowdsourced Computer Network Against COVID-19

March 16, 2020

For gamers, fighting against a global crisis is usually pure fantasy – but now, it’s looking more like a reality. As supercomputers around the world spin up Read more…

By Oliver Peckham

[email protected] Rallies a Legion of Computers Against the Coronavirus

March 24, 2020

Last week, we highlighted [email protected], a massive, crowdsourced computer network that has turned its resources against the coronavirus pandemic sweeping the globe – but [email protected] isn’t the only game in town. The internet is buzzing with crowdsourced computing... Read more…

By Oliver Peckham

Global Supercomputing Is Mobilizing Against COVID-19

March 12, 2020

Tech has been taking some heavy losses from the coronavirus pandemic. Global supply chains have been disrupted, virtually every major tech conference taking place over the next few months has been canceled... Read more…

By Oliver Peckham

DoE Expands on Role of COVID-19 Supercomputing Consortium

March 25, 2020

After announcing the launch of the COVID-19 High Performance Computing Consortium on Sunday, the Department of Energy yesterday provided more details on its sco Read more…

By John Russell

Steve Scott Lays Out HPE-Cray Blended Product Roadmap

March 11, 2020

Last week, the day before the El Capitan processor disclosures were made at HPE's new headquarters in San Jose, Steve Scott (CTO for HPC & AI at HPE, and former Cray CTO) was on-hand at the Rice Oil & Gas HPC conference in Houston. He was there to discuss the HPE-Cray transition and blended roadmap, as well as his favorite topic, Cray's eighth-gen networking technology, Slingshot. Read more…

By Tiffany Trader

Honeywell’s Big Bet on Trapped Ion Quantum Computing

April 7, 2020

Honeywell doesn’t spring to mind when thinking of quantum computing pioneers, but a decade ago the high-tech conglomerate better known for its control systems waded deliberately into the then calmer quantum computing (QC) waters. Fast forward to March when Honeywell announced plans to introduce an ion trap-based quantum computer whose ‘performance’ would... 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

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

Contributors

Tech Conferences Are Being Canceled Due to Coronavirus

March 3, 2020

Several conferences scheduled to take place in the coming weeks, including Nvidia’s GPU Technology Conference (GTC) and the Strata Data + AI conference, have Read more…

By Alex Woodie

Exascale Watch: El Capitan Will Use AMD CPUs & GPUs to Reach 2 Exaflops

March 4, 2020

HPE and its collaborators reported today that El Capitan, the forthcoming exascale supercomputer to be sited at Lawrence Livermore National Laboratory and serve Read more…

By John Russell

‘Billion Molecules Against COVID-19’ Challenge to Launch with Massive Supercomputing Support

April 22, 2020

Around the world, supercomputing centers have spun up and opened their doors for COVID-19 research in what may be the most unified supercomputing effort in hist Read more…

By Oliver Peckham

Cray to Provide NOAA with Two AMD-Powered Supercomputers

February 24, 2020

The United States’ National Oceanic and Atmospheric Administration (NOAA) last week announced plans for a major refresh of its operational weather forecasting supercomputers, part of a 10-year, $505.2 million program, which will secure two HPE-Cray systems for NOAA’s National Weather Service to be fielded later this year and put into production in early 2022. Read more…

By Tiffany Trader

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

Supercomputer Simulations Reveal the Fate of the Neanderthals

May 25, 2020

For hundreds of thousands of years, neanderthals roamed the planet, eventually (almost 50,000 years ago) giving way to homo sapiens, which quickly became the do Read more…

By Oliver Peckham

15 Slides on Programming Aurora and Exascale Systems

May 7, 2020

Sometime in 2021, Aurora, the first planned U.S. exascale system, is scheduled to be fired up at Argonne National Laboratory. Cray (now HPE) and Intel are the k Read more…

By John Russell

TACC Supercomputers Run Simulations Illuminating COVID-19, DNA Replication

March 19, 2020

As supercomputers around the world spin up to combat the coronavirus, the Texas Advanced Computing Center (TACC) is announcing results that may help to illumina Read more…

By Staff report

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