MATLAB Parallel programming on GPUs, Cores and CPUs
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)
- 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:
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.
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.
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.
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.
Who this course is for:
- Students, researchers and engineers
I'm a Ph.D. student. I graduated from the computer and system engineering department in 2012 and I was ranked the second of my class.. Then, I worked as a teaching assistant for about 10 years in the same department. I also finished the master degree in 2019 in the field of aerospace and artificial intelligence. In the master, I built a model the detect the faults in the temperature control sub-system and then predicted a new values instead of the faulty ones. This model helping in discovering automatically some of the faults and the errors that are difficult to be discovered by human experts.
I also worked as embedded system instructor for 5 years.