Migrating the SimpleCUDAGraphs from CUDA* to SYCL*

ID 779517
Updated 7/6/2023
Version Latest
Public

author-image

By

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.

 

References