Skip to content

Minimum Compiler Version Update #5285

@crtrott

Description

@crtrott

After the 3.7 release, Kokkos is requiring C++17, which necessitates an upgrade in minimum compiler versions.
Furthermore, we are planning to move HIP out of Experimental in the release after 3.7 and start more stable support for ROCM versions. The question arises what that means for minimum versions Kokkos should support.

Here is the proposal we are working with right now, however we are considering lifting the version a bit higher than what we could get away with. The main reason to do so is avoiding known bugs, as well as making our burden for testing/support a bit easier.

Compiler Line Current Minimum Initial Proposal Considering Decision
GCC 5.3 7.3 8.2 8.2
Clang 4.0 8.0 11.1 8.0
Clang as CUDA compiler 10.0 10.0 11.1 10.0
Intel icpc 17.0 19.1 2019.5 (aka icpc --version 19.0.5) 2019.5
CUDA nvcc 9.2.88 11.0 11.x 11.0
Minimum CUDA for use with Clang as CUDA compiler 10.0.1 10.0.1 -- 10.0.1
ROCM 4.5.0 5.2.0 -- 5.2.0
IntelLLVM (CPU) icpx 2021.1.1 2021.1.1 -- 2021.1.1
IntelLLVM (SYCL) 2022.0.0 2022.2.0 -- 2022.2.0
NVHPC nvc++ 22.3 22.3 -- 22.3
MSVC 19.29
IBM XL Not supported
PGI now via NVC++

Couple notes:

  • Clang as CUDA compiler requires at least 10.x possibly 11.x we test 11.0 currently.
  • NVC++ as CUDA compiler is not officially supported yet, we expect official support later this year
  • The OpenMPTarget backend has separate requirements for newer compilers
  • The upcoming OpenACC backend may have separate requirements for newer compilers

Metadata

Metadata

Assignees

Labels

Compiler IssueAn issue that Kokkos cannot / should not fix; Kokkos must communicate to relevant vendorInDevelopEnhancement, fix, etc. has been merged into the develop branch;QuestionFor Kokkos internal and external contributors and users

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions