Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Announcements Meet NVIDIA at Arm DevSummit 2021
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • ArmDevSummit21
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Meet NVIDIA at Arm DevSummit 2021

Robert Wolff
Robert Wolff
October 12, 2021
8 minute read time.

This popular blog from April 14, 2021 has some updated information and links to align with the Arm DevSummit (Oct 19-21) and NVIDIA GTC21 fall (Nov 8-11) conferences, with the former kicking off in only a few short weeks. Registration is open and free, so head on over to the Arm DevSummit website, register, and add these great NVIDIA sessions to your agenda:

  • The NVIDIA HPC software development Kit for the Arm ecosystem
  • End-to-End cloud-native computer vision application on the edge
  • Simplify HPC development for Cuda on Arm with the latest Nsight developer tools
  • Introducing cloud-native supercomputing: Bare-metal, secured supercomputing architecture
  • Myth Buster: Hyper-efficient massive MIMO 5G platform based on ORAN, COTS, and cloud-native?

The long awaited GTC21 spring by NVIDIA kicked off April 12, an event I have personally anticipated for some time now. Stacked with keynotes, labs, tech talks, panels, and much more, this conference is like a virtual playground for developers. From around the world, industry leaders, experts, educators, enthusiasts, and technical evangelists are here to learn and share in what is bound to be years of explosive growth and innovation for the tech sector.

There were many great announcements and amazing content that came out of GTC21 spring. Still, I wanted to first draw your attention to the NVIDIA Arm HPC developer kit that was referenced in Monday's opening keynote.


Ampere Altra + NVIDIA A100 developer kits diagram

NVIDIA CEO, Jensen Huang announces new Ampere Altra + NVIDIA A100 HPC developer kits (second from left).

This blog gives a quick overview of the new HPC developer kit. We talk about the already robust suite of NVIDIA and Arm developer tools (such as the NVIDIA HPC SDK and Arm Allinea Studio), and finally, we dive into a performance investigation for the Ampere Altra CPU + NVIDIA A100 setup. At the end of this blog, you will also find an easy way to express your early interest in the kit and opt in for updates from NVIDIA as it gets closer to becoming available.

Now, let us look at this kit.

The NVIDIA Arm HPC developer kit

During the GTC opening keynote, a graphic of this HPC developer kit caught my attention. Featuring an Ampere® Altra® CPU, with 80 Arm Neoverse cores running up to 3.3GHz; dual NVIDIA A100 GPUs, and two NVIDIA BlueField-2® DPUs, naturally, I had to take a closer look.
The NVIDIA Arm HPC developer kit

Server Sku GIGABYTE G242-P32
Form factor 2U rack (87.5 x 438 x 820mm; 3.44" x 17.24" x 32.28")
CPU 1x Ampere Computing Altra Q80-30
Memory 512G DDR4
Storage 6TB SAS/SATA 3.5"
GPU 2x A100 PCIe 40GB
Network 2x BF2 (IB single port, MBF2M345A-HESOT)

This system is clearly set up to efficiently drive a wide range of workloads, not to mention the two NVIDIA BlueField-2® DPUs, which accelerate networking, storage, and security. Pairing this kit with the NVIDIA HPC SDK and the Arm Allinea Studio tool suite, developers are able to create, migrate, and test the limits of their HPC and AI applications on GPU-accelerated Arm-based hardware. Things keep getting better for Arm developers.

It is time to explore the ecosystem of tools and some benchmarks that might help illustrate the capabilities of this new developer kit.

Tools and performance investigation

NVIDIA HPC SDK for Arm-based platforms

NVIDIA’s HPC SDK is the essential suite of tools for HPC developers on NVIDIA platforms.

The HPC SDK enables porting of important community and independent software vendor (ISV) applications to systems with multiprocessor Arm CPUs and NVIDIA data center GPUs. The NVIDIA Fortran, C, and C++ compilers are fully optimizing for both multiprocessor CPUs and NVIDIA GPUS, enabling HPC developers to write and tune parallel applications for heterogeneous CPU+GPU servers using GPU-accelerated math libraries, standard Fortran/C++ parallel language features, parallel OpenACC and OpenMP directives, and CUDA.

The NVIDIA math libraries provide drop-in, highly optimized GPU-acceleration for linear algebra and signal processing algorithms fundamental to HPC. In addition to providing an easy on-ramp to GPU acceleration, math libraries provide speed-of-light performance for supported APIs and enable users to automatically benefit from newer GPU architectures as they are released.

NVIDIA’s vision for programming heterogeneous multiprocessor CPU+GPU systems: Start by using drop-in, GPU-optimized math libraries. Achieve initial GPU-acceleration using standard C++17 parallel algorithms and Fortran parallel language features. Use pragmas and directives to fill the standard language gaps (for example, data movement), and finally, optimize performance with CUDA.

The HPC SDK is:

  • Supported on 99 percent of the top 500 HPC systems as of November 2019, including Arm and Arm+GPU
  • The only product that includes comprehensive support for programming GPUs using standard language constructs in C++ and Fortran, OpenACC and OpenMP directives, and CUDA
  • Complete with optimized math and communications libraries and performance analysis and debugging tools for both CPUs and GPUs
  • Fully interoperable with third-party tools
  • Freely available (multiple releases throughout the year)

Additional enablement with Arm Allinea Studio

In addition to the NVIDIA HPC SDK, the Arm Allinea Studio is a suite of scalable, Arm-optimized developer tools targeted at HPC application developers. It enables end users to create, migrate, and innovate serial and parallel codes for Arm-based HPC systems, especially systems with GPU accelerators. HPC applications are commonly written in multiple languages and involve multiple layers of parallelism, so the Arm Allinea Studio supports C, C++, Fortran, Python, MPI, and OpenMP.

The three major components of Arm Allinea Studio are the Arm Compiler for Linux (ACfL), the Arm Performance Libraries (ArmPL), and Arm Forge. ACfL is an LLVM-based CPU compiler for server-class AArch64 platforms. It supports auto-vectorization (both SVE and Neon) in C, C++, and Fortran, and includes optimized runtime libraries that take advantage of hardware features like LSE atomics. ACfL is fully compatible with major MPI distributions like OpenMPI, HPE MPI, and MVAPICH.

The ArmPL implements BLAS, LAPACK, and FFTW interfaces to microarchitecturally optimized maths libraries for scientific computing. It supports ACfL and GCC compilers and works well with parallel math libraries like ScalaPACK. It is an excellent choice for working with dense single- and double-precision real data and complex data. It also includes a growing set of sparse matrix functions (for example, SPMV), using an inspector-executor framework, for high performing sparse solutions.

Debugging and performance profiling are provided by Arm Forge. Forge's DDT scalable debugger is popular with HPC centers worldwide for its cross-platform support of C, C++, Fortran, and Python parallel applications on CPUs, GPUs, Intel, POWER, and Arm architectures. Forge’s MAP profiler is an extremely scalable low-overhead solution for performance characterization. It helps developers to accelerate their code by revealing the causes of slow performance and is commonly used at scales ranging from multiprocessor Linux workstations through to the largest supercomputers. Runtime overhead is typically under 5% and it fully supports C, C++, and Fortran with no relinking, instrumentation, or code changes required.

Ampere Altra + NVIDIA A100 performance investigation

In anticipation of the NVIDIA Arm HPC Developer Kit launch, Arm and NVIDIA have characterized the performance of over two-dozen key HPC applications on the Ampere Altra, NVIDIA A100, and AMD EPYC 7742. We used the NVIDIA HPC SDK, the Arm Allinea Studio, and the GNU 10.2 toolchains, combined with optimized math libraries from NVIDIA and Arm. We selected the best times from both the x86 and Arm platforms, but did not change the application source code. Better performance may be possible, but this is representative of the “out of the box” experience for scientists and engineers.
A graph comparing the performance of GPU-accelerated applications.

When comparing the performance GPU-accelerated applications on x86-based and Arm-based computing platforms, we found that average application performance is the same. Memory-bound CPU-only applications also perform similarly on both platforms, but there were a few cases where the Arm-based Ampere Altra outperformed the AMD EPYC 7742.

Graph showing a comparison between EPYC and Altra.

To better understand the reason for these speedups, we used Arm Forge from the Arm Allinea Studio to characterize application performance on both the x86-based and the Arm-based platform. This apples-to-apples comparison across platforms showed that performance was due to the Altra having twice the L1 and L2 data cache per core as the EPYC. CPU-only applications with large, sparse working sets benefit from the Altra’s high cache per core. GPU-accelerated applications benefit from the low kernel launch latency and enjoy a lower CPU power consumption in all cases.

New MLPerf inference 1.1. benchmark results

Another example of analyzing the performance of the new Arm HPC Developer Kit platform is to look at the recent MLPerf Inference 1.1 Benchmark results. Published in September 2021, these 1.1 results area an update from 1.0 results from 5~6 months ago, and demonstrate the NVIDIA Arm/GPU platform’s near-equal performance to x86/GPU server platform across a number of individual benchmarks, including ResNet-50, SSD-Large, 3D-Unet, RNN-T, Bert-Large, and DLRM.

A graph showing the Arm-based server performance.

This is the first submission with this Arm/GPU platform, and you can read more on the impressive MLPerf Inference 1.1 data center results, including the rolling benefits of continuing NVIDIA software improvements, in public round-ups from the likes of Digital Trends, or an NVIDIA blog, “NVIDIA Extends AI Inference Performance Leadership, with Debut Results on Arm-based Servers”. 

For more details about this Arm CPU and NVIDIA GPU platform, see NVIDIA GTC session, see the NVIDIA GTC on demand session S32758 "HPC Applications on Arm + NVIDIA A100”.

Get access to the kit

If you are as excited about these new kits as I am and interested in learning more, cruise on over to the NVIDIA Arm HPC Developer Kit landing page to download the NVIDIA HPC SDK for free, and to contact GIGABYTE about hardware pricing and availability.

Get your free ArmDevsummit pass

Anonymous
Announcements
  • The evolution of Arm’s product naming architecture: what it means to you

    Oliver Beirne
    Oliver Beirne
    Arm introduces a new naming architecture for future products, with platform-first branding to simplify innovation across IoT, mobile, PC, auto, and infra.
    • June 3, 2025
  • Arm takes center stage at Linaro Connect 2025

    Eric Sondhi
    Eric Sondhi
    Join Arm at Linaro Connect 2025 for keynotes, 20+ sessions, and demos on AI, firmware, and cloud. Discover what’s next for Arm tech.
    • May 12, 2025
  • Introducing the Arm Bug Bounty program

    Lyndon Fawcett
    Lyndon Fawcett
    Arm is inviting the security community to participate in its bug bounty program, helping accelerate the identification and resolution of new risks before they are exploited.
    • March 26, 2025