Skip to content
Snippets Groups Projects
Commit 8491d475 authored by cmaffeo2's avatar cmaffeo2
Browse files

Update README

parent 2420ff72
No related branches found
No related tags found
No related merge requests found
/==========================================================\
| Atomic Resolution Brownian Dynamics (ARBD) - beta Oct 19 |
\==========================================================/
Brownian dynamics (BD) simulation is method for studying biomolecules, ions, and
nanomaterials that balances detail with computational efficiency.
ARBD supports tabulated non-bonded and bonded interactions between BD
particles that can also be influenced by grid-specified
potentials. Uniquely, ARBD also allows grid-specified densities and
potentials to be associated with rigid body particles that rotate and
translate to represent larger molecules. Most importantly, the code is
designed to run quickly on modern NVIDIA GPUs.
ARBD is a rewrite of the BrownianMover code, moving almost all computations to
the GPU and enabling grid-specified particle models. Please be aware that ARBD
is being actively developed and is offered without warranty.
/==========\
| Building |
\==========/
To build, please run `make' in the src directory.
If your CUDA toolkit is installed in a nonstandard location, you may specify
that location using the CUDA_PATH environment variable. For example:
make CUDA_PATH=/nonstandard/path/to/cuda
Note that ARBD has been developed using CUDA-8.0 and targets NVIDIA GPUs featuring
6.0 compute capability. The code should work with devices with compute capability >=2.0,
but there are no guarantees.
Older versions of CUDA are not compatible with SM 6.0, so you may need to change
the SMS variable in the makefile, or specify it as an argument to make.
/==============\
| Installation |
\==============/
Please explore the examples in the 'tests' directory.
For example, try the following commands:
cd tests/argon-small
mkdir output
../../src/arbd BrownDyn.bd output/BrownDyn > output/BrownDyn.log
You may use the '-g n' option to specify the n-th GPU on your machine, counting from 0.
If you fail to compile and link the applications, we recommend running
`make clean` to remove object files. Sometimes we have encountered
CUDA related errors in binaries built in a "dirty" environment.
/========\
| Citing |
\========/
If you publish results obtained using ARBD, please cite the following manuscripts:
"DNA base-calling from a nanopore using a Viterbi algorithm"
Winston Timp, Jeffrey Comer, and Aleksei Aksimentiev
Biophys J 102(10) L37-9 (2012)
"Predicting the DNA sequence dependence of nanopore ion current using atomic-resolution Brownian dynamics"
Jeffrey Comer and Aleksei Aksimentiev.
J Phys Chem C Nanomater Interfaces 116:3376-3393 (2012).
"Atoms-to-microns model for small solute transport through sticky nanochannels"
Rogan Carr, Jeffrey Comer, Mark D. Ginsberg, and Aleksei Aksimentiev
Lab Chip 11(22) 3766-73 (2011)
/=========\
| Authors |
\=========/
ARBD is developed by the Aksimentiev group (http://bionano.physics.illinois.edu)
as a part of the NIH Center for Macromolecular Modeling and Bioinformatics
(http://www.ks.uiuc.edu/).
Please direct questions or problems to Chris.
Christopher Maffeo <cmaffeo2@illinois.edu>
Han-yi Chao
Jeffrey Comer
Max Belkin
Emmanual Guzman
Justin Dufresne
Terrance Howard
/====================\
| Outstanding issues |
\====================/
-- Not implemented --
* There are no checks to ensure that pairlists are recalculated before
particles further than the pairlist distance move to within the
cutoff
-- Bugs --
* A large amount of GPU memory for pairlists is allocated statically,
which may cause out-of-memory crashes in older hardware
* If the number of pairs in the system exceeds the length of the array
allocated for pairlists, the non-bonded kernel will try to access
forbidden regions of memory, causing a crash
# Atomic Resolution Brownian Dynamics (ARBD 2.0-alpha)
Brownian dynamics (BD) simulation is method for studying biomolecules,
ions, and nanomaterials that balances detail with computational
efficiency.
This development branch of ARBD has the aim of scaling ARBD up to
larger systems and accelerating to the hardware limits, while making
it easier to maintain diverse features. In particular we are seeking
speed and good scaling on multi-GPU clusters.
## Building
### Dependencies
Linux workstation with CUDA-compatible GPU (minimum 3.5 compute capability)
- CMake >= 3.9
- gcc >= 4.9
- cuda >= 9.0 (> 11.5 recommended)
### Build process
From the root arbd directory (where this README is found), run:
```
## Determine the compute capability of your CUDA-enabled graphics card
export CMAKE_CUDA_ARCHITECTURES="35;50;75;80" ;# especially important for CMake < 3.24.0
## export CUDA_INCLUDE_DIRS="$CUDA_HOME/include" ;# optionally be explicit about cuda include paths; usually not needed
cmake -S src -B build &&
(
cd build
make -j
)
```
If your CUDA toolkit is installed in a nonstandard location that CMake
is unable to find, you may provide use the environement variable
`CMAKE_CUDA_COMPILER` to specify the path to nvcc. You may also find
it neccesary to set the environment variable `CUDA_INCLUDE_DIRS` if
compilation fails due to the compiler being unable to find <cuda.h>.
Note that ARBD has been developed using CUDA-9.0 and targets NVIDIA
GPUs featuring 6.0 compute capability. The code should work with
devices with compute capability >=2.0, but there are no guarantees.
## Authors
ARBD is developed by the Aksimentiev group
(http://bionano.physics.illinois.edu).
Please direct questions or problems to Chris.
- Christopher Maffeo <cmaffeo2@illinois.edu>
- Han-yi Chao
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment