docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
rocm.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
11
12namespace sdfg {
13namespace rocm {
14
15inline std::string ROCM_DEVICE_PREFIX = "__daisy_hip_";
16
17constexpr int ROCM_WARP_SIZE = 64;
18
23
29
35
36// Use shared GPU dimension type
38
44public:
45 static const std::string value() {
46 return "ROCM_Offload";
47 }
48};
49
56class ScheduleType_ROCM : public gpu::ScheduleType_GPU_Base<ScheduleType_ROCM> {
57public:
58 static const std::string value() {
59 return "ROCM";
60 }
64};
65
67
69
70
73 const codegen::LanguageExtension& language_extension,
74 const std::string& status_variable
75);
76
78
87
89
90} // namespace rocm
91} // namespace sdfg
Definition language_extension.h:39
Definition utils.h:16
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
ROCM schedule type inheriting shared GPU functionality Provides ROCM-specific value() and default blo...
Definition rocm.h:43
static const std::string value()
Definition rocm.h:45
ROCM schedule type inheriting shared GPU functionality Provides ROCM-specific value() and default blo...
Definition rocm.h:56
static symbolic::Integer default_block_size_x()
Definition rocm.h:61
static const std::string value()
Definition rocm.h:58
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
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 rocm_library_node_rewriter_pass.h:9
codegen::TargetType TargetType_ROCM_Offload
Definition rocm.h:66
void check_rocm_kernel_launch_errors(codegen::PrettyPrinter &stream, const codegen::LanguageExtension &language_extension)
data_flow::ImplementationType ImplementationType_ROCMWithoutTransfers
ROCM implementation without memory transfers Used for ROCm BLAS, memset, and other ROCm-accelerated l...
Definition rocm.h:34
bool do_rocm_error_checking()
std::string ROCM_DEVICE_PREFIX
Definition rocm.h:15
data_flow::ImplementationType ImplementationType_ROCMWithTransfers
ROCM implementation with automatic memory transfers Used for ROCm BLAS, memset, and other ROCm-accele...
Definition rocm.h:28
codegen::TargetType TargetType_ROCM
Definition rocm.h:68
void rocm_error_checking(codegen::PrettyPrinter &stream, const codegen::LanguageExtension &language_extension, const std::string &status_variable)
int rocm_wavefront_size()
Wavefront width of the target device, queried once at codegen time.
constexpr int ROCM_WARP_SIZE
Definition rocm.h:17
gpu::GPUDimension ROCMDimension
Definition rocm.h:37
data_flow::ImplementationType ImplementationType_ROCM
Generic ROCM implementation.
Definition rocm.h:22
Definition analysis.h:7