The Intel oneAPI Toolkits based on Data Parallel C++ (DPC++) - modern C++ and SYCL - allows developers to develop, optimize, and deploy algorithms for accelerated computing across XPU architectures (CPU, GPU, FPGA, and other accelerators).
- Articulate how oneAPI can help to solve the challenges of programming in a heterogeneous world.
- Understand the DPC++ language and programming model.
- Profile a DPC++ application using Intel VTune Profiler on Intel DevCloud.
- Learn how to migrate CUDA code to Data Parallel C++ using the Intel DPC++ Compatibility tool.
- Overview of Intel oneAPI and Data Parallel C++
- Introduction to the Intel DevCloud
- Setup of Intel DevCloud and JupyterLab Environment
- DPC++ Program Structure
- Demonstration of Intel VTune Profiler on Intel DevCloud
- Demonstration of Intel DPC++ Compatibility Tool on Intel DevCloud
"Get 120 days of Free access (extensions available) of Intel DevCloud - a free development sandbox with access to the latest hardware from Intel and Intel oneAPI software."
Create an Intel DevCloud Account
Launch Jupyterlab on your Intel DevCloud account
Connect with Linux/macOS SSH Client
git clone https://github.com/mkhpc/oneAPI-Deep-Dive.git
| Notebook Name | Description |
|---|---|
| oneAPI_and_DPCPP_Intro | * Introduction and Motivation for oneAPI and DPC++ * DPC++ Hello World * Compiling DPC++ and DevCloud Usage * Lab Excercise: Vector Increment to Vector Add |
| DPCPP_Program_Structure | * Classes - device, device_selector, queue, basic kernels and ND-Range kernels, Buffers-Accessor memory model * DPC++ Code Anotomy * Implicit Dependency with Accessors, Synchronization with Host Accessor and Buffer Destruction * Creating Custom Device Selector * Lab Exercise: Complex Multiplication |
| Intel_VTune_Profiler | * Intel VTune™ Profiler usage in Intel DevCloud environment using command-line options * Lab Excercise: VTune Profiling by collecting gpu_hotspots for iso3dfd hotspots sample application. |
| DPCT_Intro | * Introduction of Intel® DPC++ Compatibility Tool * Lab Exercise: Use the Intel® DPC++ Compatibility Tool to quickly assist in the migration of simple user CUDA* code to DPC++ code |