Skip to main content

cusolverDnIRSParamsSetTolInner

Function cusolverDnIRSParamsSetTolInner 

Source
pub unsafe extern "C" fn cusolverDnIRSParamsSetTolInner(
    params: cusolverDnIRSParams_t,
    val: f64,
) -> cusolverStatus_t
Expand description

This function sets the tolerance for the inner refinement solver when the refinement solver consists of two-levels solver (for example, cusolverIRSRefinement_t::CUSOLVER_IRS_REFINE_CLASSICAL_GMRES or cusolverIRSRefinement_t::CUSOLVER_IRS_REFINE_GMRES_GMRES cases). It is not referenced in case of one level refinement solver such as cusolverIRSRefinement_t::CUSOLVER_IRS_REFINE_CLASSICAL or cusolverIRSRefinement_t::CUSOLVER_IRS_REFINE_GMRES. It is set to 1e-4 by default. This function sets the tolerance for the inner solver (e.g. the inner GMRES). For example, if the Refinement Solver was set to cusolverIRSRefinement_t::CUSOLVER_IRS_REFINE_CLASSICAL_GMRES, setting this tolerance mean that the inner GMRES solver will converge to that tolerance at each outer iteration of the classical refinement solver. Our goal is to give the user more control such a way he can investigate and control every detail of the IRS solver. Note the, the tolerance value is always in real double precision whatever the Inputs/Outputs datatype is.

§Parameters

  • params: The cusolverDnIRSParams_t Params structure.
  • val: Double precision real value to which the tolerance of the inner refinement solver will be set.

§Return value