This course was developed at the oneAPI Center of Excellence at UNN, which is supported by Intel.
Objective
The course focuses on high performance computing (HPC) using models, methods, and tools for parallel programming on Intel® platforms. The course is based on the new oneAPI heterogeneous programming model and its key component, the Data Parallel C++ (DPC++) open-source project that implements SYCL standards. DPC++ facilitates the development of portable HPC applications for CPUs, GPUs, FPGAs, and other devices.
Target Audience
The modular structure lets you adapt the content to different learning objectives and target audiences, and is appropriate for these audiences:
Curriculum
Refer to the following draft versions of the curriculum, which are under continuous development, much like oneAPI itself. Some of the materials were prepared by our colleagues from Intel, to whom we are very grateful.
Module 1: Architectural Mechanisms that Affect Performance Concurrency levels
Lectures 1.1-1.2
Module 2. Operating systems. Aspects of concurrency
Lecture 2.1. Operating Systems. Processes, threads, scheduling
Lecture 2.2. Operating Systems. Concurrency & synchronization
Practice 2.3. Operating Systems
Module 3: Programming using SYCL/Data Parallel C++
Lectures 3.1-3.2. Elements of modern C++
Practice 3.3. Elements of modern C++
Lecture 3.4. oneAPI DPC++ Introduction
Practice 3.5. DPC++ Hello World
Lecture 3.6. DPC++ Kernel Execution
Practice 3.7. Double Integrals Computation with Riemann Sums
Lecture 3.8. DPC++ Memory Management
Practice 3.9. Solving Systems of Linear Equations by the Jacobi Method
Lecture 3.10. DPC++ Optimization Tips
Practice 3.11. General Matrix Multiplication
Module 4: OneAPI Software Libraries and Tools
Lecture 4.1. Libraries IPP, oneVPL, oneDAL
Lecture 4.2. Libraries oneMKL, oneTBB, oneDPL
Practice 4.3. OneAPI Video Processing Library (oneVPL)
Master class 4.4. Performance Optimization with Intel VTune
Master class 4.5. Performance Optimization with Intel Advisor
Master class 4.6. High performance neural network inference with the Intel Distribution of OpenVINO toolkit
Module 5. High performance computing and scientific modeling. Examples of using
Master class 5.3. Integration of Maxwell’s Equations by the FDTD Method. Analysis and optimization of performance on CPUs and GPUs (under development)
Master class 5.4. Integration of Maxwell’s Equations by the FDTD Method. Mixed Precision Computing on CPUs and GPUs (under development)