DPC++ Runtime
Runtime libraries for oneAPI DPC++
pi_cuda.hpp File Reference
#include "CL/sycl/detail/pi.h"
#include <array>
#include <atomic>
#include <cassert>
#include <cstring>
#include <cuda.h>
#include <functional>
#include <limits>
#include <mutex>
#include <numeric>
#include <stdint.h>
#include <string>
#include <unordered_map>
#include <vector>
Include dependency graph for pi_cuda.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _pi_platform
 A PI platform stores all known PI devices, in the CUDA plugin this is just a vector of available devices since initialization is done when devices are used. More...
 
struct  _pi_device
 PI device mapping to a CUdevice. More...
 
struct  _pi_context
 PI context mapping to a CUDA context object. More...
 
struct  _pi_context::deleter_data
 
struct  _pi_mem
 PI Mem mapping to CUDA memory allocations, both data and texture/surface. More...
 
union  _pi_mem::mem_
 A PI Memory object represents either plain memory allocations ("Buffers" in OpenCL) or typed allocations ("Images" in OpenCL). More...
 
struct  _pi_mem::mem_::buffer_mem_
 
struct  _pi_mem::mem_::surface_mem_
 
struct  _pi_queue
 PI queue mapping on to CUstream objects. More...
 
struct  _pi_event
 PI Event mapping to CUevent. More...
 
struct  _pi_program
 Implementation of PI Program on CUDA Module object. More...
 
struct  _pi_kernel
 Implementation of a PI Kernel for CUDA. More...
 
struct  _pi_kernel::arguments
 Structure that holds the arguments to the kernel. More...
 
struct  _pi_sampler
 Implementation of samplers for CUDA. More...
 

Macros

#define _PI_CUDA_PLUGIN_VERSION   1
 
#define _PI_CUDA_PLUGIN_VERSION_STRING   _PI_PLUGIN_VERSION_STRING(_PI_CUDA_PLUGIN_VERSION)
 

Typedefs

using _pi_stream_guard = std::unique_lock< std::mutex >
 
typedef void(* pfn_notify) (pi_event event, pi_int32 eventCommandStatus, void *userData)
 

Detailed Description

Declarations for CUDA Plugin. It is the interface between the device-agnostic SYCL runtime layer and underlying CUDA runtime.

Definition in file pi_cuda.hpp.

Macro Definition Documentation

◆ _PI_CUDA_PLUGIN_VERSION

#define _PI_CUDA_PLUGIN_VERSION   1

Definition at line 23 of file pi_cuda.hpp.

◆ _PI_CUDA_PLUGIN_VERSION_STRING

#define _PI_CUDA_PLUGIN_VERSION_STRING   _PI_PLUGIN_VERSION_STRING(_PI_CUDA_PLUGIN_VERSION)

Definition at line 25 of file pi_cuda.hpp.

Typedef Documentation

◆ _pi_stream_guard

using _pi_stream_guard = std::unique_lock<std::mutex>

Definition at line 65 of file pi_cuda.hpp.

◆ pfn_notify

typedef void(* pfn_notify) (pi_event event, pi_int32 eventCommandStatus, void *userData)

Definition at line 586 of file pi_cuda.hpp.