Loading...
Searching...
No Matches
opennn::device Namespace Reference
Classes | |
| class | CublasMathModeGuard |
| class | CublasPointerModeGuard |
| class | CudaAllocationGrowthGuard |
| class | CudaBlockCacheBypass |
| class | CudaEvent |
| class | CudaGraphWorkspaceScope |
| struct | GraphExecDeleter |
| struct | GraphWorkspaceView |
| class | PinnedBuffer |
| class | StreamCapture |
Typedefs | |
| using | GraphWorkspaceRequirements = std::array<Index, static_cast<size_t>(GraphWorkspaceKind::Count)> |
| using | GraphWorkspaceViews = std::array<GraphWorkspaceView, static_cast<size_t>(GraphWorkspaceKind::Count)> |
| using | GraphExecHandle = unique_ptr<remove_pointer_t<DeviceGraphExec>, GraphExecDeleter> |
Enumerations | |
| enum class | CopyKind { HostToHost , HostToDevice , DeviceToHost , DeviceToDevice } |
| enum class | GraphWorkspaceKind { SharedScratch , Bf16Input , Bf16Gradient , Bf16ToFp32 , Int8Dequant , PoolingMask , NormPartials , GradientPartials , FlashAttention , Count } |
| enum class | BatchNormBackwardRung { Auto , StagedFp32 , PlainNative , OwnKernel } |
| enum class | BatchNormForwardRung { Auto , CudnnGraph , OwnKernel } |
| enum class | MaxPoolingRung { Auto , Cudnn , OwnKernel } |
| enum class | AttentionRung { Auto , CudnnGraph , FlashAttention } |
Variables | |
| constexpr std::array< const char *, static_cast< size_t >(GraphWorkspaceKind::Count)> | graph_workspace_labels |
| constexpr int | MAX_LANES = 4 |
Typedef Documentation
◆ GraphExecHandle
| using opennn::device::GraphExecHandle = unique_ptr<remove_pointer_t<DeviceGraphExec>, GraphExecDeleter> |
◆ GraphWorkspaceRequirements
| using opennn::device::GraphWorkspaceRequirements = std::array<Index, static_cast<size_t>(GraphWorkspaceKind::Count)> |
◆ GraphWorkspaceViews
| using opennn::device::GraphWorkspaceViews = std::array<GraphWorkspaceView, static_cast<size_t>(GraphWorkspaceKind::Count)> |
Enumeration Type Documentation
◆ AttentionRung
|
strong |
◆ BatchNormBackwardRung
|
strong |
◆ BatchNormForwardRung
|
strong |
◆ CopyKind
|
strong |
◆ GraphWorkspaceKind
|
strong |
◆ MaxPoolingRung
|
strong |
Function Documentation
◆ active_lane()
|
noexcept |
◆ allocate()
| void * opennn::device::allocate | ( | Device | , |
| Index | ) |
◆ allow_tf32()
|
noexcept |
◆ available_memory()
| size_t opennn::device::available_memory | ( | ) |
◆ begin_cuda_shutdown()
|
noexcept |
◆ check_last_error()
| void opennn::device::check_last_error | ( | ) |
◆ conv_autotune_enabled()
|
noexcept |
◆ conv_workspace_limit_bytes()
|
noexcept |
◆ copy_async() [1/2]
| void opennn::device::copy_async | ( | void * | , |
| const void * | , | ||
| Index | , | ||
| CopyKind | , | ||
| DeviceStream | = nullptr ) |
◆ copy_async() [2/2]
| void opennn::device::copy_async | ( | void * | , |
| const void * | , | ||
| Index | , | ||
| Device | , | ||
| Device | , | ||
| DeviceStream | = nullptr ) |
◆ cuda_allocation_growth_forbidden()
|
noexcept |
◆ cuda_compute_capability()
|
noexcept |
◆ cuda_matmul_plan_creation_forbidden()
|
noexcept |
◆ cuda_unavailable_reason()
|
noexcept |
◆ deallocate()
|
noexcept |
◆ energy_meter_available()
|
noexcept |
◆ energy_meter_begin()
|
noexcept |
◆ energy_meter_window_watts()
|
noexcept |
◆ get_compute_stream()
| DeviceStream opennn::device::get_compute_stream | ( | ) |
◆ get_cublas_handle()
| BlasHandle opennn::device::get_cublas_handle | ( | ) |
◆ get_cublas_lt_handle()
| BlasLtHandle opennn::device::get_cublas_lt_handle | ( | ) |
◆ get_cudnn_handle()
| DnnHandle opennn::device::get_cudnn_handle | ( | ) |
◆ get_op_tensor_add_descriptor()
| DnnOpTensorDescriptor opennn::device::get_op_tensor_add_descriptor | ( | ) |
◆ get_transfer_stream()
| DeviceStream opennn::device::get_transfer_stream | ( | ) |
◆ gpu_info_string()
|
noexcept |
◆ graph_workspace_override()
| optional< void * > opennn::device::graph_workspace_override | ( | GraphWorkspaceKind | , |
| Index | minimum_bytes ) |
◆ has_cuda_device()
|
noexcept |
◆ is_cuda_build()
|
constexprnoexcept |
◆ lane_stream()
| DeviceStream opennn::device::lane_stream | ( | int | lane | ) |
◆ lanes_available()
|
noexcept |
◆ launch_graph()
| void opennn::device::launch_graph | ( | const GraphExecHandle & | , |
| DeviceStream | ) |
◆ lt_plan_cache_directory()
|
noexcept |
◆ record_event()
| void opennn::device::record_event | ( | DeviceEvent | , |
| DeviceStream | ) |
◆ refresh_blas_math_mode()
| void opennn::device::refresh_blas_math_mode | ( | ) |
◆ reset_last_error()
|
noexcept |
◆ rung()
template<typename Rung>
|
noexcept |
◆ set_active_lane()
| void opennn::device::set_active_lane | ( | int | lane | ) |
◆ set_allow_tf32()
|
noexcept |
◆ set_conv_autotune()
|
noexcept |
◆ set_conv_workspace_auto_limit_bytes()
|
noexcept |
◆ set_conv_workspace_cap()
|
noexcept |
◆ set_cuda_allocation_growth_forbidden()
|
noexcept |
◆ set_rung()
template<typename Rung>
|
noexcept |
◆ set_zero()
| void opennn::device::set_zero | ( | void * | , |
| Index | , | ||
| Device | ) |
◆ set_zero_async()
| void opennn::device::set_zero_async | ( | void * | , |
| Index | , | ||
| DeviceStream | = nullptr ) |
◆ stream_wait_event()
| void opennn::device::stream_wait_event | ( | DeviceStream | , |
| DeviceEvent | ) |
◆ synchronize()
| void opennn::device::synchronize | ( | DeviceStream | = nullptr | ) |
◆ synchronize_event()
| void opennn::device::synchronize_event | ( | DeviceEvent | ) |
Variable Documentation
◆ graph_workspace_labels
|
inlineconstexpr |
Initial value:
= {"shared_scratch", "bf16_input", "bf16_gradient",
"bf16_to_fp32", "int8_dequant", "pooling_mask", "norm_partials",
"gradient_partials", "flash_attention"}
◆ MAX_LANES
|
constexpr |