Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions Libraries/oneMKL/guided_cuRAND_examples_SYCL_migration/README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# `cuRAND Migration` Sample
# `cuRAND to oneMKL RNG Migration` Sample

The `cuRAND Migration` sample is a collection of code samples that demonstrate the cuBLAS equivalent in Intel® oneAPI Math Kernel Library (oneMKL).
The `cuRAND to oneMKL RNG Migration` Sample is a collection of code samples that demonstrate the cuRAND equivalent SYCL API functionality in the Intel® oneAPI Math Kernel Library (oneMKL).

| Area | Description
|:--- |:---
| What you will learn | How to begin migrating CUDA code to a SYCL*-compliant equivalent
| What you will learn | How to migrate cuRAND API based source code to the equivalent SYCL*-compliant oneMKL Interfaces API for random number generation (RNG)
| Time to complete | 30 minutes
| Category | Code Optimization

For more information on oneMKL and complete documentation of all oneMKL routines, see https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-documentation.html.

## Purpose

The samples source code using SYCL were migrated from CUDA source code for offloading computations to a GPU/CPU. The sample demonstrates how to migrate code to SYCL, optimize the migration steps, and improve processing time.
The sample source code using SYCL was migrated from CUDA source code for offloading computations to a GPU/CPU. The sample demonstrates migrating code to SYCL, optimizing the migration steps, and improving execution time.

Each of the cuRAND samples source files shows the usage of different oneMKL cuRAND routines. All are basic programs containing the usage of a single method of generating pseudorandom numbers.
Each cuRAND sample source file shows the usage of different oneMKL RNG domain routines. All are basic programs demonstrating the usage for a single method of generating pseudorandom numbers.

>**Note**: This sample is based on the [*cuRAND Library - APIs Examples*](https://github.com/NVIDIA/CUDALibrarySamples/tree/master/cuRAND) samples in the NVIDIA/CUDALibrary GitHub repository.
>**Note**: This sample is based on the [*cuRAND Library - APIs Examples*](https://github.com/NVIDIA/CUDALibrarySamples/tree/master/cuRAND) samples in the NVIDIA/CUDALibrarySamples GitHub repository.

## Prerequisites

Expand All @@ -32,10 +32,10 @@ This sample contains two sets of sources in the following folders:

| Folder Name | Description
|:--- |:---
| `01_sycl_dpct_output` | Contains output of Intel® DPC++ Compatibility Tool used to migrate SYCL-compliant code from CUDA code. <br> This SYCL code has some unmigrated or incorrectly generated code that has to be manually fixed before it is functional. (The code does not work as supplied.)
| `02_sycl_dpct_migrated` | Contains SYCL to CUDA migrated code generated by using the Intel® DPC++ Compatibility Tool with the manual changes implemented to make the code fully functional.
| `01_sycl_dpct_output` | Contains initial output of the Intel® DPC++ Compatibility Tool used to migrate SYCL-compliant code from CUDA code. <br> It may contain not fully migrated or incorrectly generated code that has to be manually fixed before it is functional. (The code does not work as supplied.)
| `02_sycl_dpct_migrated` | Contains SYCL to CUDA migrated code generated using the Intel® DPC++ Compatibility Tool with the manual changes implemented to make the code fully functional.

These functions are classified into eight different directories, each based on a RNG engine. There are **48** samples:
These functions are classified into eight different directories, each based on an RNG engine. There are **48** samples:

## Set Environment Variables

Expand Down