Workshops

Last updated March 04, 2024

Upcoming Workshops

Table of Contents

The Center for Advanced Research Computing’s (CARC) Research Facilitation & Applications team offers a number of workshops designed to introduce users to essential high-performance computing (HPC) skills. Topics include overviews of CARC’s cyberinfrastructure, using specific software and programming languages, running jobs and commands, and much more.

The workshops below are approximately two hours in length and are divided into various categories. Workshops are either offered as live Zoom sessions several times a year on a rotating basis or are available pre-recorded on our YouTube channel.

If you are unable to attend a particular workshop, check our YouTube channel for Zoom session recordings. Most workshops are uploaded to the channel within a few days.

0.0.1 All workshops

Research computing essentials
0.0.1.0.1 Introduction to Research Computing on CARC Discovery Cluster

An overview of CARC’s services and high-performance computing clusters, including how to log in, manage and transfer data, load and build software, and run and monitor jobs.

0.0.1.0.2 CARC OnDemand: Scientific Computing on CARC from a Web Browser

This workshop is offered as a pre-recorded video only. Open OnDemand allows users to access CARC resources from within a web browser. This presentation will discuss how to manage files, getting shell access, running jobs, and how to start interactive apps with a graphical interface.

0.0.1.0.3 Installing and Using Software on CARC Systems

An overview of the software stacks available on CARC systems, using the Lmod software module system. Topics include how to find and load modules, manage your shell environment, build your own software, and create your own modules.

0.0.1.0.4 Running Jobs on CARC Systems

An overview of job submission and monitoring using the Slurm workload manager and job scheduler. Topics include cluster and node information, resource requests, job history and efficiency, job dependencies, and job arrays.

Advanced topics in research computing
0.0.1.0.5 Scientific Computing:

This two-part series introduces the concepts and tools that are essential for high-performance computing through a combination of lectures and hands-on practices.

Overview of an HPC Cluster and Essential Linux Commands

In the first part, we start with getting to know CARC’s HPC ecosystem and discussing the basic Linux shell commands, then we continue with a brief introduction to python and writing our first program with it. This is followed by discussing the need for version control and setting up your Github repository.

Parallel Processing with MPI in Python

In this next section, we cover the fundamental concepts involved in developing a parallel program using Massage Passing Interface in Python via the mpi4py package. The essential concepts are introduced using hands on tutorials.

0.0.1.0.6 Software Containers with Singularity

An overview of software containers and using Singularity to create and run containers for high-performance computing tasks.

0.0.1.0.7 Introduction to Cloud Computing on AWS

The goal of this workshop is to introduce the concept of cloud computing, focusing on the main elements of the HPC workflow. The practice materials are presented based on the AWS products, however similar concepts can be adopted to other major cloud service providers.

Basic concepts such as regions, zones, VPC, and subnets are explained. Different machine types, as well as storage options are briefly described and the possible use cases for each type are discussed.

0.0.1.0.8 Using Virtual Machines on CARC’s Artemis Cloud

An introduction to our private cloud computing platform. Topics include logging in, creating and modifying a VM, an overview of VM templates, and an introduction to the available Firecracker microVMs.

0.0.1.0.9 Computational Biology with CARC OnDemand

An overview of CARC’s computational biology resources and tools, including demonstrations of common use cases.

Programming
0.0.1.0.10 Introduction to Python

An introduction to the Python programming language. This workshop covers basic Python syntax, installing and importing packages, visualizing data, and writing scripts.

0.0.1.0.11 Optimizing Python for HPC

Intermediate-to-advanced topics for getting improved Python performance in an HPC cluster environment. Covers debugging, profiling, and parallel programming.

0.0.1.0.12 Introduction to R

An introduction to the R programming environment and language for statistical computing and graphics. Topics include base R and packages, objects and functions, importing and exporting data, summarizing data, visualizing data, modeling data, control flow, iteration, and scripting.

0.0.1.0.13 R Programming for HPC

An intermediate-to-advanced workshop on HPC methods in R programming. Topics include profiling and benchmarking, vectorizing code, memory use, data I/O, and parallel programming. Assumes basic proficiency in R programming.

0.0.1.0.14 Introduction to Julia

This workshop is offered as a pre-recorded video only. An introduction to the Julia programming language for scientific and technical computing. Topics include base Julia and packages, data types and structures, functions, control flow, iteration, and scripting.

0.0.1.0.15 Julia Programming for HPC

An intermediate-to-advanced workshop on HPC methods in Julia programming. Topics include profiling and benchmarking, memory use, data I/O, and parallel programming. Assumes basic proficiency in Julia programming.

Research applications
0.0.1.0.16 Using Workflows for Job Automation

This workshop uses the workflow management software (WMS) makeflow to automate the job scheduling processes. We will define a sequence of tasks that will automatically manage job dependencies, resubmit failed jobs, and delete unneeded intermediate files. Other tools such as snakemake and Pegasus will be discussed.

0.0.1.0.17 Running Deep Learning Applications on HPC Systems

This workshop is an advanced course on Python with specific emphasis on running deep learning applications on HPC systems.

0.0.1.0.18 Building Neural Networks for Deep Learning Applications

This workshop is an advanced course. It will cover basis of neural networks and how to write code in Pytorch to build deep neural networks.

0.0.1.0.19 Data Analysis and Visualization Using Pandas and Matplotlib

This workshop is an intermediate course on Python with specific emphasis on data analysis and visualization. It will cover the use of Pandas and Matplotlib, popular libraries for data processing, manipulation, and visualization.

0.0.1.0.20 Managing HPC Workflows with Pegasus WMS

Learn how to automate your data workflows to reduce time adjusting scripts, transferring data, and performing repetitive tasks. We will guide your through running workflows on our Discovery cluster and give you hands-on experience in using Pegasus WMS for a genomics application.

Advanced semester-long series
0.0.1.0.21 Density Functional Theory Methods Using VASP

This workshop series will benefit researchers who are interested in or are starting to learn about the application of theoretical methods and techniques for the study of the physics and chemistry of the solid state. These hands-on oriented workshops are targeted towards undergraduate, graduate, and post-doctoral students who wish to use Density Functional Theory (DFT) methods in their research. The aim is to teach the basics of ab initio atomistic materials simulation using the Vienna Ab initio Simulation Package (VASP) plane-wave pseudopotential code. The workshops will consist of lectures, demonstrations, and practical hands-on sessions using the Discovery HPC cluster.

USC CARC does not have access to a site-wide VASP license. VASP software cannot be made available to the USC HPC community as a module component of the Discovery HPC software stack. Access to a VASP license is not required to enroll in the VASP workshop series, however it may not be possible to perform the hands-on exercises during the workshop.

0.0.1.0.22 CP2K: Atomistic Simulations

CP2K is a suite of modules for electronic structure and molecular dynamics simulations optimally suited for the simulation of complex condensed phase systems and materials. This workshop provides an introduction to the most relevant computational tools implemented within the CP2K program package to researchers and students in the field of molecular simulations. This workshop focuses on methodologies available in CP2K and encourages modular, flexible, and problem-oriented thinking while using them. The most standard methods as well as some of the more advanced features will be introduced by overviews of background theory and through examples of application, always related to the specific implementation in this code. Recurring topics in the workshop are the scaling of algorithms, the combination of different levels of theory and of sampling, and tools and strategies for the analysis of results.

Topics covered include:

  • Kohn-Sham density functional methods using the Gaussian and Plane Wave (GPW) and the Gaussian Augmented Plane Wave (GAPW) methods
  • Ab initio molecular dynamics and enhanced sampling methods
  • Advanced electronic structure methods and electronic properties
Summer boot camp

CARC offers a 2.5 day boot camp during the summer break. This intensive class covers all the major topics in our regularly offered workshops, starting with the basics and gradually moving into more advanced and specialty topics.

The boot camp is ideal for new CARC users who want a crash course on all our services and the skills required to conduct research in an HPC environment. Check out our Summer Boot Camp page for further details. Boot camps are announced via email, our Twitter account, and the CARC monthly newsletter.