fmm (c49b1)
Fast Multipole Method (FMM) for Nonbond Interactions
The CHARMM is interfaced to the EXAFMM library for nonbond
interactions, both Van der Waals and electrostatic. The FMM library is
in active development but the CHARMM interface is part of the standard
EXAFMM development and is more or less final, so one can optionally
link CHARMM to the EXAFMM library obtained from github. The details of
the EXAFMM library are explained in the following reference:
R. Yokota, Journal of Algorithms & Computational Technology, Vol 7,
No.3, pp 301-324, 2013 (http://arxiv.org/abs/1209.3516)
* Description | Description of the OVERLAP commands.
* Usage | How to use the OVERLAP method.
* Installation | Installation of the OVERLAP method
* Performance | Performance Issues
The CHARMM is interfaced to the EXAFMM library for nonbond
interactions, both Van der Waals and electrostatic. The FMM library is
in active development but the CHARMM interface is part of the standard
EXAFMM development and is more or less final, so one can optionally
link CHARMM to the EXAFMM library obtained from github. The details of
the EXAFMM library are explained in the following reference:
R. Yokota, Journal of Algorithms & Computational Technology, Vol 7,
No.3, pp 301-324, 2013 (http://arxiv.org/abs/1209.3516)
* Description | Description of the OVERLAP commands.
* Usage | How to use the OVERLAP method.
* Installation | Installation of the OVERLAP method
* Performance | Performance Issues
Top
SYNTAX and DESCRIPTION
======================
The interface is based on the GRAPE interface because it uses the same
parameter data layout for efficiency reasons. So the GRAPE interface
provides all the necessary data to perform FMM calculations. All the
interface code is thus in the grape.src file.
To initialize the method use:
grape 0 fmm
keywords in any of the nonbond specifications: energy, dyna, nbond,
update...
SYNTAX and DESCRIPTION
======================
The interface is based on the GRAPE interface because it uses the same
parameter data layout for efficiency reasons. So the GRAPE interface
provides all the necessary data to perform FMM calculations. All the
interface code is thus in the grape.src file.
To initialize the method use:
grape 0 fmm
keywords in any of the nonbond specifications: energy, dyna, nbond,
update...
Top
USAGE
=====
just add the 'grape 0 fmm' to any of the non-bond specification
There are no extra options to the command yet. We are still
working on the best recommended parameters for the numerical precision
and runtime efficiency.
USAGE
=====
just add the 'grape 0 fmm' to any of the non-bond specification
There are no extra options to the command yet. We are still
working on the best recommended parameters for the numerical precision
and runtime efficiency.
Top
INSTALLATION
==============
The EXAFMM library needs to be installed prior to compile CHARMM.
In order to install the library perform the following commands in
arbitrary directory, say cd ~/charmm/exafmm :
git clone https://github.com/exafmm/exafmm.git
We tested commit 5d99073a08cc7f6d11e52ec78457b768d4bb6d3f so the
following will make it ready for CHARMM compile:
git checkout 5d99073a08cc7f6d11e52ec78457b768d4bb6d3f
cd exafmm
./configure --enable-assert --enable-mpi --enable-openmp --enable-avx --with-tbb CXXFLAGS=-O3
cd wrappers
make charmm_mpi
This is for the maximum performance. One can leave out any or all of
the following:
--enable-openmp --enable-avx --with-tbb
then the CHARMM compile command is the following:
before using the cmake to compile CHARMM with EXAFMM library the
following is needed
export EXAFMM=~/charmm/exafmm/exafmm/wrappers
Standard CHARMM cmake or configure procedure to compile CHARMM.
INSTALLATION
==============
The EXAFMM library needs to be installed prior to compile CHARMM.
In order to install the library perform the following commands in
arbitrary directory, say cd ~/charmm/exafmm :
git clone https://github.com/exafmm/exafmm.git
We tested commit 5d99073a08cc7f6d11e52ec78457b768d4bb6d3f so the
following will make it ready for CHARMM compile:
git checkout 5d99073a08cc7f6d11e52ec78457b768d4bb6d3f
cd exafmm
./configure --enable-assert --enable-mpi --enable-openmp --enable-avx --with-tbb CXXFLAGS=-O3
cd wrappers
make charmm_mpi
This is for the maximum performance. One can leave out any or all of
the following:
--enable-openmp --enable-avx --with-tbb
then the CHARMM compile command is the following:
before using the cmake to compile CHARMM with EXAFMM library the
following is needed
export EXAFMM=~/charmm/exafmm/exafmm/wrappers
Standard CHARMM cmake or configure procedure to compile CHARMM.
Top
The main purpose of the EXAFMM interface in CHARMM is the
performance. The method is promising to scale on the future exaflops
machines, thus the exa- in the name of the library. It can take
advantage of the existing and future massively parallel machines
including accelerated hardware (gpu, xeon phi, etc)
The main purpose of the EXAFMM interface in CHARMM is the
performance. The method is promising to scale on the future exaflops
machines, thus the exa- in the name of the library. It can take
advantage of the existing and future massively parallel machines
including accelerated hardware (gpu, xeon phi, etc)