-
Notifications
You must be signed in to change notification settings - Fork 0
/
Isambard2-fujitsu-minimal.psmp
52 lines (49 loc) · 2.74 KB
/
Isambard2-fujitsu-minimal.psmp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# arch file for CP2K on Isambard2 with the Fujitsu compiler, with minimal dependencies.
CC = mpifcc
CXX = mpiFCC
AR = ar -r
FC = mpifrt
LD = mpifrt
DFLAGS = -D__parallel -D__MPI_VERSION=3 -D__SCALAPACK
#DFLAGS += -D__FFTW3
FCFLAGS = -Free -X08 -Kopenmp,SVE $(DFLAGS)
CFLAGS = -Kopenmp,SVE $(DFLAGS)
CXXFLAGS = -Kopenmp,SVE $(DFLAGS)
LDFLAGS = -SCALAPACK -SSL2 $(FCFLAGS)
#LIBS += -lfftw3 -lfftw3_omp
# the compiler runs out of memory when optimizing the following:
mp2_eri.o: mp2_eri.F
$(TOOLSRC)/build_utils/fypp $(FYPPFLAGS) $< $*.F90
$(FC) -c $(FCFLAGS) -O0 -D__SHORT_FILE__="\"$(subst $(SRCDIR)/,,$<)\"" -I'$(dir $<)' $(OBJEXTSINCL) $*.F90 $(FCLOGPIPE)
# Note: the Fujitsu compiler still has a problem with some INTENT specifications in DBCSR and you may have to apply the following patch:
# diff --git a/exts/dbcsr/src/dist/dbcsr_dist_methods.F b/exts/dbcsr/src/dist/dbcsr_dist_methods.F
# index 38a5724e3..a3f242da4 100644
# --- a/exts/dbcsr/src/dist/dbcsr_dist_methods.F
# +++ b/exts/dbcsr/src/dist/dbcsr_dist_methods.F
# @@ -77,7 +77,7 @@ CONTAINS
# OPTIONAL :: template
# INTEGER, INTENT(IN), OPTIONAL :: group
# INTEGER, DIMENSION(:, :), OPTIONAL, POINTER :: pgrid
# - INTEGER, DIMENSION(:), INTENT(IN), POINTER, CONTIGUOUS :: row_dist, col_dist
# + INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: row_dist, col_dist
# LOGICAL, INTENT(IN), OPTIONAL :: reuse_arrays
#
# TYPE(dbcsr_mp_obj) :: mp_env
# @@ -116,7 +116,7 @@ CONTAINS
# !! distribution
# TYPE(dbcsr_mp_obj), INTENT(IN) :: mp_env
# !! multiprocessing environment
# - TYPE(array_i1d_obj), INTENT(IN) :: row_dist_block, col_dist_block
# + TYPE(array_i1d_obj) :: row_dist_block, col_dist_block
# TYPE(array_i1d_obj), INTENT(IN), OPTIONAL :: local_rows, local_cols
#
# INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: cont_row_dist, cont_col_dist, &
# @@ -145,7 +145,7 @@ CONTAINS
# !! distribution
# TYPE(dbcsr_mp_obj), INTENT(IN) :: mp_env
# !! multiprocessing environment
# - INTEGER, DIMENSION(:), INTENT(IN), POINTER, CONTIGUOUS :: row_dist_block, col_dist_block
# + INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: row_dist_block, col_dist_block
# INTEGER, DIMENSION(:), INTENT(IN), OPTIONAL, &
# POINTER, CONTIGUOUS :: local_rows, local_cols
# LOGICAL, OPTIONAL