From: Cezary Czaplewski Date: Thu, 28 Jan 2016 15:56:14 +0000 (+0100) Subject: wham with mpich2 (no aliasing) and new dimenstions X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=commitdiff_plain;h=b5c5898457e275fa46ddaf17c33dc520491cc74f;p=unres.git wham with mpich2 (no aliasing) and new dimenstions --- diff --git a/source/cluster/wham/src/DIMENSIONS b/source/cluster/wham/src/DIMENSIONS index 31da998..03af0c6 100644 --- a/source/cluster/wham/src/DIMENSIONS +++ b/source/cluster/wham/src/DIMENSIONS @@ -9,7 +9,7 @@ C Max. number of processors. parameter (maxprocs=16) C Max. number of AA residues integer maxres,maxres2 - parameter (maxres=650) + parameter (maxres=350) C Appr. max. number of interaction sites parameter (maxres2=2*maxres) C Max. number of variables diff --git a/source/cluster/wham/src/main_clust.F b/source/cluster/wham/src/main_clust.F index b5124ac..810dcae 100644 --- a/source/cluster/wham/src/main_clust.F +++ b/source/cluster/wham/src/main_clust.F @@ -36,6 +36,7 @@ C integer i,j,k,l,m,n,len,lev,idum,ii,ind,ioffset,jj,icut,ncon, & it,ncon_work,ind1,ilen double precision t1,t2,tcpu,difconf + real diss_(maxdist) double precision varia(maxvar) double precision hrtime,mintime,sectime @@ -146,7 +147,11 @@ C if (ind.ge.indstart(me) .and. ind.le.indend(me)) then #endif ind1=ind1+1 +#ifdef MPI + DISS_(IND1)=DIFCONF(I,J) +#else DISS(IND1)=DIFCONF(I,J) +#endif c write (iout,'(2i4,i10,f10.5)') i,j,ind,DISS(IND) #ifdef MPI endif @@ -160,7 +165,7 @@ c write (iout,'(2i4,i10,f10.5)') i,j,ind,DISS(IND) PRINT '(a)','End of distance computation' #ifdef MPI - call MPI_Gatherv(diss(1),scount(me),MPI_REAL,diss(1), + call MPI_Gatherv(diss_(1),scount(me),MPI_REAL,diss(1), & scount(0),idispl(0),MPI_REAL,Master,MPI_COMM_WORLD, IERROR) if (me.eq.master) then #endif diff --git a/source/cluster/wham/src/probabl.F b/source/cluster/wham/src/probabl.F index da1bf5c..2f34f61 100644 --- a/source/cluster/wham/src/probabl.F +++ b/source/cluster/wham/src/probabl.F @@ -31,8 +31,9 @@ character*5 ctemper integer ilen external ilen - real*4 Fdimless(maxconf) + real*4 Fdimless(maxconf),Fdimless_(maxconf) double precision energia(0:max_ene) + double precision totfree_(maxconf),entfac_(maxconf) do i=1,ncon list_conf(i)=i enddo @@ -193,8 +194,13 @@ cc if (wcorr6.eq.0) ecorr6=0.0d0 & +wdfa_tor*edfator+wdfa_nei*edfanei+wdfa_beta*edfabet & +wbond*estr+ehomology_constr #endif +#ifdef MPI + Fdimless_(i)=beta_h(ib)*etot+entfac(ii) + totfree_(i)=etot +#else Fdimless(i)=beta_h(ib)*etot+entfac(ii) totfree(i)=etot +#endif #ifdef DEBUG write (iout,*) "etrop", i,ii,ib, @@ -203,19 +209,22 @@ cc if (wcorr6.eq.0) ecorr6=0.0d0 #endif enddo ! i #ifdef MPI - call MPI_Gatherv(Fdimless(1),scount(me), + call MPI_Gatherv(Fdimless_(1),scount(me), & MPI_REAL,Fdimless(1), & scount(0),idispl(0),MPI_REAL,Master, & MPI_COMM_WORLD, IERROR) - call MPI_Gatherv(totfree(1),scount(me), + call MPI_Gatherv(totfree_(1),scount(me), & MPI_DOUBLE_PRECISION,totfree(1), & scount(0),idispl(0),MPI_DOUBLE_PRECISION,Master, & MPI_COMM_WORLD, IERROR) call MPI_Gatherv(entfac(indstart(me)+1),scount(me), - & MPI_DOUBLE_PRECISION,entfac(1), + & MPI_DOUBLE_PRECISION,entfac_(1), & scount(0),idispl(0),MPI_DOUBLE_PRECISION,Master, & MPI_COMM_WORLD, IERROR) if (me.eq.Master) then + do i=1,ncon + entfac(i)=entfac_(i) + enddo #endif #ifdef DEBUG write (iout,*) "The FDIMLESS array before sorting" diff --git a/source/cluster/wham/src/sizesclu.dat b/source/cluster/wham/src/sizesclu.dat index 531d2f7..2b23a71 100644 --- a/source/cluster/wham/src/sizesclu.dat +++ b/source/cluster/wham/src/sizesclu.dat @@ -5,7 +5,7 @@ * Max. number of conformations in the data set. * integer maxconf,maxstr_proc - PARAMETER (MAXCONF=10000) + PARAMETER (MAXCONF=15000) parameter (maxstr_proc=maxconf/2) * * Max. number of "distances" between conformations. diff --git a/source/cluster/wham/src/wrtclust.f b/source/cluster/wham/src/wrtclust.f index 8303f0c..6012b05 100644 --- a/source/cluster/wham/src/wrtclust.f +++ b/source/cluster/wham/src/wrtclust.f @@ -263,9 +263,9 @@ c create InsightII command file for their displaying in different colors 200 FORMAT (/'FAMILY ',I4,' WITH TOTAL FREE ENERGY',1pE15.5, & ' CONTAINS ',I4,' CONFORMATION(S): ') c 300 FORMAT ( 8(I4,F6.1)) - 300 FORMAT (5(I4,1pe12.3)) + 300 FORMAT (5(I6,1pe12.3)) 400 FORMAT (//'ASSIGNMENT OF CONSECUTIVE CONFORMATIONS TO FAMILIES:') - 500 FORMAT (8(2I4,2X)) + 500 FORMAT (8(I6,I4,2X)) 600 FORMAT ('REMARK FAMILY',I4,' CONFORMATION',I4,' ENERGY ',E15.6) RETURN END