Serial (OpenMP only)
- Download the publicly available version WARP3D 17.5.8 to Oakley
- Extract the tarball
$ tar xzf warp3d_distribution_17.5.8.tar.gz
- Go into the extracted directory and set the
$WARP3D_HOME
environment variable
$ cd warp3d_distribution_17.5.8
$ export WARP3D_HOME=$PWD
- Add necessary modules and libraries
$ module load intel/14.0.0.080
Note, this should swap the currently loaded intel compiler libraries (as of writing this --- intel/12.1.4.319) with intel/14.0.0.080.
- Go into the
src
directory and runMakewarp.bash
. Then follow the interactive prompt
$ cd $WARP3D_HOME/src
$ ./Makewarp.bash
** Driver shell script to build WARP3D on Linux and Mac OS X **
Select supported platform:
1) Linux (64-bit) 3) Windows (7,8)
2) Mac OS X (10.9.x) 4) Exit
Select choice: 1
Compile OpenMP-only version or hybrid (MPI/OpenMP) version?
1) OpenMP
2) Hybrid
3) Exit
Select choice: 1
Simple (defaults, no prompts) or advanced (prompt) mode?
1) Simple
2) Advanced
3) Help
4) Exit
Select choice: 1
... Setting default options & performing checks to
... ensure your system and the WARP3D directories
... are configured correctly.
> MPI source code already uninstalled...
> hypre source code already uninstalled...
>> Building filter program...
Number of concurrent compile processes allowed? (default 1): 1
... Starting make program for Linux ....
- If all goes well, the executable should be located at
../run_linux_em64t/warp3d.omp
. Finally, copy the executable to any directory you would like.
$ cd $WARP3D_HOME/run_linux_em64t
$ cp warp3d.omp ~/bin/.
Parallel (OpenMP + MPI)
Repeat all the steps for the Serial build except where otherwise noted.
- ...
- ...
- ...
- ...
- If you haven't already, you will need to compile hypre-2.9.0b and metis-4.0
$ cd $WARP3D_HOME/linux_packages/source/hypre-2.9.0b
Edit the make_hypre
script with proper compilers
# $WARP3D_HOME/linux_packages/source/hypre-2.9.0b/make_hypre
...
MCC=mpicc
MCX=mpicxx
MFT=mpif90
...
You can ignore the -m
warnings. Then continue with building...
$ ./make_hypre
$ cd $WARP3D_HOME/linux_packages/source/metis-4.0
$ ./compile_metis
Input C compiler (CC)
Default: gcc
: icc
Now compile WARP3D.
$ cd $WARP3D_HOME/src
$ ./Makewarp.bash
** Driver shell script to build WARP3D on Linux and Mac OS X **
Select supported platform:
1) Linux (64-bit) 3) Windows (7,8)
2) Mac OS X (10.9.x) 4) Exit
Select choice: 1
Compile OpenMP-only version or hybrid (MPI/OpenMP) version?
1) OpenMP
2) Hybrid
3) Exit
Select choice: 2
Simple (defaults, no prompts) or advanced (prompt) mode?
1) Simple
2) Advanced
3) Help
4) Exit
Select choice: 2
In the following prompts enter the values you want for each setting.
If you leave a line blank the value will be set to the default.
Note: these values will not be checked for correctness as in the simple mode.
Fortran compiler
Default: mpiifort
: mpif90
hypre root directory
Default: /nfs/17/jnicklas/dev/warp3d_distribution_17.5.8/linux_packages
:
> MPI source code already installed...
> hypre source code already installed...
>> Building filter program...
ld: warning: libhwloc.so.1, needed by /usr/local/mvapich2/1.9-intel/lib/libmpichf90.so, may conflict with libhwloc.so.5
ld: warning: libhwloc.so.1, needed by /usr/local/mvapich2/1.9-intel/lib/libmpichf90.so, may conflict with libhwloc.so.5
Number of concurrent compile processes allowed? (default 1): 1
... Starting make program for Linux ....
Note: I am not sure of the consequences incurred involving the libhwloc.so
warnings.
- If all goes well, the executable should be located at
../run_linux_em64t/warp3d.mpi_omp
. Finally, copy the executable to any directory you would like.
$ cd $WARP3D_HOME/run_linux_em64t
$ cp warp3d.mpi_omp ~/bin/.
- You can also now compile
patwarp
by running...
$ cd $WARP3D_HOME/patwarp
$ ./compile_patwarp_linux64
$ cd $WARP3D_HOME/run_linux_em64t
$ cp patwarp.go ~/bin/.