minimization in int works with FGPROCS>1
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Wed, 6 May 2015 10:58:40 +0000 (12:58 +0200)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Wed, 6 May 2015 10:58:40 +0000 (12:58 +0200)
(+some cleaning of debug print and MPICH2 as default in Makefile)

source/unres/src_MD/Makefile_MPICH_ifort
source/unres/src_MD/chainbuild.F
source/unres/src_MD/energy_p_new_barrier.F
source/unres/src_MD/minimize_p.F

index 8a07ff9..8c860d5 100644 (file)
@@ -1,5 +1,6 @@
 ###################################################################
-INSTALL_DIR = /users/software/mpich-1.2.7p1_intel-10.1_em64_ssh
+#INSTALL_DIR = /users/software/mpich-1.2.7p1_intel-10.1_em64_ssh
+INSTALL_DIR = /users/software/mpich2-1.4.1p1_intel
 
 
 FC= ifort
@@ -8,13 +9,13 @@ OPT =  -O3 -ip
 
 FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include 
 FFLAGS1 = -c  -g -CA -CB -I$(INSTALL_DIR)/include 
-FFLAGS2 = -c  -g -O0 -I$(INSTALL_DIR)/include  
+FFLAGS2 = -c  -O3  -I$(INSTALL_DIR)/include  
 FFLAGSE = -c  -O3 -ipo  -opt_report -I$(INSTALL_DIR)/include
 #FFLAGS = ${FFLAGS1}
 #FFLAGSE = ${FFLAGS1}
 
-
-LIBS = -L$(INSTALL_DIR)/lib -lmpich xdrf/libxdrf.a
+# -lmpl necessary in mpich
+LIBS = -L$(INSTALL_DIR)/lib -lmpich xdrf/libxdrf.a -lmpl -CB
 
 ARCH = LINUX
 PP = /lib/cpp -P
@@ -48,7 +49,7 @@ no_option:
 
 GAB: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
        -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
-GAB: BIN = ../../../bin/unres/MD/unres_ifort_MPICH_GAB.exe
+GAB: BIN = ../../../bin/unres/MD/unres_ifort_MPICH2_GAB.exe
 GAB: ${object} xdrf/libxdrf.a
        cc -o compinfo compinfo.c
        ./compinfo | true
@@ -57,7 +58,7 @@ GAB: ${object} xdrf/libxdrf.a
 
 4P: CPPFLAGS = -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
        -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
-4P: BIN = ../../../bin/unres/MD/unres_ifort_MPICH_4P.exe
+4P: BIN = ../../../bin/unres/MD/unres_ifort_MPICH2_4P.exe
 4P: ${object} xdrf/libxdrf.a
        cc -o compinfo compinfo.c
        ./compinfo | true
@@ -66,7 +67,7 @@ GAB: ${object} xdrf/libxdrf.a
 
 E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
        -DSPLITELE -DLANG0
-E0LL2Y: BIN = ../../../bin/unres/MD/unres_ifort_MPICH_E0LL2Y.exe
+E0LL2Y: BIN = ../../../bin/unres/MD/unres_ifort_MPICH2_E0LL2Y.exe
 E0LL2Y: ${object} xdrf/libxdrf.a
        cc -o compinfo compinfo.c
        ./compinfo | true
@@ -102,7 +103,7 @@ readpdb.o : readpdb.F
        ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb.F
 
 sumsld.o : sumsld.f
-       ${FC} ${FFLAGS2} ${CPPFLAGS} sumsld.f
+       ${FC} ${FFLAGS2} ${CPPFLAGS} -vec-report2   sumsld.f
         
 cored.o : cored.f
        ${FC} ${FFLAGS2} ${CPPFLAGS} cored.f
index 45a1a53..235db7f 100644 (file)
@@ -5,6 +5,11 @@ C As of 2/17/95.
 C
       implicit real*8 (a-h,o-z)
       include 'DIMENSIONS'
+#ifdef MPI
+      include 'mpif.h'
+      include 'COMMON.SETUP'
+      include 'COMMON.TIME1'
+#endif
       include 'COMMON.CHAIN'
       include 'COMMON.LOCAL'
       include 'COMMON.GEO'
@@ -15,6 +20,24 @@ C
       logical lprn
 C Set lprn=.true. for debugging
       lprn = .false.
+#ifdef MPI
+      if (nfgtasks.gt.1) then
+       time00=MPI_Wtime()
+       if (fg_rank.eq.0)
+     &    call MPI_Bcast(13,1,MPI_INTEGER,king,FG_COMM,IERROR)
+       time01=MPI_Wtime()
+       call MPI_Bcast(phi(1),nres,MPI_DOUBLE_PRECISION,
+     &    king,FG_COMM,IERR)
+       call MPI_Bcast(theta(1),nres,MPI_DOUBLE_PRECISION,
+     &    king,FG_COMM,IERR)
+       call MPI_Bcast(alph(1),nres,MPI_DOUBLE_PRECISION,
+     &    king,FG_COMM,IERR)
+       call MPI_Bcast(omeg(1),nres,MPI_DOUBLE_PRECISION,
+     &    king,FG_COMM,IERR)
+       time_bcast=time_bcast+MPI_Wtime()-time00
+       time_bcastc=time_bcastc+MPI_Wtime()-time01
+      endif
+#endif
 C
 C Define the origin and orientation of the coordinate system and locate the
 C first three CA's and SC(2).
index 9481003..3316a1f 100644 (file)
@@ -4862,8 +4862,8 @@ C
      & sinph1ph2(maxdouble,maxdouble)
       logical lprn /.false./, lprn1 /.false./
       etheta=0.0D0
-      write (iout,*) "EBEND ithet_start",ithet_start,
-     &     " ithet_end",ithet_end
+c      write (iout,*) "EBEND ithet_start",ithet_start,
+c     &     " ithet_end",ithet_end
       do i=ithet_start,ithet_end
         if ((itype(i-1).eq.ntyp1).or.(itype(i-2).eq.ntyp1).or.
      &(itype(i).eq.ntyp1)) cycle
index 14c8bd8..dbf9629 100644 (file)
@@ -242,6 +242,8 @@ c sum it over FG_COMM
           call MPI_Barrier(FG_COMM,IERR)
           call MPI_Reduce(e_tmp,ehomology_constr,1,
      &    MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR)
+        else if (iorder.eq.13) then
+          call chainbuild
         endif
       enddo
       write (*,*) 'Processor',fg_rank,' CG group',kolor,
@@ -281,7 +283,7 @@ cd    write (iout,*) 'ETOTAL called from FUNC'
       f=energia(0)
 c     if (jjj.gt.0) then
 c       write (iout,'(10f8.3)') (rad2deg*x(i),i=1,n)
-c       write (iout,*) 'f=',etot
+c       write (iout,*) 'f=',f
 c       jjj=0
 c     endif
       return