Essentials of Data Parallel C++

Learn the fundamentals of this language designed for data parallel and heterogeneous computing through hands-on practice in this guided learning path.

Start Learning DPC++

Get hands-on practice with code samples in Jupyter Notebooks running live on Intel DevCloud.

Intel® DevCloud   Sign Up   Sign In

To get started:

  1. Sign in to Intel DevCloud, select One Click Log In for JupyterLab, and then select Launch Server (if needed).
  2. Open the oneAPI_Essentials folder, and then select 00_Introduction_to_Jupyter to open the folder.
  3. Select Introduction_to_Jupyter.ipynb.
  4. If you already have an Intel DevCloud account, it may be necessary to update oneAPI_Essentials. To do this, scroll to the bottom of Introduction_to_Jupyter.ipynb and execute the last code cell.
  5. Refresh your browser.

Introduction to JupyterLab* and Notebooks

Use Jupyter Notebooks to modify and run code as part of learning exercises.

To begin, open Introduction_to_Jupyter.ipnyb.

Introduction to DPC++

  • Articulate how oneAPI can help to solve the challenges of programming in a heterogeneous world.
  • Use oneAPI solutions to enable your workflows.
  • Understand the DPC++ language and programming model.
  • Become familiar with using Jupyter Notebooks for training throughout the course.

DPC++ Program Structure

  • Articulate the SYCL fundamental classes.
  • Use device selection to offload kernel workloads.
  • Decide when to use basic parallel kernels and ND Range Kernels.
  • Create a host accessor.
  • Build a sample DPC++ application through hands-on lab exercises.

DPC++ Unified Shared Memory

  • Use new DPC++ features like Unified Shared Memory (USM) to simplify programming.
  • Understand implicit and explicit ways of moving memory using USM.
  • Solve data dependency between kernel tasks in an optimal way.

DPC++ Sub-Groups

  • Understand advantages of using Sub-groups in DPC++.
  • Take advantage of Sub-group collectives in ND-Range kernel implementation.
  • Use Sub-group Shuffle operations to avoid explicit memory operations.

Demonstration of Intel® Advisor

  • See how Offload Advisor¹ identifies and ranks parallelization opportunities for offload.
  • Run Offload Advisor using command line syntax.
  • Use performance models and analyze generated reports.

¹Offload Advisor is a feature of Intel Advisor installed as part of the Intel oneAPI Base Toolkit.

Intel® VTune™ Profiler on Intel® DevCloud

  • Profile a DPC++ application using Intel® VTune™ Profiler on Intel® DevCloud.
  • Understand the basics of command line options in Intel VTune Profiler to collect data and generate reports.

Introduction to oneDPL: A Set of oneDPC++ Libraries

  • Simplify DPC++ programming using Intel® oneAPI DPC++ Library (oneDPL).
  • Use DPC++ Library algorithms for heterogeneous computing.
  • Implement oneDPL algorithms using buffers and unified shared memory.

产品和性能信息

1

性能因用途、配置和其他因素而异。请访问 www.Intel.cn/PerformanceIndex 了解更多信息。