Skip to main content

Module driver

Module driver 

Source
Expand description

Shared CUDA driver presence/loading helpers used by every cuBLAS / cuSPARSE / cuSOLVER routing module.

The GPU path uses ONE context model: cudarc’s device PRIMARY context (cuDevicePrimaryCtxRetain, bound in device_runtime::cuda_context_for). cuBLAS/cuSOLVER/cuSPARSE handles attach to that current context; there is no separate user cuCtxCreate context (its removal fixed the #1017 NOT_INITIALIZED handle failures). This module keeps only the libcuda presence probes, byte-size/layout helpers, and the check_cuda status wrap.

Functions§

array_from_row_major
Wrap a row-major flat buffer of shape (rows, cols) as an Array2<f64> without permutation. The buffer is consumed (no copy when its length matches). Returns None on a length mismatch.
check_cuda
cuda_compute_library_present
Returns whether the platform loader can open the named CUDA compute library (cublas, cusolver, cusparse).
cuda_driver_library_present
Returns whether the platform loader can open a CUDA driver library.
cuda_library_candidates
from_col_major
from_col_major_inplace
Convert a column-major flat buffer back into row-major Array2<f64>.
preload_cuda_driver
to_col_major
Repack a 2D ndarray::ArrayBase (row-major) into the column-major layout expected by every cuBLAS / cuSOLVER entry point.
to_i32
to_row_major
Borrow (or pack) a 2D array’s buffer in ROW-major (C) order.

Type Aliases§

CuResult