13 Compiler support
SY Wang edited this page 2026-06-22 21:55:33 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CP2K follows the Fortran 2008 standard. Compiler support depends on the compiler version, platform, MPI implementation, build mode, enabled optional libraries, and accelerator backend.

The CP2K Dashboard provides the current status of individual test configurations, along with regarding commits. This page summarizes project-level support status and known compiler-specific limitations.

Status legend

Status Meaning
🟢 Supported Continuously tested in a representative CP2K configuration and suitable for normal use.
🟡 Supported with known limitation CP2K is usable, but a tracked limitation affects a particular platform, build mode, or feature combination.
🔴 Unsupported Known not to build or work reliably with current CP2K.

Current compiler support

Compiler / platform Version(s) Status Recommended use Known limitations and notes
GNU GCC on Linux x86_64 916 🟢 Supported Recommended default compiler family for Linux CPU builds. GCC is CP2K's primary compiler family and receives broad continuous coverage.
GNU GCC on Linux aarch64 Tested Linux configurations 🟢 Supported Suitable for Linux ARM64 systems matching Dashboard coverage. Optional-library and accelerator coverage is narrower than for Linux x86_64.
GNU GCC on macOS arm64 Tested Homebrew GCC configurations 🟡 Supported with known limitation Suitable for local development and supported macOS configurations. ELPA and LIBXSMM are not supported in the tested Homebrew GCC configuration; verify the intended MPI and dependency combination.
Cray compiler CCE 12.0.3 🟡 Supported with known limitation Use with caution. Numerical instabilities in RPA/MP2.
GNU GCC < 9 🔴 Unsupported Do not use. Too old for current CP2K language requirements and modern dependency stacks.
Intel oneAPI Current releases 🔴 Unsupported Do not use. Multiple issues including incomplete Fortran standards support and regression bugs of newer ifx releases.
LLVM Flang Current releases 🔴 Unsupported Do not use. LLVM's Fortran 2018-oriented syntax and module-dependency visibility checks reject some source and build patterns used by CP2K, so the build does not complete successfully.

Regarding older and detailed information, see the legacy compiler support page.