Future architecture readiness

This page contains recommendations for application developers to "hit the ground running" with upcoming system architectures such as Perlmutter.

Testing of performance on relevant hardware and compatibility with the software environment are both important.

Proxy hardware platforms

Perlmutter will feature NVIDIA GPUs and AMD cpus.

Cloud providers

HPC systems

Summit and Sierra feature NVIDIA GPUs and IBM CPUs. Piz Daint features NVIDIA GPUs and Intel CPUs, but only has 1 GPU per node.

CPU

Current generation AMD cpus are a good place to start.

Software environment

Compilers and programming models play key roles in the software environment.

Programming Models

The choice of programming model depends on multiple factors including: number of performance critical kernels, source language, existing programming model, and portability of algorithm. A 20K line C++ code with 5 main kernels will have different priorities and choices vs a 10M line Fortran code.

Fortran

C

C++

Algorithms

The ability for applications to achieve both portability and high performance across computer architectures remains an open challenge.

However there are some general trends in current and emerging HPC hardware: increased thread parallelism; wider vector units; and deep, complex, memory hierarchies.

In some cases a performance portable algorithm can realized by considering generic "wide vectors" which could map to either GPU SIMT threads or CPU SIMD lanes.

References and Events