Why Standards-Based Parallel Programming Should be in Your HPC Toolbox

By Jeff Larkin, Principal HPC Application Architect at NVIDIA

September 5, 2022

HPC application developers have long relied on programming abstractions that were developed and used almost exclusively within the realm of traditional HPC. OpenMP was created more than 25 years ago to simplify shared-memory parallel computing because programming languages of the day had few to no such features and vendors were developing their own, incompatible abstractions for symmetric multiprocessing.

CUDA C was designed and released by NVIDIA in 2007 as extensions to the C language to support programming massively parallel GPUs, again because the C language lacked the necessary features to support parallelism directly. Both of these programming models have been highly successful because they provide the necessary abstractions to overcome the shortcomings of the languages that they extended in a user-friendly manner.

The landscape has changed a lot, however, in the years since these models were initially released and it’s time to reevaluate where they should fit in a programmer’s toolbox. In this post I discuss why you should be parallel programming natively with ISO C++ and ISO Fortran.

Parallel Programming is Becoming the Standard

Parallel programming was once a niche field reserved only for government labs, research universities, and certain forward-looking industries, but today it is a requirement for all industries. Because of this, mainstream programming languages now support parallel programming natively, and an increasing number of developer tools support these features. It is now possible for applications to be developed to support parallelism from the start, with no need for a serial baseline code.

Such parallel-first codes can be taken to any computer system, whether it’s based on multi-core CPUs, GPUs, FPGAs, or some other novel processor we haven’t thought of yet, and be expected to run on day one. This frees developers from the need to port applications to new systems and enables them to focus on productively optimizing their application or expanding its capabilities instead.

NVIDIA delivers multiple approaches to programming HPC systems, including and enhanced standard language support, incremental directives-based optimization, CUDA platform specialization, and GPU-accelerated libraries.
NVIDIA provides three composable approaches to parallel programming: accelerated standard languages, portable directives-based solutions, and platform specific solutions. This gives developers choices to optimize their efforts according to their productivity, portability, and performance goals.

NVIDIA provides three approaches to programming for our platform, all of which are layered on the foundation of our decades-long investment in accelerated libraries and compilers. All of these approaches are fully composable, giving the programmer the choice of how to best balance their productivity, portability, and performance goals.

ISO Languages Achieve Performance and Portability

New application development should be performed using ISO standard programming languages and the parallel features they provide. There is no better example of portable programming models than the ISO languages, so developers should expect that applications written to these standards will run anywhere. Many of the developers we’ve worked with have found that the performance gains from refactoring their applications using standards-based parallelism in C++ or Fortran are already as good as or better than their existing code.

Some developers have elected to perform further optimizations by introducing portable directives, OpenACC, or OpenMP, to improve data movement or asynchrony and obtain even higher performance. This results in application code that’s still fully portable and high-performance. Developers who want to obtain the highest performance in key parts of their applications may choose to take the additional step of optimizing portions of the application with a lower-level approach, such as CUDA, and take advantage of everything the hardware has to offer. And, of course, all of these approaches interact nicely with our expert-tuned accelerated libraries.

Expanding the Standards to Leverage Innovations

There’s a misconception in the industry that CUDA is the language used by NVIDIA to lock-in users, but in fact it’s our language for innovating and exposing the features of our hardware most directly. CUDA C++ and Fortran are in many ways co-design languages, where we can expose hardware innovations and iterate on the programming model quickly. As best practices are developed in the CUDA programming model, we believe they can and should be codified in standards.

For instance, due to the successes of our customers in utilizing mixed-precision arithmetic, we worked with the C++ committee to standardize extended floating point types in C++23. Thanks in a large part to the work of our math libraries team, we have worked with the community to  propose a C++ extension for a standardized linear algebra interface that will map well to not only our libraries but community-based and proprietary libraries from other vendors as well. We strive to improve parallel programming and asynchrony in the ISO standard languages because it’s the best thing for our customers and the community at large.

What Do Developers Think?

Professor Jonas Latt at the University of Geneva uses nvc++ and the C++ parallel algorithms in the Pallabos library and said that, “The result produces state-of-the-art performance, is highly didactical, and introduces a paradigm shift in cross-platform CPU/GPU programming in the community.”

Dr. Ron Caplan of Predictive Science Inc. said of his experience using nvfortran and Fortran Do Concurrent, “I can now write far fewer directives and still expect high performance from my Fortran applications.”

And Simon McIntosh-Smith from the University of Bristol said when presenting his team’s results using nvc++ and parallel algorithms, “The ISO C++ versions of the code were simpler, shorter, easier to write, and should  be easier to maintain.”

These are just a few of the developers already reaping the rewards of using standards-based parallelism in their development.

Standards-Based Parallel Programming Resources

NVIDIA has a range of resources to help you fall in love with standards-based parallelism.

Our HPC Software Development Kit (SDK)  is a free software package that includes:

  • NVIDIA HPC compilers for C, C++, and Fortran
  • The CUDA NVCC Compiler
  • A complete set of accelerated math libraries, communication libraries, and core libraries for data structures and algorithms
  • Debuggers and profilers

The HPC SDK is freely available on x86, Arm, and OpenPOWER platforms, regardless of whether you own an NVIDIA GPU, and is even Amazon’s HPC software stack for Graviton3.

NVIDIA On-Demand also has several relevant recordings to get you started (try “No More Porting: Coding for GPUs with Standard C++, Fortran, and Python”), as well as our posts on the NVIDIA Developer Blog.

Finally, I encourage you to register for GTC Fall 2022, where you’ll find even more talks about our software and hardware offerings, including more information on standards-based parallel programming.

Jeff Lark, Principal HPC Application Architect at NVIDIA

About Jeff Larkin

Jeff is a Principal HPC Application Architect in NVIDIA’s HPC Software team. He is passionate about the advancement and adoption of parallel programming models for High Performance Computing. He was previously a member of NVIDIA’s Developer Technology group, specializing in performance analysis and optimization of high performance computing applications. Jeff is also the chair of the OpenACC technical committee and has worked in both the OpenACC and OpenMP standards bodies. Before joining NVIDIA, Jeff worked in the Cray Supercomputing Center of Excellence, located at Oak Ridge National Laboratory.

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industry updates delivered to you every week!

U.S. Quantum Director Charles Tahan Calls for NQIA Reauthorization Now

February 29, 2024

(February 29, 2024) Origin stories make the best superhero movies. I am no superhero, but I still remember what my undergraduate thesis advisor said when I told him that I wanted to design quantum computers in graduate s Read more…

pNFS Provides Performance and New Possibilities

February 29, 2024

At the cusp of a new era in technology, enterprise IT stands on the brink of the most profound transformation since the Internet's inception. This seismic shift is propelled by the advent of artificial intelligence (AI), Read more…

Celebrating 35 Years of HPCwire by Recognizing 35 HPC Trailblazers

February 29, 2024

In 1988, a new IEEE conference debuted in Orlando, Florida. The planners were expecting 200-300 attendees because the conference was focused on an obscure topic called supercomputing, but when it was announced that S Read more…

Forrester’s State of AI Report Suggests a Wave of Disruption Is Coming

February 28, 2024

The explosive growth of generative artificial intelligence (GenAI) heralds opportunity and disruption across industries. It is transforming how we interact with technology itself. During this early phase of GenAI technol Read more…

Q-Roundup: Google on Optimizing Circuits; St. Jude Uses GenAI; Hunting Majorana; Global Movers

February 27, 2024

Last week, a Google-led team reported developing a new tool - AlphaTensor Quantum - based on deep reinforcement learning (DRL) to better optimize circuits. A week earlier a team working with St. Jude Children’s Hospita Read more…

AWS Solution Channel

Shutterstock 2283618597

Deep-dive into Ansys Fluent performance on Ansys Gateway powered by AWS

Today, we’re going to deep-dive into the performance and associated cost of running computational fluid dynamics (CFD) simulations on AWS using Ansys Fluent through the Ansys Gateway powered by AWS (or just “Ansys Gateway” for the rest of this post). Read more…

Argonne Aurora Walk About Video

February 27, 2024

In November 2023, Aurora was ranked #2 on the Top 500 list. That ranking was with half of Aurora running the HPL benchmark. It seems after much delay, 2024 will finally be Aurora's time in the spotlight. For those cur Read more…

Royalty-free stock illustration ID: 1988202119

pNFS Provides Performance and New Possibilities

February 29, 2024

At the cusp of a new era in technology, enterprise IT stands on the brink of the most profound transformation since the Internet's inception. This seismic shift Read more…

Celebrating 35 Years of HPCwire by Recognizing 35 HPC Trailblazers

February 29, 2024

In 1988, a new IEEE conference debuted in Orlando, Florida. The planners were expecting 200-300 attendees because the conference was focused on an obscure t Read more…

Forrester’s State of AI Report Suggests a Wave of Disruption Is Coming

February 28, 2024

The explosive growth of generative artificial intelligence (GenAI) heralds opportunity and disruption across industries. It is transforming how we interact with Read more…

Q-Roundup: Google on Optimizing Circuits; St. Jude Uses GenAI; Hunting Majorana; Global Movers

February 27, 2024

Last week, a Google-led team reported developing a new tool - AlphaTensor Quantum - based on deep reinforcement learning (DRL) to better optimize circuits. A we Read more…

South African Cluster Competition Team Enjoys Big Texas HPC Adventure

February 26, 2024

Texas A&M University's High-Performance Research Computing (HPRC) hosted an elite South African delegation on February 8 - undergraduate computer science (a Read more…

A Big Memory Nvidia GH200 Next to Your Desk: Closer Than You Think

February 22, 2024

Students of the microprocessor may recall that the original 8086/8088 processors did not have floating point units. The motherboard often had an extra socket fo Read more…

Apple Rolls out Post Quantum Security for iOS

February 21, 2024

Think implementing so-called Post Quantum Cryptography (PQC) isn't important because quantum computers able to decrypt current RSA codes don’t yet exist? Not Read more…

QED-C Issues New Quantum Benchmarking Paper

February 20, 2024

The Quantum Economic Development Consortium last week released a new paper on benchmarking – Quantum Algorithm Exploration using Application-Oriented Performa Read more…

Training of 1-Trillion Parameter Scientific AI Begins

November 13, 2023

A US national lab has started training a massive AI brain that could ultimately become the must-have computing resource for scientific researchers. Argonne N Read more…

Alibaba Shuts Down its Quantum Computing Effort

November 30, 2023

In case you missed it, China’s e-commerce giant Alibaba has shut down its quantum computing research effort. It’s not entirely clear what drove the change. Read more…

Nvidia Wins SC23, But Gets Socked by Microsoft’s AI Chip

November 16, 2023

Nvidia was invisible with a very small booth and limited floor presence, but thanks to its sheer AI dominance, it was a winner at the Supercomputing 2023. Nv Read more…

Nvidia H100: Are 550,000 GPUs Enough for This Year?

August 17, 2023

The GPU Squeeze continues to place a premium on Nvidia H100 GPUs. In a recent Financial Times article, Nvidia reports that it expects to ship 550,000 of its lat Read more…

Analyst Panel Says Take the Quantum Computing Plunge Now…

November 27, 2023

Should you start exploring quantum computing? Yes, said a panel of analysts convened at Tabor Communications HPC and AI on Wall Street conference earlier this y Read more…

Royalty-free stock illustration ID: 1675260034

RISC-V Summit: Ghosts of x86 and ARM Linger

November 12, 2023

Editor note: See SC23 RISC-V events at the end of the article At this year's RISC-V Summit, the unofficial motto was "drain the swamp," that is, x86 and Read more…

China Deploys Massive RISC-V Server in Commercial Cloud

November 8, 2023

If the U.S. government intends to curb China's adoption of emerging RISC-V architecture to develop homegrown chips, it may be getting late. Last month, China Read more…

DoD Takes a Long View of Quantum Computing

December 19, 2023

Given the large sums tied to expensive weapon systems – think $100-million-plus per F-35 fighter – it’s easy to forget the U.S. Department of Defense is a Read more…

Leading Solution Providers

Contributors

Shutterstock 1285747942

AMD’s Horsepower-packed MI300X GPU Beats Nvidia’s Upcoming H200

December 7, 2023

AMD and Nvidia are locked in an AI performance battle – much like the gaming GPU performance clash the companies have waged for decades. AMD has claimed it Read more…

Intel’s Server and PC Chip Development Will Blur After 2025

January 15, 2024

Intel's dealing with much more than chip rivals breathing down its neck; it is simultaneously integrating a bevy of new technologies such as chiplets, artificia Read more…

Chinese Company Developing 64-core RISC-V Chip with Tech from U.S.

November 13, 2023

Chinese chip maker SophGo is developing a RISC-V chip based on designs from the U.S. company SiFive, which highlights challenges the U.S. government may face in Read more…

Baidu Exits Quantum, Closely Following Alibaba’s Earlier Move

January 5, 2024

Reuters reported this week that Baidu, China’s giant e-commerce and services provider, is exiting the quantum computing development arena. Reuters reported � Read more…

Royalty-free stock illustration ID: 1182444949

Forget Zettascale, Trouble is Brewing in Scaling Exascale Supercomputers

November 14, 2023

In 2021, Intel famously declared its goal to get to zettascale supercomputing by 2027, or scaling today's Exascale computers by 1,000 times. Moving forward t Read more…

Synopsys Eats Ansys: Does HPC Get Indigestion?

February 8, 2024

Recently, it was announced that Synopsys is buying HPC tool developer Ansys. Started in Pittsburgh, Pa., in 1970 as Swanson Analysis Systems, Inc. (SASI) by John Swanson (and eventually renamed), Ansys serves the CAE (Computer Aided Engineering)/multiphysics engineering simulation market. Read more…

Comparing NVIDIA A100 and NVIDIA L40S: Which GPU is Ideal for AI and Graphics-Intensive Workloads?

October 30, 2023

With long lead times for the NVIDIA H100 and A100 GPUs, many organizations are looking at the new NVIDIA L40S GPU, which it’s a new GPU optimized for AI and g Read more…

Shutterstock 1179408610

Google Addresses the Mysteries of Its Hypercomputer 

December 28, 2023

When Google launched its Hypercomputer earlier this month (December 2023), the first reaction was, "Say what?" It turns out that the Hypercomputer is Google's t Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire