Blog
SIESTA Successfully Ported to ARM: From Version 5.2.2 to 5.4.0 and Beyond
By Anthoni Alcaraz-Torres (ICN2: Catalan Institute of Nanoscience and Nanotechnology)
In recent years, ARM architecture in HPC has gained increasing importance. From the SIESTA development team, we strive to make our code as widely available and efficient as possible. Nevertheless, until a few months ago, one key element was still missing: a reliable way to install and compile SIESTA on ARM.
The EPICURE HPC in ARM Architecture Hackathon, which took place at INESC TEC’s hub at the University of Minho, Braga, Portugal, was the perfect opportunity to tackle this challenge.
From challenge to implementation
SIESTA is a method and code for performing electronic-structure calculations on molecules and solids. Today, it can be installed using CMake, Conda, Spack, or EasyBuild, and it also runs seamlessly within EESSI.
Traditionally, installing scientific software requires an understanding of its dependencies (libraries or packages required for compilation) and precise instructions for each architecture. By February, we already knew how to compile SIESTA across different architectures. On the Deucalion supercomputer, most dependencies were already in place, only a few specialized ones required by SIESTA, such as PnetCDF or ruamel, needed to be configured.
Collaborative problem solving
During the hackathon, we learned how to make the most of Deucalion’s existing dependencies, requesting a few additional ones if necessary.
In my case, I worked closely with Bernardo Malaca, who manages software deployment using EasyBuild, another long-standing goal for the SIESTA team. Thanks to Bernardo’s expertise and my CMake-based installation scripts, we successfully compiled and installed SIESTA (version 5.2.2).
Bernardo also guided me on improving dependency handling, ensuring version consistency, and selecting the most suitable matches for each toolchain, which refined my overall installation process.
Beyond the hackathon
By the end of the event, I had achieved my main hackathon goal: compiling, installing, and running SIESTA on ARM. Yet another challenge awaited: preparing an EasyBuild recipe for SIESTA.
The support team introduced me to Miguel Dias, and we began a new challenge: ensuring every dependency had an EasyBuild recipe, allowing SIESTA to compile automatically without manual intervention.
With Miguel’s expertise, we quickly identified and organised the missing EasyBuild recipes, and I verified each dependency and version for consistency according to the foss-2023a toolchain. This was a continuous learning journey, understanding EasyBuild and how it simplifies installation and maintenance for SIESTA’s user community.
Once the recipe was complete, Alan O’Cais tested and validated it within EESSI, adding it to the repository.
Results and future perspectives
Thanks to the collaboration with Malaca, Dias, and O’Cais, the latest version, SIESTA 5.4.0, has been successfully installed and tested on ARM within Deucalion. It features EasyBuild recipes for both foss-2023a and foss-2024a and is fully included into EESSI.
Furthermore, using the foss-2024a recipe, I was able to install SIESTA on Fugaku, currently recognised as the world’s no. 1 supercomputer according to the Graph500 BFS benchmark.
Looking ahead, there is always room for further improvement, learning, and collaboration with EPICURE and Deucalion. Future plans include adapting SIESTA to Fujitsu compilers and ensuring peak performance not only on Deucalion but also on Fugaku.
Interview with Anthoni Alcaraz-Torres
Question: How can a hackathon accelerate HPC research?
“My name is Anthoni Alcaraz-Torres, and I’m a postdoctoral researcher at ICN2 in Barcelona, Spain. And I am also part of the Siesta developer team.
The hackathon allows us to test our skills to configure and install our own programs efficiently in ARM architecture, in this case, Siesta. This hackathon allows me to install and run a system on the ARM partition on Deucalion, as well as generate my first PR on the EasyBuild GitHub repo, so thank you.”




