Roitberg group
TorchANI
Container
Roitberg group
TorchANI

TorchANI is a PyTorch implementation of ANI and contains classes like AEVComputer, ANIModel, and EnergyShifter that can be pipelined to compute molecular energies from the 3D coordinates of molecules

TorchANI

TorchANI is a PyTorch implementation of ANI(Accurate NeurAl networK engINe for Molecular Energies), created and maintained by the Roitberg group. TorchANI contains classes like AEVComputer, ANIModel, and EnergyShifter that can be pipelined to compute molecular energies from the 3D coordinates of molecules. It also include tools to: deal with ANI datasets(e.g. ANI-1, ANI-1x, ANI-1ccx, ANI-2x) at torchani.data, import various file formats of NeuroChem at torchani.neurochem, and more at torchani.utils.

System requirements

Before running the NGC TorchANI container please ensure your system meets the following requirements.

  • One of the following container runtimes
  • One of the following NVIDIA GPU(s)
    • Pascal(sm60)
    • Volta (sm70)
    • Ampere (sm80)

x86_64

  • CPU with AVX2 instruction support
  • One of the following CUDA driver versions
    • >= r460
    • r450 (>=.80.02)
    • r440 (>=.33.01)
    • r418 (>=.40.04)

Examples

The following examples demonstrate using the NGC TorchANI container to computing vibrational frequencies using analytical Hessian. TorchANI is able to use ASE interface to perform structure optimization and vibration analysis, but the Hessian in ASE's vibration analysis is computed numerically, which is slower and less accurate. Therefore, TorchANI provides an interface to compute the Hessian matrix and do vibration analysis analytically, thanks to the super power of torch.autograd.

The environment variable BENCHMARK_DIR will be used throughout the example to refer to the directory containing the python script. . Ensure you're running the correct container version by replacing YYYY.MM with the appropriate container tag.

wget https://raw.githubusercontent.com/aiqm/torchani/master/examples/vibration_analysis.py
export BENCHDIR=$PWD
cd ${BENCHMARK_DIR}
wget https://gitlab.com/NVHPC/ngc-examples/-/raw/master/torchani/single-node/run_torchani.py
chmod +x run_torchani.py

Running with nvidia-docker

cd ${BENCHMARK_DIR}
docker run --rm --gpus all --ipc=host -v ${PWD}:/host_pwd -w /host_pwd nvcr.io/hpc/torchani:YYYY.MM ./run_torchani.py

Note: Docker < v1.40

Docker versions below 1.40 must enable GPU support with --runtime nvidia.

docker run --rm --runtime nvidia --ipc=host -v ${PWD}:/host_pwd -w /host_pwd nvcr.io/hpc/torchani:YYYY.MM ./run_torchani.py

Running with Singularity

cd ${BENCHMARK_DIR}
singularity run --nv -B${PWD}:/host_pwd --pwd /host_pwd docker://nvcr.io/hpc/torchani:YYYY.MM ./run_torchani.py

Note: Singularity < v3.5

There is currently an issue in Singularity versions below v3.5 causing the LD_LIBRARY_PATH to be incorrectly set within the container environment. As a workaround The LD_LIBRARY_PATH must be unset before invoking Singularity:

LD_LIBRARY_PATH="" singularity run --nv -B${PWD}:/host_pwd --pwd /host_pwd docker://nvcr.io/hpc/torchani:YYYY.MM ./run_torchani.py

License

By pulling and using the container, you accept the terms and conditions of the TorchANI License

Suggested Reading

The TorchANI website

Full TorchANI tutorial

TorchANI: A Free and Open Source PyTorch Based Deep Learning Implementation of the ANI Neural Network Potentials

Publisher
Roitberg group
Latest Tag2021.04
UpdatedApril 12, 2021 UTC
Compressed Size5.37 GB
Multinode SupportYes
Multi-Arch SupportNo

NVIDIA uses cookies to improve your experience on our web site. We and our third-party partners also use cookies and other tools to collect and record information you provide as well as information about your interactions with our websites for performance improvement, analytics, and to assist in marketing efforts. By clicking "Accept All", you consent to our use of cookies and other tools as described in our Cookie Policy. You can manage your cookie settings by clicking on "Manage Settings." By continuing to use this site or by clicking one of the buttons below, you agree to our Terms of Service (which contains important waivers). Please see our Privacy Policy for more information on our privacy practices.