Git Product home page Git Product logo

oci-hpc-runbook-gromacs's Introduction

Runbook

Introduction

This Runbook provides the steps to deploy a GPU machine on Oracle Cloud Infrastructure, install Gromacs, and run a benchmark using Gromacs software.

Gromacs is a molecular dynamics software that simulates the movements of atoms in biomolecules under a predefined set of conditions. It is used to identify the behavior of these biomolecules when exposed to changes in temperature, pressure and other inputs that mimic the actual conditions encountered in a living organism. Gromacs can be used to establish patterns in protein folding, protein-ligand binding, and cell membrane transport, making it a very useful application for drug research and discovery.

Gromacs supports running on CPU's or GPU's and supports parallel processing. It was developed by the University of Gronigen and is now maintained by various contributors around the world. More information can be found here.

Architecture

The architecture for this runbook is simple, a single machine running inside of an OCI VCN with a public subnet.
Since a GPU instance is used, block storage is attached to the instance and installed with the Gromacs application. The instance is located in a public subnet and assigned a public ip, which can be accessed via ssh.

Login

Login to the using opc as a username:

   ssh {username}\@{bm-public-ip-address} -i id_rsa

Note that if you are using resource manager, obtain the private key from the output and save on your local machine.

Deployment

Deploying this architecture on OCI can be done in different ways:

  • The resource Manager let you deploy the infrastructure from the console. Only relevant variables are shown but others can be changed in the zip file.
  • The web console let you create each piece of the architecture one by one from a webbrowser. This can be used to avoid any terraform scripting or using existing templates.

Licensing

See Third Party Licenses for Gromacs and terraform licensing, including dependencies used in this tutorial.

Running the Application

If the provided terraform scripts are used to launch the application, Gromacs is installed in the /mnt/block/Gromacs folder and the example benchmarking model is available in /mnt/block/work folder. Run Gromacs via the following commands:

  1. Run Gromacs on OCI GPU shapes via the following command:

     gmx mdrun -s <file path> -ntmpi <# of cores> -gpu_id <GPU devices to use>
    

    where:

    • mdrun = program that reads the input file and execues the computational chemistry analysis
    • -s = the input file
    • -ntmpi = the number of thread-MPI threads to start
    • -gpu_id = the string of digits (without delimiter) representing device id-s of the GPUs to be used

    Example for BM.GPU2.2:

    gmx mdrun -s gromacs_benchMEM.tpr -ntmpi 24 -gpu_id 01
    

    Example for BM.GPU3.8:

    gmx mdrun -s gromacs_benchMEM.tpr -ntmpi 48 -gpu_id 01234567
    
  2. Once the run is complete, refer to the bottom of the terminal for performance numbers. The run will show the ns/day for the number of cores that were run.

Post-processing

For post-processing, you can use Visual Molecular Dynamics (VMD) software to analyze the models. Run the following commands to configure VMD:

./configure
cd src
sudo make install

If you are using vnc, launch vncserver and create a vnc password as follows:

sudo systemctl start vncserver@:1.service
sudo systemctl enable vncserver@:1.service
vncserver
vncpasswd

Start up a vnc connection using localhost:5901 (ensure tunneling is configured), and run the following commands to start up VMD:

vmd

Open the pdb files of your models and start analyzing!

oci-hpc-runbook-gromacs's People

Contributors

flavio-santino avatar glorialee820 avatar

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.