This is an old revision of the document!
Training
The training materials are organized by topics and applications in alphabetical order.
Topics
Compile & run
A three-part lecture series on how to compile and run serial, array, OpenMP and MPI jobs on an HPC cluster.
Serial & array jobs
OpenMP jobs
MPI jobs
Recommended tutorials
Tutorials developed at the University of Delaware:
- Learning the vi text editor (University of Delaware)
- Introduction to Unix/Linux (Part 2): Variables and Environments, Aliases, Permissions (University of Delaware)
- Regular Expressions (University of Delaware) - Additional note
- Introduction to Shell Scripting (Part 1) (University of Delaware) [as a PDF]
- Introduction to Shell Scripting (Part 2) (University of Delaware) [as a PDF]
- Modular Environment Management with VALET (University of Delaware) [as a PDF]
- Introduction to Grid Engine (University of Delaware) [as a PDF]
- Matlab: Batch Script and Compiled Array Job (University of Delaware) [as a PDF]
- Python Programming (Part 1) (University of Delaware)
- Python Programming (Part 2) (University of Delaware)
- Python Packages - matplotlib (University of Delaware) - Example files: sine_plot.py, fit_test1.py, fit_test2.py
- Making the Most of Farber: Storage and Standby (University of Delaware) [as a PDF]
- Compilers: On UD HPC Community Clusters (University of Delaware)
- Matlab Compiler: On UD HPC Community Clusters (University of Delaware)
- Unix Software Development Basics: Project Structure and Build Management with Make (University of Delaware) [as a PDF]
- Unix Software Development Basics: Autotools and Cmake (University of Delaware) [as a PDF]
- Building and Installing Software: On UD HPC Community Clusters (University of Delaware)
- Revision Control and Git (University of Delaware)
- Software Management with VALET (University of Delaware) [as a PDF]
HPC presentations at the University of Delaware:
- Coupled Regional Weather Modeling Using UD HPC Resources (University of Delaware, Joseph Brodie)
- WRF-ARW on Farber (University of Delaware, Carly Buxton)
- History of CESM and getting it to work on Mills (University of Delaware, Brian Hanson)
Other tutorials:
Basics
- Index of Linux and Unix Commands (Computer Hope)
- UNIX Tutorial (UC Berkeley School of Information)
- Unix Tutorial for Beginners (U. Surrey, UK)
- Linux (for HPC) Basics (ORNL National Lab)
- Bash Scripting Tutorial (Linuxconfig.org)
- Advanced Bash-Scripting Guide (The Linux Documentation Project)
- Regular Expressions Tutorial (RegexOne.com)
Editors
- Interactive Vim tutorial (henrik.huttunen@gmail.com)
- Vi For Smarties (jerry_y_wang@yahoo.com)
- A Guided Tour of Emacs (GNU Operating System)
Lustre
MPI
Resources explaining how to use, develop, and optimize MPI applications for clusters.
Makefiles
NICS
The National Institute for Computational Sciences (NICS) offers a High-Performance Computing (HPC) Seminar Series every Tuesday and Thursday. It is a joint effort between different leadership organizations (NICS, JICS, OLCF, XSEDE) to increase HPC awareness among the academic community. Different topics will be introduced starting with the most basic and building up to more advanced aspects in HPC. All sessions are recorded and made available for download. Reviewing past sessions may prove beneficial as a good background for future ones. The calendar of topics and download links, along with instructions on how to join the sessions online, are available on the NICS HPC Seminar Series page.
OpenMP
Resources explaining how to use, develop, and optimize OpenMP applications for clusters.
Parallelism
A three-part lecture series covering the basics concepts of parallelism and parallelism on HPC clusters.
Part I
Topics covered include thinking in parallel, Flynn’s taxonomy, types of parallelism, parallelism basics,
design patterns for parallel programs and using GNU gprof.
(slides) (video - part 1) (video - part 2)
Part II
Part III
Profiling & tuning
A three-part lecture series covering the basics concepts of profiling and tuning on HPC clusters.
Part I
Topics covered include profiling tools Intel® ISAT and Intel® Vtune™ Amplifier XE Evolution. (slides) (video)
Part II
Topics covered include performance counters, profiling tools such as PAPI, TAU, HPCToolkit, PerfExpert, and high performance parallel libraries such as BLAS, LAPACK, ATLAS, Intel MKL and ACML (AMD core math library). (slides) (video)
Part III
Topics covered include autotuning, dependence analysis and loop transformation including a demonstration of ISAT (Intel Software Autotuning Tool) visualized with Gnuplot. (slides) (video)
VSCSE
The Virtual School of Computational Science and Engineering (VSCSE) continues to be a popular choice for graduate students, post- doctoral students and professionals from academia, government and industry to gain the skills they need to leverage the power of cutting-edge computational resources. Courses are delivered simultaneously at multiple locations across the country using high-definition videoconferencing technology. UD participates as a host site, along with other prominent universities, to offer these multi-day virtual courses organized by VSCSE at UD's videoconferencing studios.