-
Notifications
You must be signed in to change notification settings - Fork 22
Compilation instructions for NERSC Cori
This is how to compile qball on cori. It is fairly simple as all the libraries needed are already installed in the machine.
First download Qball for github:
git clone https://github.com/LLNL/qball.git
Enter the new directory:
cd qball/
and create the configuration files (this is part of the autotools framework that Qball uses to configure and compile the program)
autoreconf -i
Now we select the compilers and other libraries we want to use
module load gcc
module load openmpi
module load cray-fftw
We set some environment variables to tell the compiler flags and the location of the linear algebra libraries
export CXXFLAGS="-O3 -ffast-math"
export CFLAGS="-O3 -ffast-math"
export FCFLAGS="-O3 -ffast-math"
export LIBS_BLAS="${MKLROOT}/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_gf_lp64.a ${MKLROOT}/lib/intel64/libmkl_gnu_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_blacs_openmpi_lp64.a -Wl,--end-group -lgomp -lpthread -lm -ldl"
and finally we run the configure script, telling it that we want qball installed in our home directory
./configure --prefix=$HOME --with-fftw3-prefix=$FFTW_DIR/../
Now compile and install with
make -j4 install
Now you should have a qball binary in your home. (check with ls ~/bin
).
To check that it works run
$HOME/bin/qball
and you should see something like this
<?xml version="1.0" encoding="UTF-8"?>
<!--
___________________________
| |
| qball alsos |
| |
| |
| |
| |
| |
| |
| |
| |
| Lawrence Livermore |
| National Laboratory |
| |
| Copyright (c) 2003-2016 |
|_________________________|
-->
<qbox:simulation xmlns:qbox="http://www.quantum-simulation.org/ns/fpmd/fpmd-1.0">
<release> qball alsos </release>
<npes> 1 </npes>
<nthreads> 64 </nthreads>
<!-- [qball]
If you do, congratulations, you have compiled Qball sucessfully.
Now you can go have a beer, unless you are doing the Qball tutorial. In that case finish the tutorial and then go get a beer.