Training - Courses
DC01: Distributed and Parallel Computing with MATLAB |
Distributed and 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™ 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
- Distributed jobs
- Distributed programming considerations
- Prototyping parallel jobs
- Parallel programming considerations
- Increasing scale with multiple systems
- Installation and troubleshooting (optional)
- Schedulers (optional)
| Detailed course outline |
|---|
| Day 1 of 2 | |
|---|---|
| Introduction | Objectives
|
| Overview | Objective: This section introduces a distributed approach to running MATLAB code through the use of multiple MATLAB sessions. Interactive techniques for prototyping in a distributed environment are highlighted. The concepts in this section also introduce several ideas explored throughout the course.
|
| Distributed Jobs | Objective: This section outlines the key steps for running a distributed job in a batch environment. The emphasis is on interacting with the various Parallel Computing Toolbox™ objects to create and run distributed jobs that run in batch.
|
| Distributed Programming Considerations | Objective: This section identifies important considerations for programming distributed jobs including decomposing a problem and partitioning input. Through the use of hands-on examples, it also explores various techniques typically employed to achieve speedup.
|
| Day 2 of 2 | |
| Prototyping Parallel Jobs | Objective: This section revisits an interactive environment for prototyping, but 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.
|
| Parallel Programming Considerations | 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 | Objectives: 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.
|
| (Optional) Installation and Troubleshooting | Objectives: This section is targeted towards system administrators and those responsible for installing and maintaining a cluster. Provided in this section is a walk through of product setup, as well as testing and troubleshooting techniques.
|
| (Optional) Schedulers | Objective: This section covers the use of various scheduler products as part of a distributed computing environment. Scheduler benefits and tradeoffs, in addition to steps for integration, are key components.
|
Prerequisites
MATLAB Fundamentals and Programming Techniques (ML01), or equivalent experience using MATLAB
Course Length - 2 days
Price - $1,300.00
Store