Overview
The simpleCUDAGraphs sample shows the migration of simple explicit CUDA* Graph API's such as cudaGraphCreate, cudaGraphAddMemcpyNode, cudaGraphClone, etc., to SYCL equivalent API's using Taskflow programming model which manages a task dependency graph. The original CUDA* source code is migrated to SYCL for portability across GPUs from multiple vendors.
Area |
Description |
What you will learn |
Migrate Simple Jacobi CUDA Graphs sample from CUDA to SYCL |
Time to complete |
15 minutes |
Category | Concepts and Functionality |
Key Implementation Details
SYCL simpleCUDAGraphs sample performs a reduction operation to obtain the sum value from 16777216 number of elements in two different computational kernels reduce() and reduceFinal(). These kernels are scheduled through taskflow which develops a simple and powerful task programming model to enable efficient implementations of heterogeneous decomposition strategies and leverages both static and dynamic task graph constructions to incorporate computational patterns.
Original CUDA source files (GitHub*): simpleCudaGraphs.
Migrated SYCL source files including step-by-step instructions (GitHub): guided_simpleCudaGraphs_SYCLmigration.