Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Servers and Cloud Computing blog Migrating High Performance Applications to the Armv8-A Architecture
  • 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
  • High Performance Computing (HPC)
  • Armv8-A
  • Arm Allinea Studio
  • Arm Forge
  • infrastructure
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Migrating High Performance Applications to the Armv8-A Architecture

Patrick Wohlschlegel
Patrick Wohlschlegel
November 7, 2017
3 minute read time.

In recent months, the HPC market has been waiting to see how Arm will drive innovation for High Performance Computing. Arm and its partners have been working hard to enable a greater variety of competitive hardware solutions, providing the innovation and technology choice that’s so desperately needed to solve next generation scientific problems and workloads. With Arm-based infrastructure hardware emerging from key partners such as Cavium and Qualcomm, the final step is making sure that the journey to the Arm architecture has a viable and straightforward porting path for users' applications.

By acquiring Allinea and announcing support for openHPC in 2016, Arm demonstrated a firm commitment to putting resources into nurturing an ecosystem of commercial and open-source software support for those migrating to Arm.  Now, with the addition of the Allinea tools and the launch of a new Fortran Compiler, suddenly Arm has a very strong offering for HPC. The cross-platform interoperability of the Allinea debugger and profiler (fully supported on most HPC systems and architectures) is essential for making a transition to Arm as smooth as possible. As an HPC developer, you can keep using the tools you have come to know, trust and rely on for years, regardless of the vendor or system you choose. It’s all part of a plan to make porting your applications to Arm totally effortless and (dare we say)…boring!

To prove the point, we tasked some of our HPC applications consultants with devising a quick guide to migrating to Armv8-A. They concluded that the main hurdle users are likely to face is related to compilation scripts: most HPC applications were never compiled for Arm, and Makefiles need to be tweaked to call the right compiler and options if AArch64 is the underlying architecture. In all other areas, you should actually expect application porting to be seamless.

Consequently, the quick guide was adapted to become more about what to do to optimize the performance of applications running for the first time on Arm. The advice covers a similar route if you were to change to any other architecture: a few basic steps to help you ensure your application still does the right thing and performs well.

First:

  • Find out whether the community has done this already. Refer to the shared repository of available applications.
  • Find a few representative test cases that you know and understand well
  • Analyze your application performance and scalability with Performance Reports, on these test cases
  • Note the compiler flags you use

Once these first steps are completed, it’s time to start the “performance porting” work. Relying on the Arm Compiler for HPC and Forge (the combined debugger and profiler), you’ll need to:

  • Ensure the application correctness, by:
    • Tweaking optimization options
    • Debugging the program with the DDT debugger, checking for memory errors
  • Identify and address bottlenecks with the MAP profiler

As Forge is a fully scalable product, you can (and should) test your applications at various scale. When you’re satisfied with the performance and the scalability of your application on Arm, use Performance Reports to illustrate the performance gains and advertise your success stories around you!

With the Arm architecture and tools easily accessible, you’re ready to deploy and the next stage in the journey is much more exciting. We look forward to hearing from users in all areas of HPC who’ll be experimenting with things that have never been tried before - and finding totally new outcomes. To support those users, we’re planning a program of work to port key applications and optimize the most important workloads. Meanwhile, our HPC domain experts, an ever-growing ecosystem, and our own strengthening range of commercial tools, training and support, means we’re ready to walk alongside the HPC community, making the transition to Arm both smooth and successful.

Join us on our collaborative journey

Anonymous
Servers and Cloud Computing blog
  • Harness the Power of Retrieval-Augmented Generation with Arm Neoverse-powered Google Axion Processors

    Na Li
    Na Li
    This blog explores the performance benefits of RAG and provides pointers for building a RAG application on Arm®︎ Neoverse-based Google Axion Processors for optimized AI workloads.
    • April 7, 2025
  • Arm CMN S3: Driving CXL storage innovation

    John Xavier Lionel
    John Xavier Lionel
    CXL are revolutionizing the storage landscape. Neoverse CMN S3 plays a pivotal role in enabling high-performance, scalable storage devices configured as CXL Type 1 and Type 3.
    • February 24, 2025
  • Streamline Arm adoption with GitHub Copilot and Arm64 Runners

    Michael Gamble
    Michael Gamble
    The Arm for GitHub Copilot extension is here to change the way developers approach architecture migration.
    • February 19, 2025