Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Functions
uni20::cusolver Namespace Reference

Classes

class  CusolverError
 Exception carrying a failed cuSOLVER operation and device identity. More...
 
class  ExecutionLease
 Move-only pairing of one cuSOLVER handle slot and one idle stream. More...
 
class  ExecutionPool
 Device-local cuSOLVER handle pool paired with the shared stream pool. More...
 
class  HandleSlot
 One reusable cuSOLVER handle and its handle-local state. More...
 

Functions

void check (cusolverStatus_t status, std::string_view operation, int device, std::source_location where=std::source_location::current())
 Raise unless a cuSOLVER call returned CUSOLVER_STATUS_SUCCESS.
 
ExecutionPool & execution_pool (cuda::DeviceResources &resources)
 Return the lazily constructed cuSOLVER execution pool for one device.
 
ExecutionPool & execution_pool (cuda::DeviceResources &resources, std::size_t handle_count)
 Configure or return the canonical cuSOLVER execution pool for one device.
 
void raise_error (cusolverStatus_t status, std::string_view operation, int device, std::source_location where=std::source_location::current())
 Raise a structured cuSOLVER provider failure.
 
std::string_view status_name (cusolverStatus_t status) noexcept
 Return a stable symbolic name for a cuSOLVER status value.
 

Function Documentation

◆ check()

void uni20::cusolver::check ( cusolverStatus_t  status,
std::string_view  operation,
int  device,
std::source_location  where 
)

Raise unless a cuSOLVER call returned CUSOLVER_STATUS_SUCCESS.

◆ execution_pool() [1/2]

ExecutionPool & uni20::cusolver::execution_pool ( cuda::DeviceResources &  resources)

Return the lazily constructed cuSOLVER execution pool for one device.

Unless configured explicitly, the pool contains two handles, capped by the device's stream capacity.

◆ execution_pool() [2/2]

ExecutionPool & uni20::cusolver::execution_pool ( cuda::DeviceResources &  resources,
std::size_t  handle_count 
)

Configure or return the canonical cuSOLVER execution pool for one device.

This first-use configuration must precede concurrent provider use. Repeated calls must request the same handle count. The handle count cannot exceed the device's stream capacity.

Parameters
resourcesDevice resources that own the canonical pool.
handle_countNumber of reusable cuSOLVER handles.

◆ raise_error()

void uni20::cusolver::raise_error ( cusolverStatus_t  status,
std::string_view  operation,
int  device,
std::source_location  where 
)

Raise a structured cuSOLVER provider failure.

◆ status_name()

std::string_view uni20::cusolver::status_name ( cusolverStatus_t  status)
noexcept

Return a stable symbolic name for a cuSOLVER status value.