**** bugfix.27 Author: SGI Date: July,6,1998 Severity: moderate Workarounds: none Synopsis: various changes made to amber (additive) didn't get added to the non-additive sections. Fix: Apply the following patches: *** dynlib-old.f Mon Jul 6 14:55:30 1998 --- dynlib.f Mon Jul 6 15:04:03 1998 *************** *** 411,418 **** C #ifdef CRAY_MP EKCMLx(1,n) = TMN*VCM(1)*VCM(1) ! EKCMLx(2,n) = TMN*VCM(2)*VCM(1) ! EKCMLx(3,n) = TMN*VCM(3)*VCM(1) 900 CONTINUE cmic$ end do cmic$ end parallel --- 411,418 ---- C #ifdef CRAY_MP EKCMLx(1,n) = TMN*VCM(1)*VCM(1) ! ! EKCMLx(2,n) = TMN*VCM(2)*VCM(1) ! ! EKCMLx(3,n) = TMN*VCM(3)*VCM(1) 900 CONTINUE cmic$ end do cmic$ end parallel *** efield-old.f Mon Jun 15 14:42:49 1998 --- efield.f Mon Jul 6 14:32:16 1998 *************** *** 31,37 **** --- 31,41 ---- c #include "box.h" c + #ifdef CRAY_MP + DIMENSION C(3,*),EPER(3,*),Q(*),IARA(3,*),IARB(*),XWIJ(3,*),R2(*) + #else DIMENSION C(3,*),EPER(3,*),Q(*),IARA(2,*),IARB(*),XWIJ(3,*),R2(*) + #endif dimension n14(*),ni14(15,*),iarx(*),fw(3,*),jpw(*) dimension mark(natom) c *************** *** 44,49 **** --- 48,56 ---- DO 400 I = 1,NATOM-1 npr1 = (iara(1,i) + iara(2,i)) npr2 = n14(i) + #ifdef CRAY_MP + lpack = IARA(3,i) + #endif npr = npr1 + npr2 #ifdef CRAYFISH npack = 1 *** ew_setup-old.f Mon Jul 6 15:17:48 1998 --- ew_setup.f Mon Jul 6 15:19:19 1998 *************** *** 1370,1375 **** --- 1370,1378 ---- subroutine start_numtasks() implicit none # include "ew_numtasks.h" + #ifdef CRAY_MP + integer ncpu + #endif #ifdef MPI # include "parallel.h" #endif *************** *** 1387,1392 **** --- 1390,1399 ---- enumtasks = 1 # endif #endif + #ifdef CRAY_MP + enumtasks = ncpu() + #endif + return end *** indip-old.f Mon Jul 6 14:38:22 1998 --- indip.f Mon Jul 6 14:40:05 1998 *************** *** 36,42 **** --- 36,46 ---- c dimension n14(*),ni14(15,*),iarx(*),jpw(*) DIMENSION C(3,*),EOLD(3,*),ENEW(3,*),Q(*),POL(*),EPER(3,*) + #ifdef CRAY_MP + DIMENSION IARA(3,*),IARB(*),XWIJ(3,*),R2(*),mark(*),fw(3,*) + #else DIMENSION IARA(2,*),IARB(*),XWIJ(3,*),R2(*),mark(*),fw(3,*) + #endif C C ----- CALCULATE THE INDUCED POLARIZATION TERM ----- C *************** *** 59,64 **** --- 63,72 ---- npr1 = (iara(1,i) + iara(2,i)) npr2 = n14(i) npr = npr1 + npr2 + #ifdef CRAY_MP + lpack = IARA(3,i) + #endif + #ifdef CRAYFISH npack = 1 #endif *** polder-old.f Mon Jul 6 14:41:01 1998 --- polder.f Mon Jul 6 14:43:09 1998 *************** *** 28,34 **** --- 28,38 ---- real ipairs #define CRAYFISH = 1 #endif + #ifdef CRAY_MP + dimension x(3,*),f(3,*),p(3,*),q(*),iara(3,*),ipairs(*) + #else dimension x(3,*),f(3,*),p(3,*),q(*),iara(2,*),ipairs(*) + #endif $ ,fw(3,*),xij(3,*),r2(*),vt(4),xrc(3,*) $ ,n14(*),ni14(15,*),iarx(*),mark(*),jpw(*) #include "box.h" *************** *** 59,64 **** --- 63,71 ---- lim = natom - 1 do 500 i = 1,lim qi = q(i) + #ifdef CRAY_MP + lpack = IARA(3,i) + #endif npr1 = (iara(1,i) + iara(2,i)) npr2 = n14(i) npr = npr1 + npr2 *** politr-old.f Mon Jul 6 14:43:37 1998 --- politr.f Mon Jul 6 14:44:33 1998 *************** *** 49,55 **** --- 49,59 ---- C DIMENSION C(3,*),f(3,*),EOLD(3,*),ENEW(3,*),EPER(3,*), + Q(*),POL(*) + #ifdef CRAY_MP + DIMENSION IARA(3,*),ipairs(*),XWIJ(*),R2(*),ipres(*) + #else DIMENSION IARA(2,*),ipairs(*),XWIJ(*),R2(*),ipres(*) + #endif dimension n14(*),ni14(15,*),iarx(*),mark(*),jpw(*),fw(3,*) C ZERO = 0.0d0 *** resnbamp-old.f Mon Jul 6 15:27:38 1998 --- resnbamp.f Mon Jun 15 14:41:17 1998 *************** *** 408,414 **** do ir = 0, nres-1, ncpu cmic$ parallel autoscope cmic$*private(ip1,ip2,npr,it_off,npack) ! cmic$*shared(iar1,ipairs,iprtmp,nbit,ip,lpack) cmic$ do parallel do icpu = 1,ncpu ii = ir + icpu --- 408,414 ---- do ir = 0, nres-1, ncpu cmic$ parallel autoscope cmic$*private(ip1,ip2,npr,it_off,npack) ! cmic$*shared(iar1,ipairs,iprtmp,nbit,ip,lpack,itmp) cmic$ do parallel do icpu = 1,ncpu ii = ir + icpu *** tripl-old.f Mon Jul 6 14:44:55 1998 --- tripl.f Mon Jul 6 14:54:45 1998 *************** *** 35,42 **** c necessarily be in ascending order due to the seperation c of 6-12 and 10-12 lists c ! dimension iar1(2,natom),ipairs(1),itrp(3,nt_lim),ityp(natom) dimension ix1(5000),ix2(5000) c c iar1 = number of pairs for each atom (iar1(1,i) regular pairs --- 35,45 ---- c necessarily be in ascending order due to the seperation c of 6-12 and 10-12 lists c ! #ifdef CRAY_MP ! dimension iar1(3,natom),ipairs(1),itrp(3,nt_lim),ityp(natom) ! #else dimension iar1(2,natom),ipairs(1),itrp(3,nt_lim),ityp(natom) + #endif dimension ix1(5000),ix2(5000) c c iar1 = number of pairs for each atom (iar1(1,i) regular pairs *************** *** 70,75 **** --- 73,81 ---- do 100 i = 1,limi ipr = iar1(1,i) + iar1(2,i) if(ipr.eq.0) go to 100 + #ifdef CRAY_MP + lpack1 = IAR1(3,i) + #endif c #ifdef CRAYFISH NPACK = ipr/NUMPK+1 *************** *** 105,110 **** --- 111,119 ---- joff = joff + jtemp lpack2 = lpack2 + (jtemp/numpk + 1) 30 continue + #ifdef CRAY_MP + lpack2 = IAR1(3,j-1) + #endif c #ifdef CRAYFISH NPACK = jpr/NUMPK+1