Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
runtime.hpp File Reference

CUDA device, stream, resource, and scoped runtime primitives. More...

#include <uni20/backend/cuda/device.hpp>
#include <uni20/common/trace.hpp>
#include <cuda_runtime_api.h>
#include <atomic>
#include <cstddef>
#include <memory>
#include <mutex>
#include <optional>
#include <span>
#include <type_traits>
#include <typeindex>
#include <unordered_map>
#include <utility>
#include <vector>
Include dependency graph for runtime.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  uni20::cuda::Completion
 Shared completion token for one submitted CUDA operation. More...
 
class  uni20::cuda::DeviceResources
 Mutable stream and provider resources associated with one CUDA device. More...
 
struct  uni20::cuda::DeviceResources::Config
 Configuration for one device's mutable CUDA resources. More...
 
class  uni20::cuda::Runtime
 Scoped owner of the process-wide CUDA resource installation. More...
 
struct  uni20::cuda::RuntimeConfig
 Configuration for one scoped process-wide CUDA runtime installation. More...
 
class  uni20::cuda::ScopedDevice
 Temporarily select one CUDA device and restore the previous device on destruction. More...
 
class  uni20::cuda::Stream
 Reference-counted lease of one CUDA stream-pool slot. More...
 
class  uni20::cuda::StreamPool
 Device-local pool whose streams become available only after their queued work completes. More...
 
struct  uni20::cuda::StreamPool::Config
 Configuration for a device-local idle-stream pool. More...
 

Namespaces

namespace  uni20
 
namespace  uni20::cuda
 

Functions

DeviceResources & uni20::cuda::device_resources ()
 Return canonical resources for the installed runtime's default device.
 
DeviceResources & uni20::cuda::device_resources (int device)
 Return canonical resources for an enrolled CUDA device.
 
Runtime uni20::cuda::initialize (RuntimeConfig config={})
 Install and return a scoped process-wide CUDA runtime owner.
 
bool uni20::cuda::is_initialized () noexcept
 Return whether a process-wide CUDA runtime is currently installed.
 
Runtime & uni20::cuda::runtime ()
 Return the installed runtime or fail when CUDA was not initialized.
 

Detailed Description

CUDA device, stream, resource, and scoped runtime primitives.