2025 IAP Classes

ORCD will be teaching multiple classes to members of the MIT community during the January 2025 Independent Activities Period (IAP) at MIT. See the class sections below for more details.

  • Course Description

    Parallel computing has been an important research topic in science and technology for decades. Thanks to the fast-developing field of deep learning in recent years, parallel computing is being used for more broad interests. In this class, concepts of parallel computing will be introduced. Attendees will learn not only the basics of high-performance computing (HPC) clusters and GPU accelerators but also programming skills with OpenMP, MPI, CUDA, Pytorch, and Deepspeed. Examples and hands-on exercises will be provided in several programming languages including C, Fortran, and Python. These parallel programming skill sets are useful for researchers to accelerate their computer programs and helpful for students to be prepared for a career in information technology.

    Note: This is a non-credit class.

    Prerequisites/Requirements

    • Participants need prior minor programming experience in one of these languages: C, Fortran, Python, or Julia.
    • Participants will need to bring a laptop (either Mac or PC).
    • Participants must be current MIT students (undergraduate or graduate), post-doctoral associates, or researchers.

    Learning Objectives

    • Concepts of parallel computing and knowledge of accelerating computer programs on an HPC cluster
    • Parallel programming skills for CPU (OpenMP, MPI)
    • Parallel programming skills for GPU (CUDA, Pytorch, Deepspeed)

    Schedule and Agenda

    Note: The class agendas for both days are independent, so participants can choose to attend one or both days.

    Day 1 (Tuesday, January 14) - 10AM - 3PM (with a one hour break at 12PM) 

    • Introduction to basic concepts
    • OpenMP
    • MPI

    Day 2 (Wednesday, January 15) - 10AM - 3PM (with a one hour break at 12PM) 

    • GPU basics
    • CUDA programming
    • Deep learning on a GPU
    • Distributed deep learning

    Location

    This class will be held in-person on the MIT campus. The exact location will be announced to registrants before the class date.

    How to Sign Up

    Email the instructor, Shaohao Chen, for the registration link. You must be a current MIT student (undergraduate or graduate), post-doctoral associate, or researcher to take the class.

    Space in this class is limited. You must complete the registration form before 5PM ET on Monday, January 13, 2025; however, registration will close earlier if the class reaches capacity before that date.

  • Course Description

    As part of the Practical Computational Thinking IAP course series, the focus of this workshop is to introduce the role of High Performance Computing (HPC, aka supercomputing) in research. We will discuss the fields where HPC is used and provide concrete examples where we describe the strategies used to scale applications to hundreds of processors. Students will learn when to scale from their laptops to HPC, what challenges that introduces, and how to address those challenges with efficient HPC workflows. Engaging will be used for hands-on examples using C/C++, Julia, Matlab, and/or Python. We will also demonstrate applications using other computing resources on campus, such as the Satori and SuperCloud clusters. Students should bring an existing research problem/application that they would like to scale as a project.

    This is a blended course with asynchronous and live components. Much of the lecture is available before class in pre-recorded short videos and class time will be spent on hands-on activities and student research project work.

    Note: This is a non-credit class.

    Prerequisites/Requirements

    Working knowledge of one programming/scripting language. Laptop for hands-on exercises. Participants will get further instruction on how to access Engaging once registered for the class. Students should bring an existing research problem/application that they would like to scale as a project.

    Learning Objectives

    • Where is Supercomputing used? When? Why?
    • Know the differences between desktop/laptop and HPC system/supercomputers.
    • Understand how to identify HPC Workflows, plan for how to scale up, and measure performance.
    • Understand the basics of how to build a HPC Workflow for Engaging.
    • Know how to run a HPC Workflow on Engaging.

    Schedule and Agenda

    Dates: January 21, 23, 28, 30 (Tuesdays and Thursdays)

    Time: 2-5pm

    The class session topics are as follows:

    • Day 1: Introduction to Supercomputing Workflows and Systems
    • Day 2: Serial Optimization and Parallel Speedup
    • Day 3: Building and Running Parallel Workflows
    • Day 4: Distributed Computing

    Location

    This class will be held in-person on the MIT campus. The exact location will be announced to registrants before the class date.

    How to Sign Up

    Email the instructor, Lauren Milechin, for the registration link. You must be a current MIT student (undergraduate or graduate), post-doctoral associate, or researcher to take the class.

    Space in this class is limited. You must complete the registration form before 5PM ET on Monday, January 13, 2025; however, registration will close earlier if the class reaches capacity before that date.