https://github.com/nick-eagles/jhu_parallelism_and_gpus
Material for JHU Computing Club talk covering parallelism and GPUs
https://github.com/nick-eagles/jhu_parallelism_and_gpus
gpu-computing parallelism slurm
Last synced: 3 months ago
JSON representation
Material for JHU Computing Club talk covering parallelism and GPUs
- Host: GitHub
- URL: https://github.com/nick-eagles/jhu_parallelism_and_gpus
- Owner: Nick-Eagles
- Created: 2024-03-05T14:07:53.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-05T16:29:33.000Z (about 2 years ago)
- Last Synced: 2025-02-16T22:44:21.897Z (over 1 year ago)
- Topics: gpu-computing, parallelism, slurm
- Language: HTML
- Homepage: https://nick-eagles.github.io/JHU_parallelism_and_gpus/
- Size: 362 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JHU Computing Club: Parallelism and GPUs
This repository includes material for the 2024/03/05 talk at the JHU Computing Club. In particular, it
includes the material on parallelism using R or [SLURM](https://slurm.schedmd.com/) at [JHPCE](https://jhpce.jhu.edu/). See the [Google Slides](https://docs.google.com/presentation/d/1gJzrL1E3EJRQEzbvg8t1rGNM6GsrKU42QoPo-ykKhH0/edit?usp=sharing) for the remaining material on using and understanding GPU resources at JHPCE.
## All Talk Materials
- [Slides on GPUs](https://docs.google.com/presentation/d/1gJzrL1E3EJRQEzbvg8t1rGNM6GsrKU42QoPo-ykKhH0/edit?usp=sharing)
- [Parallelism Vignette](https://nick-eagles.github.io/JHU_parallelism_and_gpus/)
- [JHPCE GPU Documentation](https://jhpce.jhu.edu/knowledge-base/gpus-on-the-jhpce-cluster/)
## Parallelism in R
First, I cover the `BiocParallel` R package for making use of multiple CPUs cores on Linux-like
machines, including those at JHPCE. The [raw R markdown file](index.Rmd) is available, but I encourage you to follow along with the [rendered HMTL](https://nick-eagles.github.io/JHU_parallelism_and_gpus/). I also conceptually introduce array jobs.
## Parallelism by Array Job
Next, the `nnSVG` array job [shell script](nnSVG_array.sh) and [R script](nnSVG_array.R) show
a practical case where parallelism can be achieved by dividing the data into units and assigning
each unit an array task with one CPU. I'll interactively walk through these scripts.