-
Notifications
You must be signed in to change notification settings - Fork 22
Compilation instructions for NERSC Cori
Xavier Andrade edited this page Aug 6, 2019
·
4 revisions
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>
<user> xtd2019 </user>
<sysname> Linux </sysname>
<nodename> cori01 </nodename>
<start_time> 2019-08-06T05:08:17Z </start_time>
<!-- [qball]