We currently have -xCORE-AVX2 being set in a few of our SPRs (see below). These flags are CPU restrictive and have prevented users from building our models with Intel compilers on other HPC systems (e.g. NeSI and Archer2). The recommendation from the software transformation team (i.e. @manodeep) is to replace these flags with -mavx2, which will still allow AVX2 instructions but won't prevent running on other CPUs.
We are in the process of replacing -xCORE-AVX2 with -mavx2 where the flag is used in CMake build systems, but some changes to SPRs are also required:
mom5: in the MakefileBuilder (cmake is default)
access-mocsy: in the MakefileBuilder (cmake is default)
cice5: in the MakefileBuilder (cmake exists, but makefile is still default)
cice4: MakefileBuilder only
oasis3_mct: MakefileBuilder only
Note, oasis3_mct and cice5 actually set -axCORE-AVX2 which does allow running on different CPUs, but @manodeep still recommends changing to -mavx2.
We currently have
-xCORE-AVX2being set in a few of our SPRs (see below). These flags are CPU restrictive and have prevented users from building our models with Intel compilers on other HPC systems (e.g. NeSI and Archer2). The recommendation from the software transformation team (i.e. @manodeep) is to replace these flags with-mavx2, which will still allow AVX2 instructions but won't prevent running on other CPUs.We are in the process of replacing
-xCORE-AVX2with-mavx2where the flag is used in CMake build systems, but some changes to SPRs are also required:mom5: in theMakefileBuilder(cmake is default)access-mocsy: in theMakefileBuilder(cmake is default)cice5: in theMakefileBuilder(cmake exists, but makefile is still default)cice4:MakefileBuilderonlyoasis3_mct:MakefileBuilderonlyNote,
oasis3_mctandcice5actually set-axCORE-AVX2which does allow running on different CPUs, but @manodeep still recommends changing to-mavx2.