Full course description
Term: Spring 2026
Date: March 13th, 2026
Time: 2:00 p.m. to 4:00 p.m.
Location: Online Only
Instructor: Chris Kuhlman
Presented By: Advanced Research Computing (ARC)
Description:
Prerequisites:
- A beginner-level understanding of computer programming concepts.
- Basic experience with navigating a computer and running software.
- Access to a VT network (e.g., on campus or connected to VPN).
- An ARC account to follow along.
Preferred:
- Familiarity with working in a Linux shell environment.
- No additional software (e.g., compilers) is needed; all required software is on the ARC clusters.
Description:
Concurrent (i.e., parallel) programming is a general term meaning that (most often) one execution of one code operates on different pieces of data simultaneously (concurrently) and possibly dynamically by using multiple computing hardware processors (e.g., cores on a compute node, GPU cores/threads on an accelerator). There are many approaches for implementing concurrency. Different methods are used for different purposes and each has its own level-of-effort, complexity, and versatility. This workshop will provide an overview of important concepts in concurrency and will provide examples of different classes of paradigms. The ideas and codes in this workshop are useful if you are writing your own code or running (commercial) software and have to specify run-time features.
