wrf: fix patches for 4.2 to 4.4.2 for aarch64 config (#39900)
This commit is contained in:
parent
2f63342677
commit
e63597bf79
@ -168,11 +168,19 @@ class Wrf(Package):
|
||||
patch("patches/4.2/var.gen_be.Makefile.patch", when="@4.2:")
|
||||
patch("patches/4.2/Makefile.patch", when="@4.2")
|
||||
patch("patches/4.2/tirpc_detect.patch", when="@4.2")
|
||||
patch("patches/4.2/add_aarch64.patch", when="@4.2:")
|
||||
patch("patches/4.2/add_aarch64.patch", when="@4.2:4.3.1 %gcc target=aarch64:")
|
||||
patch("patches/4.2/add_aarch64_acfl.patch", when="@4.2:4.3.1 %arm target=aarch64:")
|
||||
patch("patches/4.2/configure_aocc_2.3.patch", when="@4.2 %aocc@:2.4.0")
|
||||
patch("patches/4.2/configure_aocc_3.0.patch", when="@4.2: %aocc@3.0.0:3.2.0")
|
||||
patch("patches/4.2/hdf5_fix.patch", when="@4.2: %aocc")
|
||||
patch("patches/4.2/derf_fix.patch", when="@4.2 %aocc")
|
||||
patch(
|
||||
"patches/4.2/add_tools_flags_acfl2304.patch",
|
||||
when="@4.2:4.4.2 %arm@23.04.1: target=aarch64:",
|
||||
)
|
||||
|
||||
patch("patches/4.3/add_aarch64.patch", when="@4.3.2:4.4.2 %gcc target=aarch64:")
|
||||
patch("patches/4.3/add_aarch64_acfl.patch", when="@4.3.2:4.4.2 %arm target=aarch64:")
|
||||
|
||||
patch("patches/4.4/arch.postamble.patch", when="@4.4:")
|
||||
patch("patches/4.4/configure.patch", when="@4.4:4.4.2")
|
||||
|
@ -1,17 +1,17 @@
|
||||
From 9eb0c715cfcefb3df204200d44f5e8526bd14e31 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Tooley <phil.tooley@nag.co.uk>
|
||||
Date: Fri, 16 Oct 2020 13:20:24 +0100
|
||||
Subject: [PATCH] add aarch64 gcc support
|
||||
|
||||
---
|
||||
arch/configure.defaults | 43 +++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 43 insertions(+)
|
||||
|
||||
diff --git a/arch/configure.defaults b/arch/configure.defaults
|
||||
index 7767a81e..bfd2a802 100644
|
||||
index 6e98941a..17a94e48 100644
|
||||
--- a/arch/configure.defaults
|
||||
+++ b/arch/configure.defaults
|
||||
@@ -1975,6 +1975,49 @@ LIB_BUNDLED = \
|
||||
@@ -44,7 +44,7 @@ RLFLAGS =
|
||||
CC_TOOLS = cc
|
||||
|
||||
###########################################################
|
||||
-#ARCH Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
+#ARCH Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
#
|
||||
DESCRIPTION = GNU ($SFC/$SCC)
|
||||
DMPARALLEL = # 1
|
||||
@@ -1981,6 +1981,49 @@ LIB_BUNDLED = \
|
||||
$(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \
|
||||
$(WRF_SRC_ROOT_DIR)/frame/pack_utils.o
|
||||
|
||||
@ -26,7 +26,7 @@ index 7767a81e..bfd2a802 100644
|
||||
+SFC = gfortran
|
||||
+SCC = gcc
|
||||
+CCOMP = gcc
|
||||
+DM_FC = mpif90
|
||||
+DM_FC = mpif90
|
||||
+DM_CC = mpicc -DMPI2_SUPPORT
|
||||
+FC = CONFIGURE_FC
|
||||
+CC = CONFIGURE_CC
|
||||
@ -34,33 +34,30 @@ index 7767a81e..bfd2a802 100644
|
||||
+RWORDSIZE = CONFIGURE_RWORDSIZE
|
||||
+PROMOTION = #-fdefault-real-8
|
||||
+ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM
|
||||
+CFLAGS_LOCAL = -w -O3 -c -march=native -mtune=native
|
||||
+DFLAGS_LOCAL =
|
||||
+CPLUSPLUSLIB =
|
||||
+CFLAGS_LOCAL = -w -O3 -c
|
||||
+DFLAGS_LOCAL =
|
||||
+CPLUSPLUSLIB =
|
||||
+ESMF_LDFLAG = $(CPLUSPLUSLIB)
|
||||
+FCOPTIM = -O3 -ftree-vectorize -funroll-loops -march=native -mtune=native
|
||||
+FCREDUCEDOPT = $(FCOPTIM)
|
||||
+FCNOOPT = -O0
|
||||
+FCOPTIM = -Ofast -fno-expensive-optimizations -fno-reciprocal-math -fsigned-zeros -fno-unsafe-math-optimizations -funroll-loops
|
||||
+FCREDUCEDOPT = $(FCOPTIM)
|
||||
+FCNOOPT = -O0
|
||||
+FCDEBUG = -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
|
||||
+FORMAT_FIXED = -ffixed-form
|
||||
+FORMAT_FREE = -ffree-form -ffree-line-length-none
|
||||
+FCSUFFIX =
|
||||
+FCCOMPAT =
|
||||
+BYTESWAPIO = -fconvert=big-endian -frecord-marker=4
|
||||
+FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO)
|
||||
+FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
|
||||
+FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
|
||||
+MODULE_SRCH_FLAG =
|
||||
+MODULE_SRCH_FLAG =
|
||||
+TRADFLAG = CONFIGURE_TRADFLAG
|
||||
+CPP = /lib/cpp CONFIGURE_CPPFLAGS
|
||||
+AR = ar
|
||||
+ARFLAGS = ru
|
||||
+M4 = m4 -G
|
||||
+RANLIB = ranlib
|
||||
+RLFLAGS =
|
||||
+CC_TOOLS = $(SCC)
|
||||
+RLFLAGS =
|
||||
+CC_TOOLS = $(SCC)
|
||||
+
|
||||
#insert new stanza here
|
||||
|
||||
###########################################################
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
63
var/spack/repos/builtin/packages/wrf/patches/4.2/add_aarch64_acfl.patch
vendored
Normal file
63
var/spack/repos/builtin/packages/wrf/patches/4.2/add_aarch64_acfl.patch
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
diff --git a/arch/configure.defaults b/arch/configure.defaults
|
||||
index 6e98941a..85d96019 100644
|
||||
--- a/arch/configure.defaults
|
||||
+++ b/arch/configure.defaults
|
||||
@@ -44,7 +44,7 @@ RLFLAGS =
|
||||
CC_TOOLS = cc
|
||||
|
||||
###########################################################
|
||||
-#ARCH Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
+#ARCH Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
#
|
||||
DESCRIPTION = GNU ($SFC/$SCC)
|
||||
DMPARALLEL = # 1
|
||||
@@ -1981,6 +1981,49 @@ LIB_BUNDLED = \
|
||||
$(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \
|
||||
$(WRF_SRC_ROOT_DIR)/frame/pack_utils.o
|
||||
|
||||
+###########################################################
|
||||
+#ARCH Linux aarch64, armflang compiler #serial smpar dmpar dm+sm
|
||||
+#
|
||||
+DESCRIPTION = Arm GNU ($SFC/$SCC): Aarch64
|
||||
+DMPARALLEL = # 1
|
||||
+OMPCPP = # -D_OPENMP
|
||||
+OMP = # -fopenmp
|
||||
+OMPCC = # -fopenmp
|
||||
+SFC = armflang
|
||||
+SCC = armclang
|
||||
+CCOMP = armclang
|
||||
+DM_FC = mpif90
|
||||
+DM_CC = mpicc -DMPI2_SUPPORT
|
||||
+FC = CONFIGURE_FC
|
||||
+CC = CONFIGURE_CC
|
||||
+LD = $(FC)
|
||||
+RWORDSIZE = CONFIGURE_RWORDSIZE
|
||||
+PROMOTION = #-fdefault-real-8
|
||||
+ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM
|
||||
+CFLAGS_LOCAL = -w -O3 -c -Wno-error=implicit-function-declaration -Wno-error=implicit-int
|
||||
+DFLAGS_LOCAL =
|
||||
+CPLUSPLUSLIB =
|
||||
+ESMF_LDFLAG = $(CPLUSPLUSLIB)
|
||||
+FCOPTIM = -Ofast -funroll-loops
|
||||
+FCREDUCEDOPT = $(FCOPTIM)
|
||||
+FCNOOPT = -O0
|
||||
+FCDEBUG = -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
|
||||
+FORMAT_FIXED = -ffixed-form
|
||||
+FORMAT_FREE = -ffree-form -ffree-line-length-0
|
||||
+FCCOMPAT =
|
||||
+BYTESWAPIO = -fconvert=big-endian
|
||||
+FCBASEOPTS_NO_G = -w $(OMP) $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
|
||||
+FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
|
||||
+MODULE_SRCH_FLAG =
|
||||
+TRADFLAG = CONFIGURE_TRADFLAG
|
||||
+CPP = /lib/cpp CONFIGURE_CPPFLAGS
|
||||
+AR = ar
|
||||
+ARFLAGS = ru
|
||||
+M4 = m4 -G
|
||||
+RANLIB = ranlib
|
||||
+RLFLAGS =
|
||||
+CC_TOOLS = $(SCC)
|
||||
+
|
||||
#insert new stanza here
|
||||
|
||||
###########################################################
|
19
var/spack/repos/builtin/packages/wrf/patches/4.2/add_tools_flags_acfl2304.patch
vendored
Normal file
19
var/spack/repos/builtin/packages/wrf/patches/4.2/add_tools_flags_acfl2304.patch
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
*** a/arch/postamble 2023-04-01 15:35:41.729081823 +0000
|
||||
--- b/arch/postamble 2023-04-02 07:30:17.031503636 +0000
|
||||
*************** INCLUDE_MODULES = $(MODULE_SRCH_FLAG)
|
||||
*** 56,62 ****
|
||||
-I$(NETCDFFPATH)/include \
|
||||
CONFIGURE_RTTOV_INC CONFIGURE_CTSM_INC
|
||||
REGISTRY = Registry
|
||||
! CC_TOOLS_CFLAGS = CONFIGURE_NMM_CORE
|
||||
|
||||
LIB = $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL) $(LIB_WRF_HYDRO) CONFIGURE_CTSM_LIB
|
||||
LDFLAGS = $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL) CONFIGURE_LDFLAGS
|
||||
--- 56,62 ----
|
||||
-I$(NETCDFFPATH)/include \
|
||||
CONFIGURE_RTTOV_INC CONFIGURE_CTSM_INC
|
||||
REGISTRY = Registry
|
||||
! CC_TOOLS_CFLAGS = CONFIGURE_NMM_CORE $(CFLAGS_LOCAL)
|
||||
|
||||
LIB = $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL) $(LIB_WRF_HYDRO) CONFIGURE_CTSM_LIB
|
||||
LDFLAGS = $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL) CONFIGURE_LDFLAGS
|
72
var/spack/repos/builtin/packages/wrf/patches/4.3/add_aarch64.patch
vendored
Normal file
72
var/spack/repos/builtin/packages/wrf/patches/4.3/add_aarch64.patch
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
diff --git a/arch/configure.defaults b/arch/configure.defaults
|
||||
index 6aa210d7..eead95fb 100644
|
||||
--- a/arch/configure.defaults
|
||||
+++ b/arch/configure.defaults
|
||||
@@ -45,7 +45,7 @@ CC_TOOLS = cc
|
||||
NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD
|
||||
|
||||
###########################################################
|
||||
-#ARCH Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
+#ARCH Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
#
|
||||
DESCRIPTION = GNU ($SFC/$SCC)
|
||||
DMPARALLEL = # 1
|
||||
@@ -2023,7 +2023,7 @@ LIB_BUNDLED = \
|
||||
$(WRF_SRC_ROOT_DIR)/frame/pack_utils.o
|
||||
|
||||
###########################################################
|
||||
-#ARCH Linux armv7l aarch64, gnu OpenMPI #serial smpar dmpar dm+sm
|
||||
+#ARCH Linux , gnu OpenMPI #serial smpar dmpar dm+sm
|
||||
#
|
||||
DESCRIPTION = GNU ($SFC/$SCC)
|
||||
DMPARALLEL = # 1
|
||||
@@ -2066,4 +2066,47 @@ RLFLAGS =
|
||||
CC_TOOLS = $(SCC)
|
||||
NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD
|
||||
|
||||
+###########################################################
|
||||
+#ARCH Linux aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
+#
|
||||
+DESCRIPTION = Arm GNU ($SFC/$SCC): Aarch64
|
||||
+DMPARALLEL = # 1
|
||||
+OMPCPP = # -D_OPENMP
|
||||
+OMP = # -fopenmp
|
||||
+OMPCC = # -fopenmp
|
||||
+SFC = gfortran
|
||||
+SCC = gcc
|
||||
+CCOMP = gcc
|
||||
+DM_FC = mpif90
|
||||
+DM_CC = mpicc -DMPI2_SUPPORT
|
||||
+FC = CONFIGURE_FC
|
||||
+CC = CONFIGURE_CC
|
||||
+LD = $(FC)
|
||||
+RWORDSIZE = CONFIGURE_RWORDSIZE
|
||||
+PROMOTION = #-fdefault-real-8
|
||||
+ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM
|
||||
+CFLAGS_LOCAL = -w -O3 -c
|
||||
+DFLAGS_LOCAL =
|
||||
+CPLUSPLUSLIB =
|
||||
+ESMF_LDFLAG = $(CPLUSPLUSLIB)
|
||||
+FCOPTIM = -Ofast -fno-expensive-optimizations -fno-reciprocal-math -fsigned-zeros -fno-unsafe-math-optimizations -funroll-loops
|
||||
+FCREDUCEDOPT = $(FCOPTIM)
|
||||
+FCNOOPT = -O0
|
||||
+FCDEBUG = -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
|
||||
+FORMAT_FIXED = -ffixed-form
|
||||
+FORMAT_FREE = -ffree-form -ffree-line-length-none
|
||||
+FCCOMPAT =
|
||||
+BYTESWAPIO = -fconvert=big-endian -frecord-marker=4
|
||||
+FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
|
||||
+FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
|
||||
+MODULE_SRCH_FLAG =
|
||||
+TRADFLAG = CONFIGURE_TRADFLAG
|
||||
+CPP = /lib/cpp CONFIGURE_CPPFLAGS
|
||||
+AR = ar
|
||||
+ARFLAGS = ru
|
||||
+M4 = m4 -G
|
||||
+RANLIB = ranlib
|
||||
+RLFLAGS =
|
||||
+CC_TOOLS = $(SCC)
|
||||
+
|
||||
#insert new stanza here
|
||||
|
||||
###########################################################
|
72
var/spack/repos/builtin/packages/wrf/patches/4.3/add_aarch64_acfl.patch
vendored
Normal file
72
var/spack/repos/builtin/packages/wrf/patches/4.3/add_aarch64_acfl.patch
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
diff --git a/arch/configure.defaults b/arch/configure.defaults
|
||||
index 6aa210d7..45630015 100644
|
||||
--- a/arch/configure.defaults
|
||||
+++ b/arch/configure.defaults
|
||||
@@ -45,7 +45,7 @@ CC_TOOLS = cc
|
||||
NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD
|
||||
|
||||
###########################################################
|
||||
-#ARCH Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
+#ARCH Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm
|
||||
#
|
||||
DESCRIPTION = GNU ($SFC/$SCC)
|
||||
DMPARALLEL = # 1
|
||||
@@ -2023,7 +2023,7 @@ LIB_BUNDLED = \
|
||||
$(WRF_SRC_ROOT_DIR)/frame/pack_utils.o
|
||||
|
||||
###########################################################
|
||||
-#ARCH Linux armv7l aarch64, gnu OpenMPI #serial smpar dmpar dm+sm
|
||||
+#ARCH Linux , gnu OpenMPI #serial smpar dmpar dm+sm
|
||||
#
|
||||
DESCRIPTION = GNU ($SFC/$SCC)
|
||||
DMPARALLEL = # 1
|
||||
@@ -2066,4 +2066,47 @@ RLFLAGS =
|
||||
CC_TOOLS = $(SCC)
|
||||
NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD
|
||||
|
||||
+###########################################################
|
||||
+#ARCH Linux aarch64, armflang compiler #serial smpar dmpar dm+sm
|
||||
+#
|
||||
+DESCRIPTION = Arm GNU ($SFC/$SCC): Aarch64
|
||||
+DMPARALLEL = # 1
|
||||
+OMPCPP = # -D_OPENMP
|
||||
+OMP = # -fopenmp
|
||||
+OMPCC = # -fopenmp
|
||||
+SFC = armflang
|
||||
+SCC = armclang
|
||||
+CCOMP = armclang
|
||||
+DM_FC = mpif90
|
||||
+DM_CC = mpicc -DMPI2_SUPPORT
|
||||
+FC = CONFIGURE_FC
|
||||
+CC = CONFIGURE_CC
|
||||
+LD = $(FC)
|
||||
+RWORDSIZE = CONFIGURE_RWORDSIZE
|
||||
+PROMOTION = #-fdefault-real-8
|
||||
+ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM
|
||||
+CFLAGS_LOCAL = -w -O3 -c -Wno-error=implicit-function-declaration -Wno-error=implicit-int
|
||||
+DFLAGS_LOCAL =
|
||||
+CPLUSPLUSLIB =
|
||||
+ESMF_LDFLAG = $(CPLUSPLUSLIB)
|
||||
+FCOPTIM = -Ofast -funroll-loops
|
||||
+FCREDUCEDOPT = $(FCOPTIM)
|
||||
+FCNOOPT = -O0
|
||||
+FCDEBUG = -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
|
||||
+FORMAT_FIXED = -ffixed-form
|
||||
+FORMAT_FREE = -ffree-form -ffree-line-length-0
|
||||
+FCCOMPAT =
|
||||
+BYTESWAPIO = -fconvert=big-endian
|
||||
+FCBASEOPTS_NO_G = -w $(OMP) $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
|
||||
+FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
|
||||
+MODULE_SRCH_FLAG =
|
||||
+TRADFLAG = CONFIGURE_TRADFLAG
|
||||
+CPP = /lib/cpp CONFIGURE_CPPFLAGS
|
||||
+AR = ar
|
||||
+ARFLAGS = ru
|
||||
+M4 = m4 -G
|
||||
+RANLIB = ranlib
|
||||
+RLFLAGS =
|
||||
+CC_TOOLS = $(SCC)
|
||||
+
|
||||
#insert new stanza here
|
||||
|
||||
###########################################################
|
Loading…
Reference in New Issue
Block a user