Every semester, we host training workshops on topics ranging from intro to HPC, to machine learning, to parallel computing, and beyond. In addition, there are many great opportunities for learning hosted by other organizations within the community. Whether you're interested in learning about specific programming languages, exploring data analytics techniques, or cloud computing, there's a wide array of learning opportunities available.
Check below for a list of upcoming workshops.
HPC Calendar
We are excited to host a full semester's worth of workshops this Fall. All workshops will be held on Fridays throughout the semester from 11am to noon in the Weaver Science and Engineering Library, Rm 212. The first two workshops have been moved to the Catalyst Studio Learning Center Room 254/252 in the Main Library! The registration button below will allow you to register for any/all of the workshops listed below. Please note that you will need to be logged into your University of Arizona account in order to access the registration form.
HPC Overview and AccessAn introduction to what HPC is, basics of the U of A’s HPC, how to create an account and login. Motivates the usage of HPC including examples from many research areas; outlines several common misconceptions about HPC; introduces the U of A’s clusters; describes the basics of the UA HPC system architecture, including node types and proper usage. This workshop is aimed at first-time HPC users, or users new to the U of A’s HPC system. No programming experience is assumed or required. Basic computer literacy is recommended.
Main B252/254
Ethan Jahn
Sep 13
Storage and Software OverviewAn introduction to the HPC systems related to data storage and software. Outlines the details of the HPC high performance storage system, the rental storage system, Research Desktop Attached Storage (R-DAS), and AWS Tier 2 storage. Covers the basics of Linux file permissions in the context of a shared cluster, including our conventions and best practices. Outlines methods for transferring files to/from the HPC storage system. Describes the module system used to provide software to users, and provides guidelines for personal software installations. Familiarity with basic programming recommended but not required. Participants should be familiar with topics covered in Workshop 1.
Main B252/254
Ethan Jahn
Sep 20
Scheduling and Running JobsThe ins-and-outs of running jobs on the HPC system. Provides details related to partitions and CPU-time allocations in relation to the scheduling system. Describes HPC hardware information relevant to submitting resource requests. Covers details for each type of job, including Open OnDemand graphical jobs, interactive terminal sessions, batch jobs, and array jobs. Provides best practices and clarification related to the queueing system and Slurm terminology. A basic batch job example is included. Basic programming experience including familiarity with bash recommended but not required. Participants should be familiar with topics covered in Workshops 1 and 2.
Weaver 212
Ethan Jahn
Sep 27
Managing and Optimizing JobsMotivates, defines, and describes tools/techniques for managing jobs, including Open OnDemand and command-line tools (both provided by Slurm – e.g. squeue – and other tools such as seff and job-history). Provides detailed examples and use cases for these tools. Additionally provides clarity and motivation for job optimization, including decreasing time to result and improving overall HPC throughput. Outlines best practices and principles of constructing optimal resource requests. Basic programming experience and familiarity with previous workshop topics is recommended.
Weaver 212
Ethan Jahn
Oct 4
Parallel Computing TheoryAn introduction to the principles and concepts of computing. Discusses basics of computer architecture and serial computing to provide context for developments in parallel computing. Covers paradigms and models of parallel computing. Other topics include scaling laws, load balancing, task decomposition, asynchronous computation, overhead, meta-parallelism, etc. Basics of writing parallel algorithms will be discussed. Basic programming experience and familiarity with general computing concepts are recommended.
Weaver 212
Ethan Jahn
Oct 11
Parallel Computing in PracticeImplementing parallelization often looks very different than describing it in abstract terms. Building on the previous session’s material, this workshop will aim to provide some guidelines and examples of parallelization in practice. Software discussed includes OpenMPI, Python (multiprocessing & mpi4py), R (parallel), Matlab, and potentially others. Some basic programming experience and familiarity with all previous workshop topics are highly recommended.
Weaver 212
Ethan Jahn
Oct 18
Software and EnvironmentsDebugging problems on the HPC is easier if you have reproducible environments. This workshop will provide some general guidelines and examples that you can follow to create and maintain such environments. It will focus on Python and R projects, and potentially an example for compiled languages.
Online Only
Soham Pal
Oct 25
Machine Learning on HPCThis workshop will introduce you to using HPC resources for machine learning. It will focus on PyTorch examples, with general guidelines that maybe applicable to other frameworks. This is not an introduction to machine learning in general, and assumes that you have some basic knowledge of machine learning concepts.
Online Only
Soham Pal
Nov 1
Intro to ContainersThis workshop introduces the concept of containers, and why they are useful in research computing. It focuses on the Apptainer container engine, and provides examples to show how you can build and run containers with Apptainer.
Online Only
Soham Pal
Nov 8
Error Handling and Debugging
Weaver 212
Ethan Jahn
Nov 15
Intro to Statistics
Weaver 212
Chris Reidy
Nov 22
Intro to VisualizationThe Intro to Data Visualization presentation aims to give attendees a select tour of the visualization field, bridging theory and practice. We will explore theory used to inform the selection of chart types, and contents that support a researchers intended message. We will then practice the standard visualization development cycle of drafting, critiquing, and refactoring for a number of examples. Attendees must bring with them material to draw with, and will leave with a general thought process that may apply to any visualization task. Optional coding exercises for applying these concepts are provided.