Patch for building on Summit
authorWileam Phan <wphan@vols.utk.edu>
Tue, 21 Jul 2020 03:30:28 +0000 (23:30 -0400)
committerWileam Phan <wphan@vols.utk.edu>
Tue, 21 Jul 2020 03:30:28 +0000 (23:30 -0400)
Makefile.power
Makefile.system
exports/Makefile
f_check

index ea84f59..bf70379 100644 (file)
@@ -21,23 +21,56 @@ endif
 
 ifeq ($(CORE), POWER9)
 ifeq ($(USE_OPENMP), 1)
-COMMON_OPT += -Ofast -mcpu=power9 -mtune=power9 -mvsx -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
+ifneq ($(C_COMPILER), PGI)
+CCOMMON_OPT += -Ofast -mcpu=power9 -mtune=power9 -mvsx -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
+else
+CCOMMON_OPT += -fast -Mvect=simd -Mcache_align -DUSE_OPENMP -mp
+endif
+ifneq ($(F_COMPILER), PGI)
 FCOMMON_OPT += -O2 -frecursive -mcpu=power9 -mtune=power9 -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
 else
-COMMON_OPT += -Ofast -mcpu=power9 -mtune=power9 -mvsx -malign-power -fno-fast-math
+FCOMMON_OPT += -O2 -Mrecursive -DUSE_OPENMP -mp
+endif
+else
+ifneq ($(C_COMPILER), PGI)
+CCOMMON_OPT += -Ofast -mcpu=power9 -mtune=power9 -mvsx -malign-power -fno-fast-math
+else
+CCOMMON_OPT += -fast -Mvect=simd -Mcache_align
+endif
+ifneq ($(F_COMPILER), PGI)
 FCOMMON_OPT += -O2 -frecursive -mcpu=power9 -mtune=power9 -malign-power -fno-fast-math
+else
+FCOMMON_OPT += -O2 -Mrecursive
+endif
 endif
 endif
 
 ifeq ($(CORE), POWER8)
 ifeq ($(USE_OPENMP), 1)
-COMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
+ifneq ($(C_COMPILER), PGI)
+CCOMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
+else
+CCOMMON_OPT += -fast -Mvect=simd -Mcache_align -DUSE_OPENMP -mp
+endif
+ifneq ($(F_COMPILER), PGI)
 FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -malign-power -DUSE_OPENMP -fno-fast-math -fopenmp
 else
-COMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -malign-power -fno-fast-math 
-FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -malign-power -fno-fast-math 
+FCOMMON_OPT += -O2 -Mrecursive -DUSE_OPENMP -mp
+endif
+else
+ifneq ($(C_COMPILER), PGI)
+CCOMMON_OPT += -Ofast -mcpu=power8 -mtune=power8 -mvsx -malign-power -fno-fast-math
+else
+CCOMMON_OPT += -fast -Mvect=simd -Mcache_align
+endif
+ifneq ($(F_COMPILER), PGI)
 ifeq ($(OSNAME), AIX)
 FCOMMON_OPT += -O1 -frecursive -mcpu=power8 -mtune=power8 -malign-power -fno-fast-math 
+else
+FCOMMON_OPT += -O2 -frecursive -mcpu=power8 -mtune=power8 -malign-power -fno-fast-math 
+endif
+else
+FCOMMON_OPT += -O2 -Mrecursive
 endif
 endif
 endif
index 3312a0b..d62c66a 100644 (file)
@@ -796,8 +796,19 @@ endif
 
 ifeq ($(C_COMPILER), PGI)
 ifdef BINARY64
+ifeq ($(ARCH), x86_64)
 CCOMMON_OPT += -tp p7-64 -D__MMX__ -Mnollvm
 else
+ifeq ($(ARCH), power)
+ifeq ($(CORE), POWER8)
+CCOMMON_OPT += -tp pwr8
+endif
+ifeq ($(CORE), POWER9)
+CCOMMON_OPT += -tp pwr9
+endif
+endif
+endif
+else
 CCOMMON_OPT += -tp p7
 endif
 endif
@@ -960,8 +971,19 @@ ifneq ($(INTERFACE64), 0)
 FCOMMON_OPT += -i8
 endif
 endif
+ifeq ($(ARCH), x86_64)
 FCOMMON_OPT += -tp p7-64
 else
+ifeq ($(ARCH), power)
+ifeq ($(CORE), POWER8)
+FCOMMON_OPT += -tp pwr8
+endif
+ifeq ($(CORE), POWER9)
+FCOMMON_OPT += -tp pwr9
+endif
+endif
+endif
+else
 FCOMMON_OPT += -tp p7
 endif
 FCOMMON_OPT += -Mrecursive
index 01a313b..7590158 100644 (file)
@@ -55,6 +55,10 @@ endif
 endif
 endif
 
+ifeq ($(C_COMPILER), PGI)
+EXTRALIB += -pgf90libs
+endif
+
 ifneq (,$(filter 1 2,$(NOFORTRAN)))
 FEXTRALIB =
 endif
diff --git a/f_check b/f_check
index 17d8632..dd4d347 100644 (file)
--- a/f_check
+++ b/f_check
@@ -82,6 +82,9 @@ if ($compiler eq "") {
                if ($compiler =~ /flang/) {
                    $vendor = FLANG;
                    $openmp = "-fopenmp";
+           } elsif ($compiler =~ /pgf/) {
+                   $vendor = PGI;
+                   $openmp = "-mp";
                } else {
                    $vendor = G77;
                    $openmp = "";