DirectSolverOptions#

class nvmath.sparse.advanced.DirectSolverOptions(
sparse_system_type: int = MatrixType.GENERAL,
sparse_system_view: int = MatrixViewType.FULL,
multithreading_lib: str | None = None,
logger: Logger | None = None,
blocking: Literal[True, 'auto'] = 'auto',
handle: int | None = None,
)[source]#

A data class for providing options to the DirectSolver object and the wrapper function direct_solver().

sparse_system_type#

The type of the sparse system of equations (general, symmetric, symmetric positive definite, etc). The default is DirectSolverMatrixType.GENERAL.

Type:

DirectSolverMatrixType

sparse_system_view#

The desired view of the sparse system of equations (full, upper, lower). The default is DirectSolverMatrixViewType.FULL.

Type:

DirectSolverMatrixViewType

multithreading_lib#

The location (full path) to the library implementing the threading layer interface. TODO: link to docs and default pip path.

Type:

str | None

logger#

Python Logger object. The root logger will be used if a logger object is not provided.

Type:

logging.Logger

blocking#

A flag specifying the behavior of the execution functions and methods, such as direct_solver() and DirectSolver.solve(). When blocking is True, the execution methods do not return until the operation is complete. When blocking is "auto", the methods return immediately when the input tensor is on the GPU and execution is set to ‘CUDA’. The execution methods always block when the input tensor is on the CPU or execution is specified to ‘CPU’ to ensure that the user doesn’t inadvertently use the result before it becomes available. The default is "auto".

Type:

Literal[True, ‘auto’]

handle#

cuDSS library handle. A handle will be created if one is not provided.

Type:

int | None