Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/cheaha/tutorial/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,10 @@ Have you encountered problems while using Anaconda on Cheaha? We have provided t
Below is a list of Tutorials we currently have Using Anaconda on Cheaha;

1. Using PyTorch and TensorFlow with Anaconda on Cheaha, click [here.](../tutorial/pytorch_tensorflow.md)

## Getting Started with Parallelism on Cheaha

The tutorial covers usage of the following parallelization-based software installed in Cheaha. To use parllelization based software on Cheaha, [click here](./parallelism.md).

1. [Gromacs](https://www.gromacs.org/): Used for High-performance molecular dynamics and analysis.
2. [Quantum Expresso](https://www.quantum-espresso.org/): Used for electronic-structure calculations and materials modeling.
73 changes: 73 additions & 0 deletions docs/cheaha/tutorial/parallelism.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Tutorial on Usage of Parallelization-based Software in Cheaha

## Sequential Execution

Breaking a bigger problem into set of tasks, and executing these tasks one by one on a single CPU.

## Parallel Execution

Divide a larger problem into a series of smaller tasks and execute these tasks using multiple CPUs. The application should leverage parallelization technology to utilize multicore processors, multiple nodes, multiple GPUs, or a hybrid approach (such as combining CPUs and GPUs).

## Parallelization Categories
Comment thread
Premas marked this conversation as resolved.
Outdated

### Shared Memory Parallelization

In this method, your job executes independent tasks on separate cores within the same compute node. These tasks share the node's resources and communicate by reading from and writing to shared memory.

For instance, OpenMP is a parallel directive that supports shared memory parallelization.

### Distributed Memory Parallelization

Tasks can be distributed on different compute nodes and executed. The tasks communicate each other using message passing. A widely used standard to achieve this kind of parallelism is Message Passing Interface (MPI).

## Software Packages that Support Parallelization
Comment thread
Premas marked this conversation as resolved.
Outdated

### Gromacs

Gromacs is specifically meant for high-performance molecular dynamics and analysis.

Recent Gromacs version available in Cheaha can be loaded as,

```bash
$module load rc/GROMACS/2022.3-gpu
```

Some of the simulation examples are covered in the [Gromacs Tutorial Page](http://www.mdtutorials.com/gmx/).We will take the example of Lysozyme in water as a case study.

Download and extract the example `pdb` dataset using the following command,

```bash
$DATA_SET=water_GMX50_bare
$wget -c https://ftp.gromacs.org/pub/benchmarks/${DATA_SET}.tar.gz
$tar xf ${DATA_SET}.tar.gz
```

To run the simulation using `gmx` executable,

```bash
$cd ./water-cut1.0_GMX50_bare/1536
$gmx grompp -f pme.mdp
$gmx mdrun -ntmpi 4 -nb gpu -pin on -nsteps 5000 -ntomp 10 -s topol.tpr
```

In the above run command,

- `gmx` is the executable to run the pipeline.
- `-ntmpi` Number of MPI processes.
- `-nb gpu`defines the computation to use GPUs.
- `-pin on` binds CPU to core.
- `-nsteps 5000` Number of steps to run the simulation.
-`-ntomp 10` Number of cores, which will be 10*4 MPI processes i.e, 40 cores
- `-s topol.tpr` is the input parameter.

#### Performance Analysis

### Quantum Espresso

Quantum Espresso (QE) is an open-source suite of codes for electronic-structure calculations and materials modeling based on density functional theory (DFT), plane waves, and pseudopotentials. It is used to study the properties of materials at the atomic scale.

Quantum Expresso is available as a module in Cheaha and can be loaded as,

```bash
$module load QuantumESPRESSO/6.3-foss-2018b
```
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ nav:
- Tutorials:
- cheaha/tutorial/index.md
- Anaconda Environment Tutorial: cheaha/tutorial/pytorch_tensorflow.md
- Parallelism Tutorial: cheaha/tutorial/parallelism.md
- Cheaha Web Portal:
- cheaha/open_ondemand/index.md
- Using the Web Portal: cheaha/open_ondemand/ood_layout.md
Expand Down