docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
cuda.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
11
12namespace sdfg {
13namespace cuda {
14
15inline std::string CUDA_DEVICE_PREFIX = "__daisy_cuda_";
16
17constexpr int CUDA_WARP_SIZE = 32;
18
23
29
35
36// Use shared GPU dimension type
38
44public:
45 static const std::string value() {
46 return "CUDA_Offload";
47 }
48};
49
56class ScheduleType_CUDA : public gpu::ScheduleType_GPU_Base<ScheduleType_CUDA> {
57public:
58 static const std::string value() {
59 return "CUDA";
60 }
64};
65
67
69
70
73 const codegen::LanguageExtension& language_extension,
74 const std::string& status_variable
75);
76
78
80 codegen::PrettyPrinter& stream, const codegen::LanguageExtension& language_extension, bool instrumented
81);
82
83
84} // namespace cuda
85} // namespace sdfg
Definition language_extension.h:39
Definition utils.h:16
CUDA schedule type inheriting shared GPU functionality Provides CUDA-specific value() and default blo...
Definition cuda.h:43
static const std::string value()
Definition cuda.h:45
CUDA schedule type inheriting shared GPU functionality Provides CUDA-specific value() and default blo...
Definition cuda.h:56
static symbolic::Integer default_block_size_x()
Definition cuda.h:61
static const std::string value()
Definition cuda.h:58
Base class for GPU schedule types (CUDA/ROCm) using CRTP pattern.
Definition gpu_schedule_type.h:26
Base class for GPU schedule types (CUDA/ROCm) using CRTP pattern.
Definition gpu_offload_schedule_type.h:123
Integer integer(int64_t value)
Creates an integer constant.
SymEngine::RCP< const SymEngine::Integer > Integer
Reference-counted pointer to a SymEngine Integer constant.
Definition symbolic.h:77
StringEnum TargetType
Definition instrumentation_info.h:32
Definition cuda_library_node_rewriter_pass.h:11
data_flow::ImplementationType ImplementationType_CUDAWithTransfers
CUDA implementation with automatic memory transfers Used for CUBLAS, memset, and other CUDA-accelerat...
Definition cuda.h:28
void cuda_error_checking(codegen::PrettyPrinter &stream, const codegen::LanguageExtension &language_extension, const std::string &status_variable)
bool do_cuda_error_checking()
gpu::GPUDimension CUDADimension
Definition cuda.h:37
void check_cuda_kernel_launch_errors(codegen::PrettyPrinter &stream, const codegen::LanguageExtension &language_extension, bool instrumented)
data_flow::ImplementationType ImplementationType_CUDA
Generic CUDA implementation.
Definition cuda.h:22
data_flow::ImplementationType ImplementationType_CUDAWithoutTransfers
CUDA implementation without memory transfers Used for CUBLAS, memset, and other CUDA-accelerated libr...
Definition cuda.h:34
codegen::TargetType TargetType_CUDA_Offload
Definition cuda.h:66
codegen::TargetType TargetType_CUDA
Definition cuda.h:68
constexpr int CUDA_WARP_SIZE
Definition cuda.h:17
std::string CUDA_DEVICE_PREFIX
Definition cuda.h:15
StringEnum ImplementationType
Implementation type identifier for library nodes.
Definition library_node.h:75
GPUDimension
Shared GPU dimension enum for CUDA/ROCm targets Represents the X, Y, Z dimensions used for GPU kernel...
Definition gpu_types.h:10
Definition analysis.h:7