Skip to content

Arm Compiler for Linux support #943

@green-br

Description

@green-br

Describe the bug
When building with the Arm Compiler for Linux CMake complains with:

CMake Warning at cmake/CompilerConfiguration.cmake:39 (message):
  Unknown Fortran compiler, trying without any additional (optimization)
  flags.

  You will most likely have to specify extra options for free-form Fortran
  2008 for your compiler!

  Please open an issue at https://github.com/cp2k/dbcsr/issues with the
  reported compiler name and the required flags.
Call Stack (most recent call first):
  CMakeLists.txt:340 (include)


-- CMAKE_Fortran_COMPILER_ID: Flang

To Reproduce
Steps to reproduce the behavior:

  1. Built with the command: 'spack install cp2k@2024.3 %arm@24.10.1'
  2. Run like this: (build-only failure)
  3. On the architecture/host/platform: 'aarch64, Nvidia Grace CPU Superchip, SLES15sp5'
  4. See error

Expected behavior
I expect CMake to detect the compiler and use the appropriate flags. Likely to be similar to LLVMFlang (but -std is not an option from look of manual):

set(CMAKE_Fortran_FLAGS          "${CMAKE_Fortran_FLAGS} -ffree-form -cpp")
set(CMAKE_Fortran_FLAGS_RELEASE  "-O3")
set(CMAKE_Fortran_FLAGS_DEBUG    "-O0 -g")

Environment:

  • Operating system & version - SLES15sp5
  • Compiler vendor & version - Arm Compiler for Linux 24.10
  • Build environment (make or cmake) - cmake
  • Configuration of DBCSR (either the cmake flags or the Makefile.inc) - generated by Spack for CP2K install.
  • MPI implementation and version - OpenMPI 5.0.8
  • If CUDA is being used: CUDA version and GPU architecture - not used
  • BLAS/LAPACK implementation and version - in-built into Arm Compiler for Linux
  • If applicable: Runtime information (how many nodes, type of nodes, ...)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions