Building Software on Oscar
Learn how to build and install software packages on Oscar. Topics covered include make, cmake, compiler options on Oscar, pip, building python packages from source, and python virtual environments.
Cloud computing with GCP
This workshop provides an introduction to Google Cloud Platform. It provides familiarity with Google Cloud Console and the basics of interacting and using Google's Compute Engine
File Transfer Basics
An overview of methods for moving files onto and off of Oscar. Topics covered include Linux command line tools for file transfer (scp, rsync, sftp), GUI-based file transfer applications, mounting Oscar’s filesystem using CIFS, and using Globus on Oscar.
Getting Started on Oscar
An introduction to Oscar, Brown’s research computing cluster, for new users. Participants will learn how to connect to Oscar (ssh, VNC), how to navigate Oscar’s filesystem, and how to use the module system to access software packages on Oscar.
Intro to Bash programming
This workshop will cover basic shell scripting in Bash - variables, loops, pipes and more so participants can learn to automate work with Bash. We will assume participants have some familiarity with the linux command line.
Intro to Slurm
A primer on submitting jobs to the job scheduler on Oscar. Some basic familiarity with Unix/Linux systems is assumed. Topics covered include - an overview of the use of Slurm for resource allocation, submitting jobs to Slurm, and using Bash scripts to configure and submit jobs to Slurm.
Intro to Slurm
This workshop is for people who are already familiar with Slurm, but would like to use Slurm's more powerful features. Topics covered include - dependencies for conditional execution of jobs, job arrays for parameter sweeps, dealing with hundreds or thousands of small tasks, how to limit the number of jobs running at once, and how to cancel multiple jobs.
MATLAB - Improving performance
This workshop will cover basic performance optimization techniques using MATLAB, including - code profiling, pre-allocation, sequential memory access, vectorization, and efficient matrix-vector storage and operations. We will assume that participants have a basic understanding of the MATLAB programming language.
MATLAB - Tools for Parallel Computing
This workshop will cover basic performance optimization techniques using parallel computing techniques in MATLAB, including - parallel for-loops (parfor), single program multiple data (spmd), and distributed arrays. We assume that participants have a relatively advanced knowlege of the MATLAB programming language and have written at least one scientific computing application.
Using MATLAB on Oscar
An introduction to using MATLAB on Oscar. Topics covered include working with MATLAB interactively on Oscar, using the MATLAB GUI, and using MATLAB in batch jobs.
Version Control with Git
A practical introduction to version control for software management using Git. Topics covered include creating a repository, checking the status of a repository, committing changes, viewing changes, reverting to older versions of files, and setting up a remote repository.
Working on the Command Line
A practical introduction to the Linux operating system. Topics covered include basic Linux commands for maneuvering within the file system and manipulating files, Unix shells, and working with environment variables and paths.