3.8 KiB
Quantum package
Set of quantum chemistry programs and libraries.
For more information, you can visit the wiki of the project, or bellow for the installation instruction.
Installation
Requirements
- Fortran compiler (ifort or gfortran are tested)
- Python >= 2.6
- GNU make
- Bash
Standard installation
1) Configure
$ configure <config_file> (--production | --development)
This command have to purpose :
- Download and install all the requirements. Installing OCaml and the Core library may take somme time (up to 20min on an old machine).
- And create the file which contains all the tree dependencies for the
binaries.
It’s not a Makefile, but a Ninja file (so don’t typemake
is hopeless, typeninja
instead)
####Compilation Flags (<config_file>
)
<config_file>
is the path to the file who contain
all the flags useful for the compilation: like the optimization flags,
the Lapack libary, etc. We have two default configure file in
$QP_ROOT/config
: ifort.cfg
and
gfortran.cfg
. You can edit these files to modify the
compiling options.
What utilization of the code will you do?
- If you only want the binaries (for production workflow) use the flag
--production
in when calling this script. It’s quicker - Else if you are a developer and you want to be able to compile
specific modules use:
--development
. It will create for you thebuild.ninja
in each module
2) Set environment variable
source quantum_package.rc
This file contains all the environment variables needed by the quantum package both to compile and run. This should also be done before running calculations.
Optional) Add some new module
Usage: qp_install_module.py list (--installed|--avalaible-local|--avalaible-remote)
qp_install_module.py install <name>...
qp_install_module.py create -n <name> [<children_module>...]
qp_install_module.py download -n <name> [<path_folder>...]
For exemple you can type :
qp_install_module.py install Full_CI
3) Compiling the fortran
ninja
Just type ninja
if you are in $QP_ROOT
(or
ninja -f $QP_ROOT/build.ninja
elsewhere). The compilation
will take approximately 3 min.
If you have set the --developement
flag in a specific
module you can go in the corresponding module directory and run
ninja
to build only this module. You can type
ninja all
in a module for compiling all the submodule
4) Compiling the OCaml
cd ocaml ; make ; cd -
5) Testing if all is ok
cd testing_no_regression ; ./unit_test.py
Installing behind a firewall !
Download
tsocks
:wget http://sourceforge.net/projects/tsocks/files/latest/download mv download tsocks.tar.gz
Tranfer
tsocks.tar.gz
on the remote hostConfigure
tsocks
with the proper directory for thetsocks.conf
file:tar -zxvf tsocks.tar.gz cd tsocks-* ./configure –with-conf=${PWD}/tsocks.conf
Create the
tsocks.conf
file with the following content:server = 127.0.0.1 server_port = 10000
Create the tsocks library:
make
Add the
libtsocks.so
to theLD_PRELOAD
environment variable:export LD_PRELOAD=“${PWD}/libtsocks.so.1.8”
Create a custom curl command to set the tsocks option: open a file named
curl
, which is accessible from yourPATH
environment variable before the realcurl
command, and fill this file with:#!/bin/bash /usr/bin/curl –socks5 127.0.0.1:10000 $@
Start a tsocks ssh tunnel:
ssh -fN -D 10000 user@external-server.com