WPS
WPS copied to clipboard
New intel llvm compilers for WPS
This fixes the issue addressed in #240
@islas
I think I did it sucessfully
@islas
I think I did it sucessfully
@weiwangncar @islas
Is there a release number for the next version of wps for a git clone?
@islas @weiwangncar @mgduda @kkeene44
I think I may have merged somehow. Can you double check? I made the changes islas asked for but I think it merged in without approval.
@HathewayWill Everything looks in order. The merge is currently blocked by my review
@islas oh good. When I saw it merged I thought I did sometime
Good evening,
From my conversation with Intel about the LLVM
https://community.intel.com/t5/Intel-MPI-Library/Future-of-HPCtoolkit/m-p/1429431#M10028
Hi,
Please use the below commands to resolve your issue:
export CC=icx export CXX=icpx export FC=ifx export F77=ifx export F90=ifx export MPIFC="mpiifort -fc=ifx" export MPIF77="mpiifort -fc=ifx" export MPIF90="mpiifort -fc=ifx" export MPICC="mpiicc -cc=icx" export MPICXX="mpiicpc -cxx=icpx"
Thanks & Regards,
Santosh
On Mon, May 6, 2024 at 8:48 PM Michael Duda @.***> wrote:
@.**** requested changes on this pull request.
Besides the comment on the -f90 option that I've left, I would suggest moving the new stanza just below the "generic" Intel / x86_64 stanza rather than placing it at the end of the configure.defaults file. That way, all of the Intel options would be grouped together.
In arch/configure.defaults https://github.com/wrf-model/WPS/pull/243#discussion_r1591717244:
@@ -798,6 +798,30 @@ CPPFLAGS = -D_UNDERSCORE -DBYTESWAP -DLINUX -DIO_NETCDF -DIO_BINARY - ARFLAGS = CC_TOOLS =
+######################################################################################################################## +#ARCH Linux x86_64, Intel oneAPI compiler with icx # serial serial_NO_GRIB2 dmpar dmpar_NO_GRIB2 +# +COMPRESSION_LIBS = CONFIGURE_COMP_L +COMPRESSION_INC = CONFIGURE_COMP_I +FDEFS = CONFIGURE_FDEFS +SFC = ifx +SCC = icx +DM_FC = mpif90 -f90=$(SFC)
If there's not a good reason for doing so, I think it would be best to not add -f90=$(SFC) (and similarly for -cc=$(SCC)) as an argument, as I'm not sure this is a standard argument that's accepted by all MPI wrappers.
Also, I would propose switching from mpif90 to mpifort.
— Reply to this email directly, view it on GitHub https://github.com/wrf-model/WPS/pull/243#pullrequestreview-2041923012, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4FUT5XF4XOLETUQMVIZ77DZBAXGVAVCNFSM6AAAAABBXAEMPCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDANBRHEZDGMBRGI . You are receiving this because you were mentioned.Message ID: @.***>
@HathewayWill I don't think using mpiifort is what we're after. My understanding is that mpiifort is the MPI Fortran compiler wrapper for Intel's MPI library, while I believe we're trying to make a oneAPI configuration stanza that uses the Intel oneAPI compilers (ifx, icx, etc.) while using more generic MPI compiler wrappers.
If I understand it correctly if you call mpifort with the intel mpi compilers it uses gnu mpifort. I'll have to test
On Tue, May 7, 2024 at 8:59 PM Michael Duda @.***> wrote:
@HathewayWill https://github.com/HathewayWill I don't think using mpiifort is what we're after. My understanding is that mpiifort is the MPI Fortran compiler wrapper for Intel's MPI library, while I believe we're trying to make a oneAPI configuration stanza that uses the Intel oneAPI compilers (ifx, icx, etc.) while using more generic MPI compiler wrappers.
— Reply to this email directly, view it on GitHub https://github.com/wrf-model/WPS/pull/243#issuecomment-2099595046, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4FUT5V54MQGQ5FNTTL2LEDZBGBJ5AVCNFSM6AAAAABBXAEMPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJZGU4TKMBUGY . You are receiving this because you were mentioned.Message ID: @.***>
######################################################################################################################## #ARCH Linux x86_64, Intel oneAPI compiler with icx # serial serial_NO_GRIB2 dmpar dmpar_NO_GRIB2
COMPRESSION_LIBS = CONFIGURE_COMP_L COMPRESSION_INC = CONFIGURE_COMP_I FDEFS = CONFIGURE_FDEFS SFC = ifx SCC = icx DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) FFLAGS = -FR -convert big_endian F77FLAGS = -FI -convert big_endian FCSUFFIX = FNGFLAGS = $(FFLAGS) LDFLAGS = CFLAGS = -w -Wno-implicit-int CPP = /lib/cpp -P -traditional CPPFLAGS = -D_UNDERSCORE -DBYTESWAP -DLINUX -DIO_NETCDF -DIO_BINARY -DIO_GRIB1 -DBIT32 CONFIGURE_MPI ARFLAGS = CC_TOOLS =
@HathewayWill I don't think using
mpiifortis what we're after. My understanding is thatmpiifortis the MPI Fortran compiler wrapper for Intel's MPI library, while I believe we're trying to make a oneAPI configuration stanza that uses the Intel oneAPI compilers (ifx, icx, etc.) while using more generic MPI compiler wrappers.
@islas @mgduda
Apparently if you make your profile private it closes all pulls.
Do I need to recreate?
########################################################################################################################
#ARCH Linux x86_64, Intel oneAPI compiler with icx # serial serial_NO_GRIB2 dmpar dmpar_NO_GRIB2
COMPRESSION_LIBS = CONFIGURE_COMP_L
COMPRESSION_INC = CONFIGURE_COMP_I
FDEFS = CONFIGURE_FDEFS
SFC = ifx
SCC = icx
DM_FC = mpiifx
DM_CC = mpiicx
FC = CONFIGURE_FC
CC = CONFIGURE_CC
LD = $(FC)
FFLAGS = -FR -convert big_endian
F77FLAGS = -FI -convert big_endian
FCSUFFIX =
FNGFLAGS = $(FFLAGS)
LDFLAGS =
CFLAGS = -w -Wno-implicit-int
CPP = /lib/cpp -P -traditional
CPPFLAGS = -D_UNDERSCORE -DBYTESWAP -DLINUX -DIO_NETCDF -DIO_BINARY -DIO_GRIB1 -DBIT32 CONFIGURE_MPI
ARFLAGS =
CC_TOOLS =
Sucessfully built @islas @mgduda
let me know if you need anything else
Sounds good, I'll make a note to change the WRF stanza in the next update to follow suit.
I just got this from the Intel developers. @islas @weiwangncar @mgduda @kkeene44
Looks like the old wrappers are going away