ICDS offers regular training dedicated to using Roar and Roar Collab resources, and Roar Training Videos and the Roar and Roar Collab User Guides offer users “self-serve” options for gaining HPC proficiency.
Users looking for more information on general HPC skills, programming languages, common HPC software, and more can turn to this curated list of external supercomputing training resources.
Linux Usage
- Basics of the UNIX shell
- Regular Expressions
- Balancing Scripts and Compiled Code in Scientific Applications
Version Control Programs
Modules
Common HPC Programming Languages
C
C++
Fortran
Python
- Python 3.6.3 Documentation
- A Python Introduction to Parallel Programming with MPI
- An Introduction to Python
- TACC Course: HPC Python
- Programming with Python
- Python Performance Tips
- PyCUDA Tutorial
- GPU Accelerated Computing with Python
Julia
R
- R Documentation
- R Tutorial
- TACC Course: Data Analysis with R in HPC
- Programming with R
- R for Reproducible Scientific Analysis
- High-Performance and Parallel Computing with R
- Additional HPC and Parallel R Tutorial Videos with Examples
Matlab
- Matlab Programming
- Programming with Matlab
- Running Matlab on Multicore and Multiprocessor Machines
- CUDA and Matlab
Mathematica
Software Building Tools
Compilers
Intel
GCC
PGI
Makefile
CMake
Autoconf Tools
Concepts, Algorithms, and Advanced Topics of Parallel Programming
- Supercomputing in Plain English
- A Quick Overview of HPC
- Introduction to Parallel Techniques
- Parallel I/O
- Topics in Parallel and Distributed Computing: Introducing Concurrency in Undergraduate Courses
- Cilk+ Training
- Introduction to Intel MIC Architecture
- XSEDE Tutorial: MPI Tuning (Advanced MPI)
Debugging, Profiling, and Benchmarking
Review/General
Intel Parallel Studio
DDT
GDB
Perf
Nvidia
Visualization
Optimization Theory and Tools
- Practical Optimization: A Gentle Introduction
- Detailed Tutorial on Linear Programming
- Optimization Methods in Management Science