mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-21 06:25:15 -04:00
Page:
Compiler support
No results
Table of Contents
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 | 9–16 | 🟢 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.