Jacket Lectures |
Torben's Corner |
Jacket is used in course instruction at many universities around the world. Professors and course instructors use Jacket to provide engineering students with GPU acceleration of MATLAB algorithms and to bring HPC to MATLAB courses.
Below we share six lectures from Professor Torben Larsen at Aalborg University. These lectures contain great content and can provide a jump start to your lecture preparations. For more information, visit Torben's Corner.
|
Lecture 1 - Parallel HPC - Introduction The objective of the course is to provide you with knowledge of GPU based computing. You will know about the strengths and weaknesses of the GPU computing paradigm. You will get hands on experience in programming single and multiple GPUs by use of MATLAB and Jacket. And you will learn to benchmark the code you develop. Download |
|
Lecture 2 - Jacket Introduction
Introduction topics include: |
|
Lecture 3 - Basic Programming Basic topics covered include programming methodology for organizing code, such as how to use functions and sub-functions and how to maintain CPU and GPU versions in 1-file. Also, efficient array indexing is explored for top performance. Different ways of acquiring system information are shown. Benchmarking MATLAB and Jacket functions is discussed. Running Jacket code on non-Jacket enabled MATLAB installations is explained. Computational threads are included as well as thoughts on handling scalars and how Jacket handles row vs column major arrays. Download |
|
Lecture 4 - Advanced Programming Advanced topics include GPU characteristics, exploring architectures along with their strengths and weaknesses in relation to computing. Stop-Resume paradigm's are explored. GFOR loops are covered in-depth, including objectives, working principles, characteristics, memory, along with a case study. Handling large amounts of data is explored. Finally, a Jacobi and Hessian computational problem is used to motivate these lessons. Download |
|
Lecture 5 - Programming Multiple GPUs Multi-GPU topics covered include SPMD ("Single Program Multiple Data"), with an intro, example, and overview. Mechanisms for selecting specific GPUs are explained. An example for simultaneous multi-GPU experiments is shared. A case study for multiple GPU computations is analyzed along with implementation and results. Download |
|
Lecture 6 - Benchmarking This lecture explains best practices for timing Jacket and MATLAB code. The Objective: Measure the time it takes to run a certain function. Indicate speedup for Jacket relative to MATLAB. Requirements: 1) Results must be correct; measure what we actually want to measure, 2) Reproducible; we should be able to get the same result several 8mes if the conditions are the same, and 3) Easy to use; if it is easy to use we are more likely to use it. Download |






