MATLAB Parallel programming on GPUs, Cores and CPUs

With practical examples on every parallel programming concept including training NN and deep learning model

This course helps students, researchers, and anyone using the MATLAB decrease the execution time they take to execute a program

What you’ll learn

  • Run Deep learning models in parallel on GPUs.
  • Learn the difference between cores, CPUs and GPUs.
  • Learn the concept of multi-threading in MATLAB with examples.
  • Learn the concept of multi-workers in MATLAB with examples.
  • measuring the performance of each parallel computing code.
  • Learn how to convert your code to parallel computing to increase the performance.
  • Run MATLAB files and functions in the background.
  • Using GPUs to execute and Run MATLAB functions (Excellent performance).

Course Content

  • Introduction –> 2 lectures • 20min.
  • Multi-threading and Multi-cores with practical examples –> 12 lectures • 1hr 45min.
  • GPU parallel programming in MATLAB –> 5 lectures • 25min.
  • Run Deep learning and Neural network GPUS (parallel) –> 4 lectures • 52min.

MATLAB Parallel programming on GPUs, Cores and CPUs

Requirements

  • MATLAB basics.

This course helps students, researchers, and anyone using the MATLAB decrease the execution time they take to execute a program

All computers today and the laptops have multi-cores and GPUs. But not all users use the to run or execute the programs in parallel.

The purpose of the course is to fill this gap. Is to teach you with practical examples how to use all resources on your computer and also how to monitor them.

The course is divided into many sections:

  1. The first is an introduction to the hardware of the CPUs, cores, and GPUs. It is better to understand the basic components of these items to be able to get the best utilization when you use them.
  2. The second section is explaining two concepts. The multi-threading and the multi-workers. The first is a built-in mechanism to run some functions in parallel using many cores but we can’t control the number of cores and the way that the functions execute. The second one (multi-workers) is used to run any function on multiple cores but here we can control the number of cores to optimize the program execution. Also, I explained some examples and measured the performance parameters to differentiate between the two concepts.
  3. The third section is the GPU section. In the section, I explained how to run any function on the GPUs to make use of the hundred or thousands of cores that the GPUs have. There are some notations to get the best results and I explained all of these notations with examples.
  4. Deep learning and neural networks: in this section, you will learn how to train any neural network in parallel on GPUs or multi-cores. And also how to run the training process in the background in order to be able to use MATLAB while it is running.
Get Tutorial