Training - Courses
MLPC: Parallel Computing with MATLAB |
Parallel Computing with MATLAB® is a two-day course introducing tools and techniques for distributing code and writing parallel algorithms in MATLAB. The course shows how to use the Parallel Computing Toolbox software to increase both the speed and the scale of existing code. Attendees who are working with long-running simulations, or large data sets, will benefit from the hands-on demonstrations and exercises in the course. Topics include:
- Working with a MATLAB pool
- Speeding up computations
- Task-parallel programming
- Working with large data sets
- Data-parallel programming
- Increasing scale with multiple systems
- Installation and troubleshooting (optional)
- Schedulers (optional)
Note: A 1 hour test session will be scheduled one day prior to the first day of class. This session is to verify that the visual and audio connection is working properly on your computer. The required product software should be installed for the test session. It is highly recommended that you attend this session to ensure a successful and timely class start.
VIEW SCHEDULE and Register SHARE with Manager/Colleague| Detailed course outline |
|---|
| Day 1 of 2 | |
|---|---|
| Working with a MATLAB® Pool | Objective: This section introduces a parallel approach to running MATLAB code through the use of multiple MATLAB sessions. Interactive techniques for prototyping in a parallel environment are highlighted. The concepts in this section also introduce several ideas explored throughout the course.
|
| Speeding up Computations | Objective: This section outlines the key steps for running parallel computations in a batch environment. The emphasis is on interacting with the various Parallel Computing Toolbox objects to create and run jobs that run in batch.
|
| Task-Parallel Programming | Objective: This section identifies important considerations for programming task-parallel jobs including decomposing a problem and partitioning input. Through use of a hands-on example, it also explores various techniques typically employed to achieve speedup.
|
| Day 2 of 2 | |
|---|---|
| Working with Large Data Sets | Objective: This section explores working with arrays in a parallel environment, with an emphasis on parallel algorithms. Spitting large datasets across multiple instances of MATLAB, as well as simultaneously performing the same operation on the various portions, will be key themes. This chapter concludes by running prototyped code in a batch parallel job.
|
| Data-Parallel Programming | Objective: This section explores the important programming considerations for parallel jobs. In addition, this section introduces using the communication features in parallel jobs for creating special architectures to solve specific types of parallel problems.
|
| Increasing Scale with Multiple Systems | Objective: This section demonstrates tools for harnessing the power of multiple systems on a network for running code. Highlighted in the chapter are techniques for working with a heterogeneous mix of systems, as well as special features available in a full cluster of system.
|
Prerequisites
MATLAB® Fundamentals, or equivalent experience using MATLABCourse Length - 2 days