With practical examples on every parallel programming concept including training NN and deep learning model
- 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