Skip to content

Commit b78ecd0

Browse files
committed
makefile improvement for ifort19
1 parent 72aadae commit b78ecd0

File tree

4 files changed

+45
-23
lines changed

4 files changed

+45
-23
lines changed

SRC/Model_m.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ SUBROUTINE Init_Model(QModel,pot_name,ndim,nsurf,adiabatic,Cart_TO_Q, &
363363
write(out_unitp,*) '== Compiler: ',compiler
364364
write(out_unitp,*) '== Compiler version: ',compiler_ver
365365
write(out_unitp,*) '== Compiler options: ',compiler_opt
366-
write(out_unitp,*) '== Compiler libs: ',compiler_libs
366+
write(out_unitp,*) '== Compiler libs: ',compiler_libs
367367
write(out_unitp,*) '-------------------------------------------------'
368368
write(out_unitp,*) 'QML is under the MIT license and '
369369
write(out_unitp,*) ' is written by David Lauvergnat [1]'

SRC/QML/LinearHBond_m.f90

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,10 @@ SUBROUTINE EvalPot_QML_LinearHBond(QModel,Mat_OF_PotDia,dnQ,nderiv)
445445
flush(out_unitp)
446446
END IF
447447

448-
PotVal_m2 = QML_dnMorse(dnY,QModel%Morse2)+QModel%Eref2
448+
!PotVal_m2 = QML_dnMorse(dnY,QModel%Morse2)+QModel%Eref2 ! with ifort19 this doesn't work, it has to be split
449+
PotVal_m2 = QML_dnMorse(dnY,QModel%Morse2)
450+
PotVal_m2 = PotVal_m2+QModel%Eref2
451+
449452
IF (debug .OR. print_level > 1) THEN
450453
write(out_unitp,*) 'PotVal_m2. y:',get_d0(dnY)
451454
CALL Write_dnS(PotVal_m2)

SRC/QML/Phenol_m.f90

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -373,16 +373,26 @@ SUBROUTINE EvalPot_QML_Phenol(QModel,Mat_OF_PotDia,dnQ,nderiv)
373373

374374
!--------------------------------------------------------------------
375375
! for V(2,2): 2d diabatic state
376-
v201R = QML_dnMorse(dnR,QModel%v201) + QModel%B204
376+
!v201R = QML_dnMorse(dnR,QModel%v201) + QModel%B204 ! pb with ifort19
377+
v201R = QML_dnMorse(dnR,QModel%v201)
378+
v201R = v201R + QModel%B204
379+
377380
v202R = QModel%B205*exp(-QModel%B206*(dnR-QModel%B207)) + QModel%B208
381+
378382
v20pR = v201R + v202R
383+
379384
v20mR = v201R - v202R
385+
380386
v20R = HALF*(v20pR - (v20mR**TWO + QModel%X20)**HALF)
381387

382388

383389
!write(out_unitp,*) 'sigmoid:'
384390
v211R = QML_dnSigmoid(dnR,QModel%v211)
385-
v212R = QML_dnSigmoid(dnR,QModel%v212) + QModel%B217
391+
392+
!v212R = QML_dnSigmoid(dnR,QModel%v212) + QModel%B217 ! pb with ifort19
393+
v212R = QML_dnSigmoid(dnR,QModel%v212)
394+
v212R = v212R + QModel%B217
395+
386396
v21pR = v211R + v212R
387397
v21mR = v211R - v212R
388398
v21R = HALF * (v21pR + (v21mR**TWO + QModel%X21)**HALF)
@@ -423,7 +433,10 @@ SUBROUTINE EvalPot_QML_Phenol(QModel,Mat_OF_PotDia,dnQ,nderiv)
423433
!--------------------------------------------------------------------
424434
! for V(3,3): 3d diabatic state
425435
!write(out_unitp,*) 'morse:'
426-
v30R = QML_dnMorse(dnR,QModel%v30) + QModel%a30
436+
!v30R = QML_dnMorse(dnR,QModel%v30) + QModel%a30 ! with ifort19 this doesn't work, it has to be split
437+
v30R = QML_dnMorse(dnR,QModel%v30)
438+
v30R = v30R + QModel%a30
439+
427440
!CALL Write_dnMat(v30R,6)
428441
!write(out_unitp,*) 'sigmoid:'
429442
v31R = QML_dnSigmoid(dnR,QModel%v31)

makefile

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,8 @@ ExternalLibDIR=$(QML_path)/Ext_Lib
2929

3030
# AD_dnSVM Lib
3131
dnSVMLibDIR := $(ExternalLibDIR)/dnSVMLib
32-
dnSVMDIRLIB += -L$(dnSVMLibDIR)
33-
dnSVMLIB := -lAD_dnSVM
3432
dnSVMLibDIR_full := $(dnSVMLibDIR)/libAD_dnSVM.a
35-
dnSVMObjDIROld :=$(dnSVMLibDIR)/OBJ
36-
dnSVMObjDIRNew :=$(dnSVMLibDIR)/OBJ/obj_$(F90)_omp$(OMP)
33+
dnSVMObjDIR := $(dnSVMLibDIR)/OBJ/obj_$(F90)_omp$(OMP)
3734

3835
#===============================================================================
3936

@@ -111,6 +108,8 @@ ifeq ($(F90),nagfor)
111108
F90FLAGS = -O0 $(OMPFLAG) -g -C=all
112109
endif
113110
endif
111+
F90FLAGS0 := $(F90FLAGS)
112+
F90FLAGS += -I$(dnSVMObjDIR) # ok ?????
114113

115114
ifeq ($(LAPACK),1)
116115
F90LIB = -framework Accelerate
@@ -141,9 +140,12 @@ ifeq ($(F90),ifort)
141140
else
142141
F90FLAGS = -O0 $(OMPFLAG) -check all -g -traceback
143142
endif
143+
F90FLAGS0 := $(F90FLAGS)
144+
F90FLAGS += -I$(dnSVMObjDIR)
144145

145146
ifeq ($(LAPACK),1)
146-
F90LIB += -qmkl -lpthread
147+
#F90LIB += -qmkl -lpthread
148+
F90LIB += -mkl -lpthread
147149
else
148150
F90LIB += -lpthread
149151
endif
@@ -175,6 +177,8 @@ ifeq ($(F90),pgf90)
175177
else
176178
F90FLAGS = -O0 $(OMPFLAG) -Mallocatable=03 -Mbounds -Mchkstk -g
177179
endif
180+
F90FLAGS0 := $(F90FLAGS)
181+
F90FLAGS += -I$(dnSVMObjDIR)
178182

179183
ifeq ($(LAPACK),1)
180184
F90LIB += -lblas -llapack
@@ -222,11 +226,24 @@ endif
222226
#F90FLAGS = -O0 -fbounds-check -Wuninitialized
223227
F90FLAGS = -Og $(OMPFLAG) -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=all -fbacktrace
224228
endif
229+
F90FLAGS0 := $(F90FLAGS)
230+
F90FLAGS += -J$(dnSVMObjDIR)
225231

226232
F90_VER = $(shell $(F90) --version | head -1 )
227233

228234
endif
229235

236+
#=================================================================================
237+
# Directories
238+
#=================================================================================
239+
DIR0 = $(QML_path)
240+
DIROBJ = $(DIR0)/OBJ/obj$(ext_obj)
241+
$(shell [ -d $(DIROBJ) ] || mkdir -p $(DIROBJ))
242+
DIRSRC = $(DIR0)/SRC
243+
DIRLib = $(DIRSRC)/QMLLib
244+
DIRModel = $(DIRSRC)/QML
245+
DIRAdia = $(DIRSRC)/AdiaChannels
246+
DIROpt = $(DIRSRC)/Opt
230247
#=================================================================================
231248
#=================================================================================
232249
$(info ***********************************************************************)
@@ -237,8 +254,6 @@ $(info ***********OPTIMIZATION: $(OPT))
237254
$(info ***********OpenMP: $(OMPFLAG))
238255
$(info ***********Arpack: $(ARPACK))
239256
$(info ***********dnSVMLibDIR: $(dnSVMLibDIR))
240-
$(info ***********dnSVMLIB: $(dnSVMLIB))
241-
$(info ***********dnSVMDIRLIB: $(dnSVMDIRLIB))
242257
$(info ***********F90FLAGS: $(F90FLAGS))
243258
$(info ***********F90LIB: $(F90LIB))
244259
$(info ***********QML_ver: $(QML_ver))
@@ -249,7 +264,7 @@ CPPSHELL_QML = -D__COMPILE_DATE="\"$(shell date +"%a %e %b %Y - %H:%M:%S")\"" \
249264
-D__COMPILE_HOST="\"$(shell hostname -s)\"" \
250265
-D__COMPILER="'$(F90)'" \
251266
-D__COMPILER_VER="'$(F90_VER)'" \
252-
-D__COMPILER_OPT="'$(F90FLAGS)'" \
267+
-D__COMPILER_OPT="'$(F90FLAGS0)'" \
253268
-D__COMPILER_LIBS="'$(F90LIB)'" \
254269
-D__QMLPATH="'$(QML_path)'" \
255270
-D__QML_VER='"$(QML_ver)"'
@@ -271,14 +286,7 @@ ModLib = libpot.a #old name
271286
QMLibshort = QMLib$(ext_obj)
272287
QMLib = lib$(QMLibshort).a
273288

274-
DIR0 = $(QML_path)
275-
DIROBJ = $(DIR0)/OBJ/obj$(ext_obj)
276-
$(shell [ -d $(DIROBJ) ] || mkdir -p $(DIROBJ))
277-
DIRSRC = $(DIR0)/SRC
278-
DIRLib = $(DIRSRC)/QMLLib
279-
DIRModel = $(DIRSRC)/QML
280-
DIRAdia = $(DIRSRC)/AdiaChannels
281-
DIROpt = $(DIRSRC)/Opt
289+
282290

283291
LIBS := -L$(DIR0) -l$(QMLibshort) -L$(dnSVMLibDIR) -lAD_dnSVM$(ext_obj) $(F90LIB)
284292

@@ -550,8 +558,6 @@ dns dnS: $(dnSVMLibDIR) $(dnSVMLibDIR_full)
550558
#
551559
$(dnSVMLibDIR_full): $(dnSVMLibDIR)
552560
cd $(dnSVMLibDIR) ; export ExternalF90=$(F90) ; export ExternalOMP=$(OMP); export ExternalOPT=$(OPT) ; make lib
553-
cd $(dnSVMObjDIROld) ; cp $(dnSMODFILE) $(DIROBJ) | true
554-
cd $(dnSVMObjDIRNew) ; cp $(dnSMODFILE) $(DIROBJ)
555561
cp $(dnSVMLibDIR)/*.a $(DIR0)
556562
@echo "make AD_dnSVM library in QML"
557563
#

0 commit comments

Comments
 (0)