Reading time: | 15 min |
Last updated: | 11 Nov 2024 |
Test status: |
Reading time: |
15 min |
Last updated: |
11 Nov 2024 |
Test status: |
Author: | Florent Lebeau, Arm |
Official docs: | View |
Tags: |
Author: |
Florent Lebeau, Arm |
Official docs: |
View |
Tags: |
This guide is intended to get you up and running with this tool quickly with the most common settings. For a thorough review of all options, refer to the official documentation.
Arm Compiler for Linux (ACfL)
is a suite of tools containing Arm C/C++ Compiler (armclang
), Arm Fortran Compiler (armflang
), and Arm Performance Libraries (ArmPL). It is tailored to the development of High Performance Computing (HPC) applications.
Arm Compiler for Linux runs on 64-bit Arm machines, it is not a cross-compiler.
You do not require any additional license to use Arm Compiler for Linux.
Arm Compiler for Linux supports all 64-bit Arm based server-class hardware .
Ensure you are using a supported Linux distribution .
Confirm you are using an Arm machine by running:
uname -m
The output should be:
aarch64
If you see a different result, you are not using an Arm computer running 64-bit Linux.
If any of the following tools are not already installed by your Linux distribution, you must install them before installing Arm Compiler for Linux. These packages can be installed with the appropriate package manager for your OS:
The minimum supported version for Python is version 3.6.
You must have at least 2 GB of free hard disk space to both download and unpack the Arm Compiler for Linux package. You must also have an additional 6 GB of free space to install the package.
For example:
sudo apt update
sudo apt install -y python-is-python3 libc6-dev
You are now ready to install ACfL manually or with Spack .
Use an Arm recommended script to select, download, and install your preferred ACfL package.
bash <(curl -L https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Package/install.sh)
Download releases from the command line using wget
. Install wget
if not present.
sudo apt install wget
ACfL installation packages are available to download from Arm Developer . Individual Arm Performance Libraries (ArmPL) packages are also available.
Fetch the ACfL installers:
wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.10.1/arm-compiler-for-linux_24.10.1_Ubuntu-22.04_aarch64.tar
wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.10.1/arm-compiler-for-linux_24.10.1_RHEL-9_aarch64.tar
To install Arm Compiler for Linux on your 64-bit Linux Arm machine extract the package and run the installation script.
Each command sequence includes accepting the license agreement to automate the installation and installing Environment Modules.
sudo -E apt-get -y install environment-modules python3 libc6-dev
tar -xvf arm-compiler-for-linux_24.10.1_Ubuntu-22.04_aarch64.tar
cd ./arm-compiler-for-linux_24.10.1_Ubuntu-22.04
sudo ./arm-compiler-for-linux_24.10.1_Ubuntu-22.04.sh --accept
sudo yum -y install environment-modules python3 glibc-devel
tar -xvf arm-compiler-for-linux_24.10.1_RHEL-9_aarch64.tar
cd arm-compiler-for-linux_24.10.1_RHEL-9
sudo ./arm-compiler-for-linux_24.10.1_RHEL-9.sh --accept
⚠️ On RPM based systems (such as Red Hat), if an alternative version of GCC (not the GCC bundled with ACfL) is installed after ACfL, you will not be able to uninstall ACfL fully. For example, a GDB (GNU Project Debugger) installation will install the native system GCC. If this install takes place after ACfL, you will no longer be able to fully uninstall ACfL.
Arm Compiler for Linux uses environment modules to dynamically modify your user environment. Refer to the Environment Modules documentation for more information.
Set up the environment, for example, in your .bashrc
and add module files.
echo "source /usr/share/modules/init/bash" >> ~/.bashrc
echo "module use /opt/arm/modulefiles" >> ~/.bashrc
source ~/.bashrc
echo "source /usr/share/Modules/init/bash" >> ~/.bashrc
echo "module use /opt/arm/modulefiles" >> ~/.bashrc
source ~/.bashrc
To list available modules:
module avail
To configure Arm Compiler for Linux:
module load acfl/24.10.1
To configure GCC:
module load gnu/14.2.0
ACfL is now ready to use .
Arm Compiler for Linux is available with the Spack package manager.
See the Arm Compiler for Linux and Arm PL now available in Spack blog for full details.
Clone the Spack repository and add bin
directory to the path:
git clone -c feature.manyFiles=true https://github.com/spack/spack.git
export PATH=/home/ubuntu/spack/bin:$PATH
Set up shell support:
. /home/ubuntu/spack/share/spack/setup-env.sh
Spack is now ready to use.
Download and install Arm Compiler for Linux with:
spack install acfl
If you wish to install just the Arm Performance Libraries, use:
spack install armpl-gcc
Use the commands below to set up the environment:
spack load acfl
spack compiler find
ACfL is now ready to use .
To get started with the Arm C/C++ Compiler and compile a simple application follow the steps below.
Check that the correct compiler version is being used:
armclang --version
Create a text file named hello.c
with the contents below.
#include <stdio.h>
int main()
{
printf("Hello, C World!\n");
return 0;
}
Build the application with:
armclang hello.c -o hello
Run the application with:
./hello
The program will output the string specified.
Hello, C World!
To get started with the Arm Fortran Compiler and compile a simple application follow the steps below.
Check that the correct compiler version is being used:
armflang --version
Create a text file named hello.f90
with the contents below.
program hello
! This is a comment line; it is ignored by the compiler
print *, 'Hello, Fortran World!'
end program hello
Build the application with:
armflang hello.f90 -o hello
Run the application with:
./hello
The program will output the string specified.
Hello, Fortran World!
To get started with the Arm Performance Libraries and learn how to select the optimal library for your system, follow the Get started with Arm Performance Libraries guide.
How would you rate the overall quality of this tool quick-install guide?
What is the primary reason for your feedback ?
Thank you. We're grateful for your feedback on how to improve this tool quick-install guide.