Software:tinkergpu

From biowiki
Revision as of 18:02, 23 May 2022 by Liuchw (talk | contribs) (update tinker9 page)
Jump to navigation Jump to search

Tinker9 GPU Molecular Dynamics

Tinker9 is the next generation of Tinker software with GPU accelaration. As of 2021, Ren lab switched to Tinker9 for GPU simulations, which is similar/consistent to Tinker CPU in terms of usage/setup, is faster than OpenMM for AMOEBA and some fixed charged force fields, and has all our new development for AMOEBA+.

For single molecule or cluster without PBC, please CPU code. Use openmp-threads to speed up if necessary

The setup and key files used by Tinker CPU (on this wiki page) can be directly applied to Tinker9.

Source code

https://github.com/TinkerTools/tinker9

Free to academic and nonprofit org

Compile Tinker9

Please read Tinker9 Github site for how to setup the environmental variables and compile Tinker9 code (https://github.com/TinkerTools/tinker9). Successful builds on various hardware and cuda version can also be found at https://github.com/TinkerTools/tinker9/discussions/121.

As of May 23, 2022, Ren lab clusters equiped with GPU cards all have cuda version 11 with compatitable cuda driver. An example compile script can be found at:

/home/liuchw/Softwares/tinkers/Tinker9/2205/build_cuda11/compile_cuda11.2

This is to say, after downloading Tinker9, make a folder called "build_cuda11". From that folder, ./compile_cuda11.2 will do everything.

Example

Example setup, xyz and key files for protein simulations: https://github.com/TinkerTools/tinker9/blob/master/example/

Recommend to use RESPA integrator with 2fs time step and write out less frequent (e.g. every 2 ps). On RTX3070, you should be able to achieve ~40ns/day for DHFR. Use MonteCarlo or Langvin piston for pressure control in NPT More details see Tutorials

Manual

https://tinkerdoc.readthedocs.io/en/latest/

Run Script

Here is a simple script to run molecular dynamics

#!/bin/bash

export TINKER9=/home/liuchw/Softwares/tinkers/Tinker9/2205/build_cuda11
export PATH=$PATH:$TINKER9

# option 1
nohup dynamic9 your.xyz -k your.key 1000 2.0 2.0 4 298.15 1.0 >your.log 2>&1 &

# option 2
nohup tinker9 dynamic your.xyz -k your.key 1000 2.0 2.0 4 298.15 1.0 >your.log 2>&1 &