diff --git a/.gitattributes b/.gitattributes index 61a34c9..204cb7a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,6 +3,7 @@ /COPYING -text /ChangeLog -text /GNUmakefile.orig -text +/INSTALL -text /Makefile.am -text /Makefile.orig -text /NEWS -text diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..eefb23e --- /dev/null +++ b/INSTALL @@ -0,0 +1,437 @@ +============================================================================== +README file for H5Part configure +============================================================================== + ++ 0. HDF5 library +----------------- + +Make sure you have a working version of the HDF5 library installed. If you plan +to use parallel I/O you need to use a parallel HDF5 version. Source files and +installation instructions are available from the HDF5 website: + +http://www.hdfgroup.org/HDF5/ + + ++ 1. Quick start (If you feel lucky...) +---------------------------------------- + +For many platforms, where compilers are installed in the "default" location +and all the environment variables are set correctly, it should be sufficient +to type: + +./configure [OPTIONS] && make [install] + +to have the libraries and test program compiled. + + ++ 2. Configure line options +---------------------------- + +To view a full list of configure option, use: + +./configure --help + +(1) Enable options +--enable-fortran +--enable-parallel +--enable-tools +--enable-python +--enable-64 (only for AIX and Irix) + +(2) Setting compilers related variables manually +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE before running configure. For example, if you are using the bash +shell, you might type: + +export CC=gcc + +to set the default C compiler. See below for descriptions of some useful +variables. + +Compiler environment variables: + CC C compiler command + CXX C++ compiler command + FC Fortran compiler command + MPICC MPI-enabled C compiler command + MPICXX MPI-enabled C++ compiler command + MPIFC MPI-enabled Fortran compiler command + CFLAGS flags to append when invoking the C compiler + +Library environment variables: + LDFLAGS flags to append when invoking the linker + +(3) Setting prefix for installation manually (by default, the package will +install itself in the 'build' subdirectory of your source directory) +--prefix=PREFIX install files in PREFIX + + ++ 3. Platform specific settings for compiling libraries & test programs +------------------------------------------------------------------------ + +Building + make : builds the libraries and test programs + make install: builds and installs + make clean : removes extraneous object files + make distclean : returns configuration to unconfigured state + +As tested on hosts: + +(0) Franklin (CNL - Cray XT4) +-------------------------------------------------- + +module add hdf5_par +module add zlib +module add szip +export CC=cc CXX=CC FC=ftn MPICC=cc MPICXX=CC MPIFC=ftn +export LDFLAGS=$HDF5 +./configure --enable-fortran --enable-parallel --with-hdf5path=$HDF5_PAR_DIR --with-mpiposix +make install + + +(1) Davinci (Linux"SUSE"-ia64) +--------------------------------------------------- +FIRST THING FIRST!! Type: + +module load intel +to have the proper compilers set up for use. + +module load hdf5_par + +[NOTE: module load hdf5 does not work at this moment. +Possible installation error of HDF5 on Davinci.] + + +Brief profile: +CC = icc +CXX = icc +FC = ifort +MPICC = icc +MPICXX = icc +MPIFC = ifort + +If default doesn't work, try: + +For C shell: +env CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure && make install + +For Korn or Bourne shell: +CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure && make install + +And, of course, you should add configure options, such as --enable-fortran --enable-parallel. + + +On this host, executing: + +For C shell: +env CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure --enable-fortran --enable-parallel && make install + +For Korn or Bourne shell: +CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure --enable-fortran --enable-parallel && make install + +has functioned correctly. + + +To run test program, go to test directory: + +(i) Serial test +run: +./H5testF +./H5PartTest + +(ii) Parallel test +run: +mpirun 2 H5testFpar +mpirun 2 H5PartTestP + +NOTE: Number 2 above is a arbitrary number that indicates the number of processes. + + + + + +(2) Jacquard (Linux"SUSE"-x86_64) +------------------------------------------------------- +Brief profile: +CC = pathcc +CXX = pathCC +FC = pathf90 +MPICC = mpicc +MPICXX = mpicxx +MPIFC = mpif90 + + + +If default doesn't work, try: + +For C shell: +env CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure && make install + +For Korn or Bourne shell: +CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure && make install + +And, of course, you should add configure options, such as --enable-fortran --enable-parallel. + + + +On this host, executing: + +For C shell: +env CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure --enable-fortran --enable-parallel && make install + +For Korn or Bourne shell: +CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure --enable-fortran --enable-parallel && make install + +has functioned correctly. + + + +To run test program, go to test directory: + +(i) Serial test +run: +./H5testF +./H5PartTest + +(ii) Parallel test +In Jacquard, we need a script to run parallel programs, since Jacquard does not support interactive parallel processing. Instead, we need to submit the task to a queue. A sample script (run_H5testFpar.scr) may look like below: + ++++++++++++++++++++++++++++++++++++++++ +#!/bin/csh +#PBS -l nodes=1:ppn=2,walltime=00:05:00 +#PBS -N H5testFpar +#PBS -o H5testFpar.out +#PBS -e H5testFpar.err +#PBS -q debug +#PBS -A mpccc +#PBS -V + +setenv PBS_OWORKDIR /home/H5Part/test + +cd $PBS_O_WORKDIR +mpirun -np 2 ./H5testFpar ++++++++++++++++++++++++++++++++++++++++ + +Then, we need to submit the task to a queue by running: + +qsub run_H5testFpar.scr + +After processed, the result will appear in H5testFpar.out, and error messages will appear in H5testFpar.err. + + + + + +(3) Bassi (AIX5.3.0.0-Power 3) +------------------------------------------------- +FIRST THING FIRST!! Type: + +module load gcc + +to have the proper compilers set up for use. + +Brief profile: +CC = cc_r +CXX = cc_r +FC = xlf_r +MPICC = mpcc_r +MPICXX = mpcc_r +MPIFC = mpxlf_r + + + +If default doesn't work, try: + +For C shell: +env CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure && make install + +For Korn or Bourne shell: +CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure && make install + +And, of course, you should add configure options, such as --enable-fortran --enable-parallel. + + + +On this host, executing: + +For C shell: +env CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure --enable-fortran --enable-parallel && make install + +For Korn or Bourne shell: +CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure --enable-fortran --enable-parallel && make install + +has functioned correctly. + + + +To run test program, go to test directory: + +(i) Serial test +run: +./H5testF +./H5PartTest + +(ii) Parallel test +run: +unsetenv MP_SINGLE_THREAD +poe ./H5PartTestP -procs 2 -nodes 1 +poe ./H5testFpar -procs 2 -nodes 1 + +For more details on how to run parallel programs on Bassi, go to: + +http://www.nersc.gov/nusers/resources/bassi/running_jobs/ + + + + + +(4) Starsky (Darwin8.5.0-PowerPC) +---------------------------------------------------- +FIRST THING FIRST!! Set environment variables: (in tcsh) + +setenv LD_LIBRARY_PATH /usr/local/g95/lib/gcc-lib/powerpc-apple-darwin8.5.0/4.0.3/ +setenv PATH ${PATH}:/usr/local/g95/bin + +NOTE: This environment variable setting is specifit to Starsky. It is to make configure find the fortran compiler. + +Brief profile: +CC = gcc +CXX = g++ +FC = g95 + + + +If default doesn't work, try: + +For C shell: +env CC=gcc CXX=g++ FC=g95 ./configure && make install + +For Korn or Bourne shell: +CC=gcc CXX=g++ FC=g95 ./configure && make install + +And, of course, you should add configure options, such as --enable-fortran --enable-parallel. + + + +On this host, executing: + +For C shell: +env CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install + +For Korn or Bourne shell: +CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install + +has functioned correctly. + + + +To run test program, go to test directory: + +(i) Serial test +run: +./H5testF +./H5PartTest + + + + + +(5) Linux AMD64 Visualization group workstations (Linux"SUSE"-x86_64) +--------------------------------------------------------- +Brief profile: +CC = gcc +CXX = g++ +FC = g95 + + + +If default doesn't work, try: + +For C shell: +env CC=gcc CXX=g++ FC=g95 ./configure && make install + +For Korn or Bourne shell: +CC=gcc CXX=g++ FC=g95 ./configure && make install + +And, of course, you should add configure options, such as --enable-fortran --enable-parallel. + + + +On this host, executing: + +For C shell: +env CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install + +For Korn or Bourne shell: +CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install + +has functioned correctly. + + + +To run test program, go to test directory: + +(i) Serial test +run: +./H5testF +./H5PartTest + + +(6) Cray XT3 @ CSCS gele + + 1) modules/3.1.6 9) PrgEnv-pgi/1.4.26 17) xt-lustre-ss/1.4.26 + 2) MySQL/4.0.26 10) xt-pbs/5.3.4 18) Base-opts/1.4.26 + 3) acml/3.0 11) xt-service/1.4.26 19) subversion/1.3.2 + 4) pgi/6.1.4 12) xt-libc/1.4.26 20) zlib/1.2.3 + 5) totalview/7.2.0 13) xt-os/1.4.26 21) szip/2.0 + 6) xt-libsci/1.4.26 14) xt-catamount/1.4.26 22) hdf5/1.6.5 + 7) xt-mpt/1.4.26 15) xt-boot/1.4.26 + 8) xt-pe/1.4.26 16) xt-crms/1.4.26 + + +CFLAGS="-I$H5HOME/include -DF77_SINGLE_UNDERSCORE" LDFLAGS="-L$H5HOME/lib -L$ZHOME/lib" ./configure --enable-parallel --enable-fortran + + +(7) merlin00 / merlin3 + +Currently Loaded Modulefiles: + 1) hdf5/hdf5-1.6.5 2) root/root-5.10.00 3) mpi/mpich2-1.0.3-pgi-6.1 4) pgi/pgi_64-6.1 + +FC=mpif90 ./configure --enable-parallel --enable-fortran + + + + +============================================================================== + + ++ 4. Trouble shooting (Things to check for...) +-------------------------------------------- +(0) Have you set the LD_LIBRARY_PATH? +---Some systems require the user to manually set the environment variable, LD_LIBRARY_PATH. To do so: + +set the environment variable HDF5ROOT or PHDF5ROOT to point to your installation of HDF5 (serial and/or parallel respectively). + +For Korn or Bourne shell: + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5ROOT}/lib;export LD_LIBRARY_PATH + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:{PHDF5ROOT}/lib;export LD_LIBRARY_PATH + +For C shell: + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HDF5ROOT}/lib + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${PHDF5ROOT}/lib + +Note that the values of HDF5ROOT & PHDF5ROOT will be in the "summary" section when you run configure. + +Not properly set LD_LIBRARY_PATH value may result in a runtime error: + +./H5PartTest: error while loading shared libraries: libhdf5.so.0: cannot open shared object file: No such file or directory + +(1) Are the compilers set correctly? +---Check with: which COMPILER + +(2) Have you installed HDF5? +---You can get it at: http://vis.lbl.gov/Research/AcceleratorSAPP/index.html + +(3) Have you loaded the proper modules? +---It is necessary in Davinci & Bassi, and configure && make install may not work without it. + +