docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::cuda Namespace Reference

Namespaces

namespace  blas
namespace  tensor
namespace  stdlib
namespace  tiles

Classes

class  CudaLibraryNodeRewriter
class  CudaLibraryNodeTransferExtractionVisitor
class  CUDALanguageExtension
class  ScheduleType_CUDA_Offload
 CUDA schedule type inheriting shared GPU functionality Provides CUDA-specific value() and default block size (32 for warp size). More...
class  ScheduleType_CUDA
 CUDA schedule type inheriting shared GPU functionality Provides CUDA-specific value() and default block size (32 for warp size). More...
class  CUDADataOffloadingNode
class  CUDADataOffloadingNodeDispatcher
class  CUDADataOffloadingNodeSerializer
class  CUDAMapDispatcher
class  CUDAOffloadDispatcherStrategy
 CUDA specialization of gpu::GPUOffloadMapDispatcher. More...
class  CUDAReduceDispatcher
 Atomics-based CUDA code generator for structured_control_flow::Reduce. More...
class  CUBLASDataTransferExtraction
class  CUDAOffloadTransform
class  CUDASoftmaxDataTransferExtraction
class  CUDAStdlibDataTransferExtraction
class  CUDATransform
 Offloads a top-level loop to a CUDA kernel (X grid dimension). More...

Typedefs

typedef passes::VisitorPass< CudaLibraryNodeRewriter > CudaLibraryNodeRewriterPass
typedef passes::VisitorPass< CudaLibraryNodeTransferExtractionVisitor > CudaLibraryNodeTransferExtractionPass
using CUDADimension = gpu::GPUDimension

Functions

void cuda_error_checking (codegen::PrettyPrinter &stream, const codegen::LanguageExtension &language_extension, const std::string &status_variable)
bool do_cuda_error_checking ()
void check_cuda_kernel_launch_errors (codegen::PrettyPrinter &stream, const codegen::LanguageExtension &language_extension, bool instrumented)
data_flow::LibraryNodeCode LibraryNodeType_CUDA_Offloading ("CUDAOffloading")
void register_cuda_plugin (plugins::Context &context)
void register_cuda_plugin ()

Variables

std::string CUDA_DEVICE_PREFIX = "__daisy_cuda_"
constexpr int CUDA_WARP_SIZE = 32
data_flow::ImplementationType ImplementationType_CUDA {"CUDA"}
 Generic CUDA implementation.
data_flow::ImplementationType ImplementationType_CUDAWithTransfers {"CUDAWithTransfers"}
 CUDA implementation with automatic memory transfers Used for CUBLAS, memset, and other CUDA-accelerated library nodes.
data_flow::ImplementationType ImplementationType_CUDAWithoutTransfers {"CUDAWithoutTransfers"}
 CUDA implementation without memory transfers Used for CUBLAS, memset, and other CUDA-accelerated library nodes assuming data is already on GPU.
codegen::TargetType TargetType_CUDA_Offload {ScheduleType_CUDA_Offload::value()}
codegen::TargetType TargetType_CUDA {ScheduleType_CUDA::value()}

Typedef Documentation

◆ CUDADimension

◆ CudaLibraryNodeRewriterPass

◆ CudaLibraryNodeTransferExtractionPass

Function Documentation

◆ check_cuda_kernel_launch_errors()

void sdfg::cuda::check_cuda_kernel_launch_errors ( codegen::PrettyPrinter & stream,
const codegen::LanguageExtension & language_extension,
bool instrumented )

◆ cuda_error_checking()

void sdfg::cuda::cuda_error_checking ( codegen::PrettyPrinter & stream,
const codegen::LanguageExtension & language_extension,
const std::string & status_variable )

◆ do_cuda_error_checking()

bool sdfg::cuda::do_cuda_error_checking ( )

◆ LibraryNodeType_CUDA_Offloading()

data_flow::LibraryNodeCode sdfg::cuda::LibraryNodeType_CUDA_Offloading ( "CUDAOffloading" )
inline

◆ register_cuda_plugin() [1/2]

void sdfg::cuda::register_cuda_plugin ( )
inline
Deprecated
use the variant with explicit context

◆ register_cuda_plugin() [2/2]

void sdfg::cuda::register_cuda_plugin ( plugins::Context & context)

Variable Documentation

◆ CUDA_DEVICE_PREFIX

std::string sdfg::cuda::CUDA_DEVICE_PREFIX = "__daisy_cuda_"
inline

◆ CUDA_WARP_SIZE

int sdfg::cuda::CUDA_WARP_SIZE = 32
constexpr

◆ ImplementationType_CUDA

data_flow::ImplementationType sdfg::cuda::ImplementationType_CUDA {"CUDA"}
inline

Generic CUDA implementation.

◆ ImplementationType_CUDAWithoutTransfers

data_flow::ImplementationType sdfg::cuda::ImplementationType_CUDAWithoutTransfers {"CUDAWithoutTransfers"}
inline

CUDA implementation without memory transfers Used for CUBLAS, memset, and other CUDA-accelerated library nodes assuming data is already on GPU.

◆ ImplementationType_CUDAWithTransfers

data_flow::ImplementationType sdfg::cuda::ImplementationType_CUDAWithTransfers {"CUDAWithTransfers"}
inline

CUDA implementation with automatic memory transfers Used for CUBLAS, memset, and other CUDA-accelerated library nodes.

◆ TargetType_CUDA

codegen::TargetType sdfg::cuda::TargetType_CUDA {ScheduleType_CUDA::value()}
inline

◆ TargetType_CUDA_Offload

codegen::TargetType sdfg::cuda::TargetType_CUDA_Offload {ScheduleType_CUDA_Offload::value()}
inline