/IntroToHPCs

Peer to peer tutorial on high performance computing resources at University of Maryland with hands-on tutorial.

Primary LanguageShell

Introduction To high performance computing at University of Maryland, College Park

This repository contains all the materials for a peer to peer tutorial on high performance computing (HPC) at University of Maryland developed by graduate fellows in the NSF-funded COMBINE fellowship.

alt text

You can find all the slide decks, tutorial information, and example code to help you get started using the HPC clusters at UMD. The workshop schedule and accompanying files are as follows:

Presentation 1 (~10 min): Introduction to Super Computers by Daniel Callow - SD1_IntroToHPCs.pdf

Breakout session 1 (~5 min): Small group discussions about what sort of projects would benefit from super computing

Presentation 2 (~10 min): Basics of parallelization by Dushyanthi Karunathilake - SD2_BasicsOfParallelization.pdf

Presentation 3 (~10 min): High performance computing resources at UMD by Phillip Alvarez - SD3_HPCsAtUMD.pdf

Breakout session 2 (~5 min): Get set up on the UMD HPC that you have access to via your school/department

Presentation 4 (~10 min): Getting started: Accessing & using your HPC by Junaid S Merchant - SD4_Presentations4-5.pdf

Presentation 5 (~15 min): Writing & submitting code with examples in MATLAB & R by Junaid S Merchant - SD4_Presentations4-5.pdf

Open Q and A session till 14:30


Example code files:

MatlabExample1_MonteCarloSimulation.m - Matlab Monte Carlo simulation example discussed in SD4_Presentations4-5.pdf

MatlabExample1_wrapper.sh - Bash wrapper for Matlab Monte Carlo simulation example discussed in SD4_Presentations4-5.pdf

MatlabExample2_GeneralMatlab_wrapper.sh - A more general purpose wrapper that will run any standalone matlab script

MatlabExample3_FunctionUsingInputs.m - A Matlab function that requires input variables

MatlabExample3_wrapper.sh - Bash wrapper for matlab function that requires input

MatlabExample4_Arraywrapper.sh - Example of an Array job which is an optimal way of parallelizing data processing (for things like parameter tuning)

PythonExample.py - Example Python script with SLURM options that run as is without a wrapper

RExample1.R - Example R script with SLURM options that run as is without a wrapper

freesurfer_array_job_example.sh - Another example of an array job using free surfer (structural MRI software)


Extra resources:

SuperComputingwSLURM_MethodsSeminarPresentation_20190301.pdf - Another presentation I did on UMD HPCs that has a lot more details about the different slurm commands

IntroductionToSupercomputing_BHG2019.pdf - A more general purpose presentation on HPCs that discusses the syntax of other job scheduling software I did for brainhack: https://github.com/brainhackdc/Supercomputing_tutorial