Applications

Common HPC applications working on Arm.

Porting

Here, you can find some common applications that have already been ported to Arm. Links to their porting recipes on the Arm GitLab packages wiki are provided.

On the Arm GitLab packages wiki, you can find many more application porting recipes which are contributed and maintained by the community.

Note:

  • The instructions found in the Arm GitLab repository are example instructions only.
  • The Arm GitLab repository is maintained by Arm, but is community driven so anyone can join and contribute.

Porting Guides

For more step by step information about how to port your own codes to Arm, then optimize them, see:

  • Porting and Optimizing HPC Applications for Arm

    Discusses the tools Arm offers to help you port your codes, some step-by-step information about how to approach a code porting task, provides a compiler comparison for new Arm Compiler for Linux users, and includes some useful information about coding for Neon-based platforms.


  • Porting and Optimizing HPC Applications for Arm SVE

    This guide compiles the HPC-relevant information about the Scalable Vector Extension (SVE) for AArch64. It includes conceptual information about SVE, then information to help you prepare and test your code to utilize it. It also discusses Vector Length Agnostic (VLA) programming, includes some generic vector and matrix operation examples, and introduces Arm Instruction Emulator (ArmIE).


Biosciences

BLAST

BLAST finds regions of similarity between biological sequences. The program compares nucleotide or protein sequences to sequence databases and calculates the statistical significance.

NAMD

A parallel, object-oriented molecular dynamics code designed for high-performance simulation of large biomolecular systems.

MrBayes

MrBayes performs Bayesian inference of phylogeny. It uses Markov Chain Monte Carlo (MCMC) methods to estimate the  distribution of model parameters.



Chemistry and materials

GAMESS

A tool to perform numerical experiments in a virtual laboratory with time-dependent adaptive meshes and within complex, and time-dependent model geometries

ONETEP

ONETEP (Order-N Electronic Total Energy Package) is a linear-scaling code for quantum-mechanical calculations based on density-functional theory.

MILC

MILC is a Quantum Chromodynamics (QCD) code for SU(3) lattice gauge theory.

GROMACS

A molecular dynamics package primarily designed for biomolecular systems, such as, proteins and lipids.

NWChem

Provides its users with computational chemistry tools that are scalable in treating large scientific computational chemistry problems efficiently, and through parallel computing resources.

LAMMPS

A classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator.

ABINIT

A software suite to calculate the optical, mechanical, vibrational, and other observable properties of materials.


QMCPACK

An open-source production level many‑body, ab initio, Quantum Monte Carlo code for computing the electronic structure of atoms, molecules, and solids.

Quantum Espresso

An integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale.


Computational Fluid Dynamics (CFD)

OpenFOAM

Open source CFD toolbox. Solve  complex fluid flows involving chemical reactions, turbulence and heat transfer, solid mechanics and electromagnetics.


High-energy physics

GEANT4

A toolkit for simulating the passage of particles through matter, such as in high energy, nuclear and accelerator physics, as well as medical and space studies.


Weather and climate

NEMO

Nucleus for European Modelling of the Ocean is a modeling framework for oceanographic research, operational oceanography seasonal forecast, and climate studies.

WRF

Mesoscale numerical weather prediction system designed for both atmospheric research and operational forecasting needs.



Benchmarks and mini-apps

HPCG

HPCG complements the High‑Performance LINPACK (HPL) benchmark. It is designed to exercise computational and data access patterns that more broadly match the patterns of real HPC applications.

HPL

HPL is a software package that solves a random, dense linear system in double precision (64 bit) arithmetic on distributed-memory computers. It can be regarded as a portable and freely available implementation of the High‑Performance LINPACK (HPL) benchmark.


Visualization

Paraview

An open-source, multi-platform data analysis and visualization application. Uses a BSD license, and is built on VTK.


VisIT

Parallel scientific visualization, built on VTK.



VMD

A molecular visualization program for displaying, animating, and analyzing large biomolecular systems using 3-D graphics and built-in scripting.