OpenACC Broadens Appeal with GCC Compiler Support

By Nicole Hemsoth

November 14, 2013

As the non-profit standards group behind the push for wider adoption via easier use of accelerators, OpenACC has quite a big job ahead. Although analysts agree that accelerators sit along a comfortable adoption curve, usability, programmability and portability are key concerns, among others.

Over the last couple of years, OpenACC has worked with user groups across academia and industry to understand what is still needed for healthier adoption of accelerators via workshops and meetings, which has produced a number of the core improvements that are available within the 2.0 spec (procedure calls, nested parallelism, more dynamic data management support and more). On top of that, the ecosystem is also rounded out by CAPS, PGI and Cray, in particular, as well as being supported by x86 and ARM vendors (and of course the accelerators from all the major players).

Of course, one of the main questions was whether the OpenACC group would be able to offer a free implementation and whether they would open source OpenACC (not the same thing, as we know). Today the group spoke to those requests by announcing that one of its new members (in addition to Louisiana State University and NOAA as of this week), Mentor Graphics, has developed OpenACC extensions that will be supported in mainstream GCC compilers.

Mentor Graphics’ Nathan Sidwell told us that this came about following their acquisition of Code Sourcery, which has a long history of producing GCC-based toolchains for Linux and embedded systems. Mentor is working on implementing OpenACC 2.0 in the GCC toolchain, which will be rolled out over the next year, making an open source implementation of OpenACC available to all users who have Linux systems. Sidwell said that they are leveraging some of the existing infrastructure in GCC for accelerated computing, but how different implementations will converge is undecided at this point as it will be up to distributors of Linux systems how they configure GCC for their offerings.

As OpenACC President, Duncan Poole, said of this development, it breaks OpenACC out of a niche where users had to make a distinct decision to go their route.  “The addition of an open source platform is critical for the broader range of heterogeneous programming that will be necessary for the next stage of growth and innovation in HPC and as a foundation to drive software development for exascale systems.”

The non-profit wants to move accelerator use for clusters beyond computer science realms and open it to a wider set of users whose background might have little to do with programming for GPUs or other accelerators. To address those users, Poole says there needs to be support for legacy applications (those that are written in Fortran, for example, or by someone who is no longer with an organization or even those that were collaboratively developed). Users with these applications usually need a way of supporting new features but don’t require custom code paths for special features, says Poole, and this is where the benefit of OpenACC can be keenly felt.

OpenACC has been in 1.0 for a couple of years with the 2.0 spec released over the summer. Since then, as mentioned, there are three commercial implementations, all of which are starting to roll out their own 2.0 implementations (Cray with their 8.2 release recently, CAPS with their announcement of full OpenACC in December and PGI in the near term with their 2014 release in January). In addition to offering key features, the most important of which are procedure calls, Michael Wolfe of PGI (recently acquired by NVIDIA) and secretary of OpenACC says they’re using feedback to address a few other issues.

Screen shot 2013-11-14 at 9.48.51 AM

The main goal is to preserve the readability of these programs and ensure cross-platform compatibility. For OpenACC to provide this, the focus is on directives—a familiar programming model that can handle a number of elements that don’t require the end user to have a deep understanding of CUDA or OpenCL. They can then do things like allocate data on the accelerator, transfer data that’s been on the host to the booster, perform a series of operations on the accelerator and then return results back to program with far more transparency than was possible before.

“All the OpenACC vendors have experienced increasing experimentation and adoption of OpenACC on a variety of applications, including weather, computational chemistry, fluid flow simulation, combustion, and many more,” said Wolfe.  “We have been getting very useful feedback from the users to drive improvements to the specification and implementations that will deliver better performance as well as overall enhanced user experience.”

As Wolfe told us, “One of the most important features for C and C++ code would be arrays in C++ classes or C structs or Fortran derived types—these are structured data types that have array members, but right now the spec has no standard way to support that and the implementations are weak in that area—so we’re working hard to make that work, in particular for C++. We undertand that C++ is a large language and has some unique features so we’re working hard with feedback to make sure we support that in a natural and satisfying manner for those many users.”

Wolfe said that without a doubt, the top feedback from their workshops and analysis is not really a surprise—“for C++ you really have to support classes and templated classes and class members that are arrays because that’s how those programs are written. That also appears in Fortran, but not as pervasive as in C++.”

In agreement with these workshops findings is one of the core contributors to OpenACC efforts, Oak Ridge National Lab. With Titan in full production and a whole new set of users porting their codes, the lab has been keen to ensure that OpenACC is stable enough to support the next class of applications being onboarded—not to mention serving as a testbed for what might be viable for exascale-class systems.

As Dr. Oscar Hernandez, Research Staff Scientist at ORNL (and OpenACC Director of Developer Adoption) told us, OpenACC is very important because it allows ORNL to program heterogeneous systems with a single programming model that lets his teams address multiple architectures with different types of memory. “It’s important for us also because it’s a way to maintain portability in our codes and at the same time take advantage of leadership-class systems at ORNL that rely on accelerators. OpenACC offers a solution that works today and is friendly to the programmer–Open source efforts also help us drive and understand more the application needs and to do research and improve and understand what we need to do to build an ecosystem aroud OpenACC in addition we like the fact that it works now and can move fast and meet more app needs as of today.”

The group will have its first booth ever at SC13, which will be manned by various members of the organization. Some schedule highlights below for those interested in this track. We shall see you there…

OpenACCatSC

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!

NREL ‘Eagle’ Supercomputer to Advance Energy Tech R&D

August 14, 2018

The U.S. Department of Energy (DOE) National Renewable Energy Laboratory (NREL) has contracted with HPE for a new 8-petaflops (peak) supercomputer that will be used to advance early-stage R&D on energy technologies s Read more…

By Tiffany Trader

Training Time Slashed for Deep Learning

August 14, 2018

Fast.ai, an organization offering free courses on deep learning, claimed a new speed record for training a popular image database using Nvidia GPUs running on public cloud infrastructure. A pair of researchers trained Read more…

By George Leopold

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 learning. The CERN team demonstrated that AI-based models have the Read more…

By Rob Farber

HPE Extreme Performance Solutions

Introducing the First Integrated System Management Software for HPC Clusters from HPE

How do you manage your complex, growing cluster environments? Answer that big challenge with the new HPC cluster management solution: HPE Performance Cluster Manager. Read more…

IBM Accelerated Insights

Super Problem Solving

You might think that tackling the world’s toughest problems is a job only for superheroes, but at special places such as the Oak Ridge National Laboratory, supercomputers are the real heroes. Read more…

Rigetti Eyes Scaling with 128-Qubit Architecture

August 10, 2018

Rigetti Computing plans to build a 128-qubit quantum computer based on an equivalent quantum processor that leverages emerging hybrid computing algorithms used to test programs and potential applications. Founded in 2 Read more…

By George Leopold

NREL ‘Eagle’ Supercomputer to Advance Energy Tech R&D

August 14, 2018

The U.S. Department of Energy (DOE) National Renewable Energy Laboratory (NREL) has contracted with HPE for a new 8-petaflops (peak) supercomputer that will be Read more…

By Tiffany Trader

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

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

SLATE Update: Making Math Libraries Exascale-ready

August 9, 2018

Practically-speaking, achieving exascale computing requires enabling HPC software to effectively use accelerators – mostly GPUs at present – and that remain Read more…

By John Russell

Summertime in Washington: Some Unexpected Advanced Computing News

August 8, 2018

Summertime in Washington DC is known for its heat and humidity. That is why most people get away to either the mountains or the seashore and things slow down. H Read more…

By Alex R. Larzelere

NSF Invests $15 Million in Quantum STAQ

August 7, 2018

Quantum computing development is in full ascent as global backers aim to transcend the limitations of classical computing by leveraging the magical-seeming prop Read more…

By Tiffany Trader

By the Numbers: Cray Would Like Exascale to Be the Icing on the Cake

August 1, 2018

On its earnings call held for investors yesterday, Cray gave an accounting for its latest quarterly financials, offered future guidance and provided an update o Read more…

By Tiffany Trader

Google is First Partner in NIH’s STRIDES Effort to Speed Discovery in the Cloud

July 31, 2018

The National Institutes of Health, with the help of Google, last week launched STRIDES - Science and Technology Research Infrastructure for Discovery, Experimen Read more…

By John Russell

Leading Solution Providers

SC17 Booth Video Tours Playlist

Altair @ SC17

Altair

AMD @ SC17

AMD

ASRock Rack @ SC17

ASRock Rack

CEJN @ SC17

CEJN

DDN Storage @ SC17

DDN Storage

Huawei @ SC17

Huawei

IBM @ SC17

IBM

IBM Power Systems @ SC17

IBM Power Systems

Intel @ SC17

Intel

Lenovo @ SC17

Lenovo

Mellanox Technologies @ SC17

Mellanox Technologies

Microsoft @ SC17

Microsoft

Penguin Computing @ SC17

Penguin Computing

Pure Storage @ SC17

Pure Storage

Supericro @ SC17

Supericro

Tyan @ SC17

Tyan

Univa @ SC17

Univa

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