diff --git a/INSTALL b/INSTALL index c76ba9b869..5f71a4eda3 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ ==================================================== -$Id: INSTALL,v 1.39 2001-04-04 00:00:57 edo Exp $ +$Id: INSTALL,v 1.40 2001-10-31 21:10:13 windus Exp $ ---------------------------------------------------- GUIDE TO INSTALLING NWChem @@ -24,7 +24,7 @@ installation before beginning. The sections for this guide are GA Related Issues - only for people that want to try out the latest version of GA or are having problems with GA on their platform - Running on Fujitsu VPP - some notes on the Fujitsu system + Running on Fujitsu machines - some notes on the Fujitsu system Building and Running NWChem - system information for clusters on Myrinet clusters using Myrinet interconnect Building and Running NWChem - system information for clusters @@ -536,14 +536,15 @@ To compile the latest version of GA for NWChem, following these steps: the Basic Build Instructions. If they are not set, start with step 2. -RUNNING ON FUJITSU VPP 300/500/700/5000: ----------------------------------------- +RUNNING ON FUJITSU VPP 300/500/700/5000 and PrimePower/GP6000F: +--------------------------------------------------------------- For compilation on the Fujitsu VPP vector computers, native versions of the Global Arrays and related libraries have to be installed. These can be downloaded from ftp section of the Fujitsu European Centre for Information Technology website at http://www.fecit.co.uk/common/index.html. NWCHEM_TARGET should be set to -FUJITSU_VPP, and the environment variable GA_LIBDIR should point to the +FUJITSU_VPP for the vector machines and FUJITSU_SOLARIS for the PrimePower +machines, and the environment variable GA_LIBDIR should point to the directory where the GA libraries are installed. Enquiries about installation issues may be directed to Ross Nobes (nobes@fecit.co.uk) or Herbert Fruchtl (fruechtl@fecit.co.uk). diff --git a/src/config/makefile.h b/src/config/makefile.h index 13222fba9d..e7bf324422 100644 --- a/src/config/makefile.h +++ b/src/config/makefile.h @@ -1,5 +1,5 @@ # -# $Id: makefile.h,v 1.372 2001-09-23 02:51:27 d3e129 Exp $ +# $Id: makefile.h,v 1.373 2001-10-31 21:10:27 windus Exp $ # # Common definitions for all makefiles ... these can be overridden @@ -1393,6 +1393,67 @@ ifeq ($(TARGET),FUJITSU_VPP) -L$(GA_LIBDIR) -lglobal -lpario -lma \ -ltcgmsg-mpi -L/usr/lang/mpi2/lib32 -lmpi -lmp EXTRA_LIBS = -llapackvp -lblasvp -lsocket -Wl,-J,-P,-t,-dy +#end of FUJITSU_VPP +endif + +ifeq ($(TARGET),FUJITSU_SOLARIS) +# +# Fujitsu PrimePower / GP7000F (64-bit version) +# +# HAF Aug. 2001 +# +# requires binary Global Array libraries in $GA_LIBDIR +# download from www.fecit.co.uk or ftp.fecit.co.uk +# (libraries and "parallel" executable) +# + SHELL := $(NICE) /bin/sh + CPP = /lib/cpp + RANLIB = echo + MAKEFLAGS = -j2 --no-print-directory + INSTALL = echo $@ is built + CORE_SUBDIRS_EXTRA = blas lapack +# +# + CC = fcc + FC = frt + + COPTIONS = -Kdalign -KV9FMADD + COPTIMIZE = -Kfast -KV9FMADD + FOPTIONS = -Kdalign -w -fw -KV9FMADD -CcdII8 -CcdLL8 -X9 + FOPTIMIZE = -Kfast -KV9FMADD -CcdII8 -CcdLL8 + BLASOPT = yes + FDEBUG = + + DEFINES = -DNOAIO -DPARALLEL_DIAG -DEXTNAME -DFUJITSU_SOLARIS -DEXT_INT + LDOPTIONS = + LINK.f = $(FC) $(LDFLAGS) $(FOPTIONS) + + CORE_LIBS = -lutil \ + -L$(GA_LIBDIR) -lglobal -lpeigs -lpario -lma -ltcgmsg + + CORE_LIBS += -lsocket -lrpcsvc -lnsl + + #search include files for tools directories that are not built + LIB_INCLUDES += -I$(NWCHEM_TOP)/src/tools/include \ + -I$(NWCHEM_TOP)/src/tools/ma \ + -I$(NWCHEM_TOP)/src/tools/tcgmsg-mpi \ + -I$(NWCHEM_TOP)/src/tools/global/src \ + -I$(NWCHEM_TOP)/src/tools/pario/eaf \ + -I$(NWCHEM_TOP)/src/tools/pario/elio \ + -I$(NWCHEM_TOP)/src/tools/pario/sf \ + -I$(NWCHEM_TOP)/src/tools/pario/dra + + NW_CORE_SUBDIRS = include basis geom inp input \ + pstat rtdb task symmetry util peigs $(CORE_SUBDIRS_EXTRA) + +ifdef BLASOPT + CORE_LIBS += -llapack -lblas +else +# only available for 64-bit version + LDOPTIONS = -SSL2 +endif + +#end of Fujitsu Solaris endif #-do not use# ifeq ($(TARGET),PGLINUX) diff --git a/src/input/memory_def.F b/src/input/memory_def.F index db5693f610..7c417f3740 100644 --- a/src/input/memory_def.F +++ b/src/input/memory_def.F @@ -4,7 +4,7 @@ C memory_defaults -- Set default memory partition based on platform C and other factors C C REVISION -C $Id: memory_def.F,v 1.17 2000-10-20 20:08:42 edo Exp $ +C $Id: memory_def.F,v 1.18 2001-10-31 21:10:31 windus Exp $ C C SYNOPSIS Subroutine Memory_defaults(Total, TSource, Heap, HSource, @@ -61,7 +61,7 @@ C Parameter ( Total_Dflt = 11796480) ! 90 MB (linux) * Parameter ( Total_Dflt = 8388608) ! 64 MB (linux) * Parameter ( Total_Dflt = 4194304) ! 32 MB (linux) -#elif defined(SUN) || defined(SOLARIS) || defined(HPUX) +#elif defined(SUN) || defined(SOLARIS) || defined(HPUX) || defined(FUJITSU_SOLARIS) * Parameter ( Total_Dflt = 11796480) ! 90 MB on 128 MB node (sun or solaris) Parameter ( Total_Dflt = 26214400) ! 200 MB on 256 MB node(sun or solaris) #elif defined(CRAY_T3E) diff --git a/src/nwchem.F b/src/nwchem.F index 557380b16a..1946e7fee7 100644 --- a/src/nwchem.F +++ b/src/nwchem.F @@ -22,7 +22,7 @@ integer junk(4) #endif c -c $Id: nwchem.F,v 1.134 2001-08-22 23:09:28 edo Exp $ +c $Id: nwchem.F,v 1.135 2001-10-31 21:10:25 windus Exp $ *------------------------------------------------------------------* * COPYRIGHT (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 * * Pacific Northwest National Laboratory, * @@ -107,7 +107,7 @@ c 10001 continue c else -#if !(defined(KSR) || defined(IBM)) +#if !(defined(KSR) || defined(IBM) || defined(FUJITSU_SOLARIS)) close(LuIn) #endif endif diff --git a/src/nwpw/nwpwlib/pseudopotential/atom.c b/src/nwpw/nwpwlib/pseudopotential/atom.c index 94a66a6100..61a1c5ea08 100644 --- a/src/nwpw/nwpwlib/pseudopotential/atom.c +++ b/src/nwpw/nwpwlib/pseudopotential/atom.c @@ -1,9 +1,10 @@ /* atom.c - author - Eric Bylaska - + $Id: atom.c,v 1.2 2001-10-31 21:10:35 windus Exp $ */ #include +#include #include #include diff --git a/src/nwpw/nwpwlib/pseudopotential/psp.c b/src/nwpw/nwpwlib/pseudopotential/psp.c index 63b49d3646..b3d8c4b8ef 100644 --- a/src/nwpw/nwpwlib/pseudopotential/psp.c +++ b/src/nwpw/nwpwlib/pseudopotential/psp.c @@ -4,6 +4,7 @@ */ #include +#include #include #include diff --git a/src/nwpw/nwpwlib/pseudopotential/psp1d.c b/src/nwpw/nwpwlib/pseudopotential/psp1d.c index 7ba2751a0f..777d0588d4 100644 --- a/src/nwpw/nwpwlib/pseudopotential/psp1d.c +++ b/src/nwpw/nwpwlib/pseudopotential/psp1d.c @@ -1,9 +1,10 @@ /* psp.c - author - Eric Bylaska - + $Id: psp1d.c,v 1.2 2001-10-31 21:10:35 windus Exp $ */ #include +#include #include #include diff --git a/src/peigs/DEFS b/src/peigs/DEFS index f1794ac7a3..8d66a00552 100644 --- a/src/peigs/DEFS +++ b/src/peigs/DEFS @@ -1,5 +1,5 @@ # -# $Id: DEFS,v 1.89 2001-08-23 21:54:53 edo Exp $ +# $Id: DEFS,v 1.90 2001-10-31 21:10:38 windus Exp $ # #====================================================================== # @@ -552,6 +552,16 @@ ifeq ($(peigs_TARGET),FUJITSU_VPP) peigs_CPU = VPP endif +ifeq ($(peigs_TARGET),FUJITSU_SOLARIS) +peigs_CPU = SPARC_GP +peigs_COMM = TCGMSG +peigs_CODEOBJ = DBLE +peigs_CC += -DSTD_DBL -O -D$(peigs_CPU) +peigs_FC += -DSTD_DBL -dalign -D$(peigs_CPU) -D$(peigs_TARGET) -O4 -D$(peigs_COMM) +peigs_CPP += -DSTD_DBL -P +peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg +endif + export peigs_COMM export peigs_CC export peigs_FC diff --git a/src/peigs/DEFS.nwchem b/src/peigs/DEFS.nwchem index 7d5293c183..8567af5aa7 100644 --- a/src/peigs/DEFS.nwchem +++ b/src/peigs/DEFS.nwchem @@ -1,3 +1,6 @@ +# +# $Id: DEFS.nwchem,v 1.2 2001-10-31 21:10:38 windus Exp $ +# #====================================================================== # # DISCLAIMER @@ -449,6 +452,11 @@ ifeq ($(peigs_TARGET),FUJITSU_VPP) peigs_CPU = VPP endif +ifeq ($(peigs_TARGET),FUJITSU_SOLARIS) +peigs_CPU = SPARC_GP +peigs_CODEOBJ = DBLE +endif + export peigs_COMM export peigs_CC export peigs_FC diff --git a/src/peigs/h/blas_lapack.data b/src/peigs/h/blas_lapack.data index 279b88c49a..0f38192a67 100644 --- a/src/peigs/h/blas_lapack.data +++ b/src/peigs/h/blas_lapack.data @@ -1,5 +1,5 @@ * -* $Id: blas_lapack.data,v 1.12 2000-10-23 23:11:21 d3g270 Exp $ +* $Id: blas_lapack.data,v 1.13 2001-10-31 21:10:41 windus Exp $ * #if defined(DECOSF) || defined(LINUX64) double precision DLAMCHE, DLAMCHP, DLAMCHS, DLAMCHU, DLAMCHB @@ -128,6 +128,16 @@ data DLAMCHU/2.22507385850720138D-308/ #endif +#ifdef FUJITSU_SOLARIS + double precision DLAMCHE, DLAMCHP, DLAMCHS, DLAMCHU, DLAMCHB + real SLAMCHE, SLAMCHP, SLAMCHS, SLAMCHU, SLAMCHB + data DLAMCHE/1.1102230246251565D-16/ + data DLAMCHP/1.1102230246251565D-16/ + data DLAMCHB/2.D0/ + data DLAMCHS/2.2250738585072014D-308/ + data DLAMCHU/2.22507385850720138D-308/ +#endif + #ifdef KSR double precision DLAMCHE, DLAMCHP, DLAMCHS, DLAMCHU, DLAMCHB real SLAMCHE, SLAMCHP, SLAMCHS, SLAMCHU, SLAMCHB diff --git a/src/peigs/h/blas_lapack.h b/src/peigs/h/blas_lapack.h index 45c9bcb589..c3c6be6a76 100644 --- a/src/peigs/h/blas_lapack.h +++ b/src/peigs/h/blas_lapack.h @@ -1,5 +1,5 @@ /* - $Id: blas_lapack.h,v 1.20 2000-10-24 18:52:12 d3g270 Exp $ + $Id: blas_lapack.h,v 1.21 2001-10-31 21:10:41 windus Exp $ c defines */ #define NO_EVEC 0 @@ -207,6 +207,16 @@ #endif + +#ifdef FUJITSU_SOLARIS + +#define DLAMCHE 2.2204460492503131E-16 +#define DLAMCHP 2.2204460492503131E-16 +#define DLAMCHB 2.0000000000000000E+00 +#define DLAMCHS 2.2250738585072014E-308 +#define DLAMCHU 2.2250738585072014E-308 +#endif + #ifdef KSR #define DLAMCHE 1.1102230246251565E-16 diff --git a/src/util/util_cpusec.F b/src/util/util_cpusec.F index 765af9e988..54d9b10837 100644 --- a/src/util/util_cpusec.F +++ b/src/util/util_cpusec.F @@ -1,6 +1,6 @@ double precision function util_cpusec() implicit none -c $Id: util_cpusec.F,v 1.19 2001-08-22 22:50:15 edo Exp $ +c $Id: util_cpusec.F,v 1.20 2001-10-31 21:10:43 windus Exp $ * * routine to give cpu seconds since start of execution * delta times are handled by all applications @@ -97,6 +97,14 @@ c c util_cpusec = secondr() - first ! Actually wall time #endif + +#if defined(FUJITSU_SOLARIS) +#define __UTIL_CPUSEC__ + intrinsic cpu_time +c + call cpu_time (util_cpusec) +#endif + * #if !defined(__UTIL_CPUSEC__) util_cpusec = 0.0d00 diff --git a/src/util/util_wallsec.F b/src/util/util_wallsec.F index 3ff3a19bc5..f6d3777edf 100644 --- a/src/util/util_wallsec.F +++ b/src/util/util_wallsec.F @@ -1,6 +1,6 @@ double precision function util_wallsec() implicit none -c $Id: util_wallsec.F,v 1.4 1998-01-30 16:35:33 vg038 Exp $ +c $Id: util_wallsec.F,v 1.5 2001-10-31 21:10:43 windus Exp $ * * routine to give wall clock seconds since start of execution * delta times are handled by all applications @@ -20,7 +20,7 @@ c $Id: util_wallsec.F,v 1.4 1998-01-30 16:35:33 vg038 Exp $ real all_seconds external all_seconds util_wallsec = all_seconds() -#elif defined(SUN) || defined(SGI) || defined(SGITFP) || defined(SOLARIS) || defined(FUJITSU_VPP) +#elif defined(SUN) || defined(SGI) || defined(SGITFP) || defined(SOLARIS) || defined(FUJITSU_VPP) || defined(FUJITSU_SOLARIS) integer time external time util_wallsec = dble(time())