Porting and tuning guides 

Detailed instructions for building many common scientific applications, benchmarks, and libraries to run on Arm. 

Arm provides two guides that describe how to port and optimize your application for Arm, in the context of High Performance Computing (HPC). Links are also provided to the Arm GitLab package wiki, which is a community-driven library of porting recipes for widely-used applications, benchmarks, and libraries.

Arm GitLab wiki

Porting Guides

See the following guides for more information about porting your HPC applications to Arm:

Port to Arm-based platforms
Port to Arm SVE-based platforms

In the guides, you will find :

  • Recommended steps and tools to port your application
  • Compiler migration information, for example, compiler option mappings between common compilers
  • Advice on thread mapping
  • Introductions to Arm Neon™ and the Arm Scalable Vector Extension (SVE)
  • Introduction to Vector Length Agnostic (VLA) programming
  • Emulating SVE instructions with Arm Instruction Emulator (ArmIE)
  • Examples

Application recipes

Application, mini-application, and benchmark porting recipes are available in the Arm GitLab repository.

The Arm GitLab repository is maintained by Arm, but it is community driven so anyone can join and contribute.

Note:

The instructions found in the Arm GitLab repository are example instructions only. There is no guarantee these instructions have been maintained for the latest version of your application.