Skip to content

Using ARM Partition

For testing your application on the ARM partition, you need to prepare a job script for that partition or use the interactive job:

salloc -A PROJECT-ID -p p01-arm

On the partition, you should reload the list of modules:

ml architecture/aarch64

For compilation, gcc and OpenMPI compilers are available. Hence, the compilation process should be the same as on the x64 architecture.

Let's have the following hello world example:

#include "mpi.h"
#include "omp.h"

int main(int argc, char **argv)
        int rank;
        MPI_Init(&argc, &argv);
        MPI_Comm_rank(MPI_COMM_WORLD, &rank);
        #pragma omp parallel
                printf("Hello on rank %d, thread %d\n", rank, omp_get_thread_num());

You can compile and run the example:

ml OpenMPI/4.1.4-GCC-11.3.0
mpic++ -fopenmp hello.cpp -o hello
mpirun -n 4 ./hello

Please see gcc options for more advanced compilation settings. No complications are expected as long as the application does not use any intrinsic for x64 architecture. If you want to use intrinsic, SVE instruction set is available.