NOTES: There are two things that need to be done to compile. you can either do them manually as described here or use the build script 'build_v2' in the root directory. (Note that that needs to be edited as well.) #1: When compiling, make sure that the FFLAGS can CFLAGS environmental variables are set up to require pre-processing and default to 64 bit (KIND=8) INTEGERS and REALS. If using an 'sh' derivative, this is done by running commands similar to the following: prompt$ FFLAGS="-r8 -i8 -cpp"; CFLAGS="" prompt$ export FFLAGS CFLAGS in 'csh' derivatives, this is accomplished by something like: prompt% setenv FFLAGS "-r8 -i8 -cpp" prompt% setenv CFLAGS "" of course, the actual values inside the CFLAGS and FFLAGS variables will vary depending on your architecture/compiler. **** IT IS VITALLY IMPORTANT THAT THESE FLAGS ARE SET WHILE COMPILING **** OR MOST BENCHMARKS WILL NOT WORK CORRECTLY. Some examples of what they need to be set to for common architectures: Cray MPP+PVP: FFLAGS="-eZ -F", CFLAGS="" (CF90 v3.2) DEC Alpha: FFLAGS="-r8 -i8 -cpp", CFLAGS="" (DECFortran90) HP-UX: FFLAGS="+autodbl +save -R8", CFLAGS="+DD64" (HP Fortran90 v2) #2: Make sure you have edited the ../utility/util.f file to reflect your architecture. This file contains all the architecture specific and machine specific portions of code, and if not customized for your machine, programs will most probably not compile or run correctly. Instructions on what each parameter and function does are in the file itself. For further convenience, several example "util.f" files are supplied which are tailored for specific machines, and are in the ../utility/ directory. Pay special attention to "util.hpux.f" to see how to handle compiling with a compiler that does not support the POPCNT or LEADZ intrinsic functions. ---- john.c 7/99