Giter Club home page Giter Club logo

gtfock's Introduction

================================================================
A. Setup
================================================================
export WORK_TOP=$PWD


================================================================
B. Installing Global Arrays using B0 or B1
================================================================
# Skip this step if Global Arrays has already been installed.

================================================================
B0. Installing Global Arrays on MPI-3
================================================================
1. Installing armci-mpi
cd $WORK_TOP
git clone git://git.mpich.org/armci-mpi.git || git clone http://git.mpich.org/armci-mpi.git
cd armci-mpi
git checkout mpi3rma
./autogen.sh
mkdir build
cd build
../configure CC=mpiicc --prefix=$WORK_TOP/external-armci
make -j12
make install

2. Installing Global Arrays
cd $WORK_TOP
wget http://hpc.pnl.gov/globalarrays/download/ga-5-3.tgz
tar xzf ga-5-3.tgz
cd ga-5-3
# carefully set the mpi executables that you want to use
./configure CC=mpiicc MPICC=mpiicc CXX=mpiicpc MPICXX=mpiicpc \
F77=mpiifort MPIF77=mpiifort FC=mpiifort MPIFC=mpiifort\
--with-mpi --with-armci=$WORK_TOP/external-armci --prefix=$WORK_TOP/GAlib
make -j12 install

================================================================
B1. Installing Global Arrays on ARMCI
================================================================
cp config_ga.py $WORK_TOP
# openib means using Infiniband
python config_ga.py download openib


===============================================================
C. Installing the OptErd library
===============================================================
cd $WORK_TOP
svn co https://github.com/Maratyszcza/OptErd/trunk OptErd
cd $WORK_TOP/OptErd
make -j12
prefix=$WORK_TOP/ERDlib make install
# The ERD libraries will been installed in $WORK_TOP/ERDlib.


===============================================================
D. Installing GTFock
===============================================================
cd $WORK_TOP
svn co http://gtfock.googlecode.com/svn/trunk gtfock
cd $WORK_TOP/gtfock/

# Change the following variables in make.in
BLAS_INCDIR      = /opt/intel/mkl/include/
BLAS_LIBDIR      = /opt/intel/mkl/lib/intel64/
BLAS_LIBS        = -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lpthread -lm
SCALAPACK_INCDIR = /opt/intel/mkl/include/
SCALAPACK_LIBDIR = /opt/intel/mkl/lib/intel64/
SCALAPACK_LIBS   = -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64
MPI_LIBDIR = /opt/mpich2/lib/
MPI_LIBS =
MPI_INCDIR = /opt/mpich2/include

# Set GA_TOP, ARMCI_TOP and ERD_TOP, which indicate where Global Arrays,
# ARMCI and ERD libraries are installed respectively
# For example, if you install Global Arrays using B0 
export GA_TOP=$WORK_TOP/GAlib
export ARMCI_TOP=$WORK_TOP/external-armci
export ERD_TOP=$WORK_TOP/ERDlib

# Compile 
make

# The gtfock libraries will be installed in $WORK_TOP/gtfock/install/.
# The example SCF code can be found in $WORK_TOP/gtfock/pscf/.

===============================================================
E. Running the example SCF code
===============================================================
mpirun -np <nprocs> ./scf <basis> <xyz> \
      <nprow> <npcol> <np2> <ntasks> <niters>

# NOTE: nprow x npcol must be equal to nprocs
# NOTE: np2 x np2 x np2 must be smaller than nprocs
# NOTE: suggested values for ntasks: 3, 4, 5

# <nprocs>: number of MPI processes
# <basis>:  basis file
# <xyz>:    xyz file
# <nprow>:  number of MPI processes per row
# <npcol>:  number of MPI processes per col
# <np2>: number of MPI processes per one dimension for purification (eigenvalue solve)
# <ntasks>: each MPI process has ntasks x ntasks tasks
# <niters>: number of SCF iterations

# For example, the following command run the SCF code on graphene_12_54_114.xyz
# with 12 MPI processes for 10 iterations. The number of processes used for
# purification is 2 x 2 x 2 = 8. 
mpirun -np 12 ./pscf/scf data/guess/cc-pvdz.gbs \
       data/graphene/graphene_12_54_114.xyz 3 4 2 4 10 

gtfock's People

Contributors

xing-liu avatar

Stargazers

Naveen Namashivayam Ravichandrasekaran avatar Dmitry I. Lyakh avatar Jeff Hammond avatar Alexander A. Markov avatar Holger Kruse avatar

Watchers

Edmond Chow avatar

gtfock's Issues

OptErd repo is not public

Attempting Step C in the README

svn co https://github.com/Maratyszcza/OptErd/trunk OptErd
Authentication realm: <https://github.com:443> GitHub

I have access to the Github private repo, but others do not.

Original issue reported on code.google.com by [email protected] on 22 Oct 2014 at 9:32

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.