quda icon indicating copy to clipboard operation
quda copied to clipboard

QUDA Solver Fails to Converge: Residual Exceeds Tolerance after Wilson Flow

Open VChahar1 opened this issue 5 months ago • 0 comments

Hi All, I am new to QUDA and I stuck in a problem foe a while now. When running a QUDA-enabled solver via Chroma, the solver fails to converge and throws the following

ERROR: QUDA Solver residuum for solution QMP m1,n8@ag0004 error: abort: 1
QMP m2,n8@ag0004 error: abort: 1
QMP m3,n8@ag0004 error: abort: 1
QMP m4,n8@ag0004 error: abort: 1
QMP m5,n8@ag0004 error: abort: 1
QMP m6,n8@ag0004 error: abort: 1
QMP m7,n8@ag0004 error: abort: 1
0 is outside tolerance: QUDA resid=0.870330978409276 Desired =1e-09 Max Tolerated = 1e-07

I am using the Multigrid solver. It doesn't matter the solver, tolerance is much higher then the desired one. This error occurs after using Wilson flow on the ensemble. for a default ensemble its running perfectly. If you have any solution for this issue, please help me.

The input for my XML file is (I have used same input parameters for both default gauge field and wilson flowed gauge field)

      <Name>PROPAGATOR</Name>
      <Frequency>1</Frequency>
      <Param>
        <version>10</version>
        <quarkSpinType>FULL</quarkSpinType>
        <obsvP>false</obsvP>
        <numRetries>1</numRetries>

        <FermionAction>
        <FermAct>CLOVER</FermAct>
        <Kappa>0.13754</Kappa>
    <clovCoeff>1.715</clovCoeff>
        <AnisoParam>
          <anisoP>false</anisoP>
          <t_dir>3</t_dir>
          <xi_0>1.0</xi_0>
          <nu>1.0</nu>
        </AnisoParam>
        <FermionBC>
          <FermBC>SIMPLE_FERMBC</FermBC>
          <boundary>1 1 1 -1</boundary>
        </FermionBC>
        </FermionAction>


    <InvertParam>
    <invType>QUDA_MULTIGRID_CLOVER_INVERTER</invType>
        <CloverParams>
          <Kappa>0.13754</Kappa>
          <clovCoeff>1.715</clovCoeff>
          <AnisoParam>
            <anisoP>false</anisoP>
            <t_dir>3</t_dir>
            <xi_0>1</xi_0>
            <nu>1</nu>
          </AnisoParam>
        </CloverParams>
          <RsdTarget>1e-9</RsdTarget>

          <Delta>1.0e-1</Delta>

          <MaxIter>500</MaxIter>

          <RsdToleranceFactor>100.0</RsdToleranceFactor>

          <AntiPeriodicT>true</AntiPeriodicT>

          <SolverType>MR</SolverType>

          <Verbose>true</Verbose>
          <AsymmetricLinop>true</AsymmetricLinop>

          <CudaReconstruct>RECONS_12</CudaReconstruct>
          <CudaSloppyPrecision>SINGLE</CudaSloppyPrecision>
          <CudaSloppyReconstruct>RECONS_12</CudaSloppyReconstruct>

          <AxialGaugeFix>false</AxialGaugeFix>
          <AutotuneDslash>true</AutotuneDslash>

          <MULTIGRIDParams>
              <Residual>1.0e-1</Residual>

              <CycleType>MG_RECURSIVE</CycleType>

              <RelaxationOmegaMG>1.0</RelaxationOmegaMG>
              <RelaxationOmegaOuter>1.0</RelaxationOmegaOuter>
              <MaxIterations>12</MaxIterations>
              <SmootherType>
              <elem>MR</elem>
              </SmootherType>

              <Verbosity>true</Verbosity>

              <Precision>HALF</Precision>
              <Reconstruct>RECONS_12</Reconstruct>

              <NullVectors>24 32</NullVectors>

              <OuterGCRNKrylov>20</OuterGCRNKrylov>

              <PrecondGCRNKrylov>10</PrecondGCRNKrylov>

              <GenerateNullspace>true</GenerateNullspace>
              <GenerateAllLevels>true</GenerateAllLevels>
              <CheckMultigridSetup>true</CheckMultigridSetup>
              <SetupOnGPU>1</SetupOnGPU>

              <Pre-SmootherApplications>0 0</Pre-SmootherApplications>
              <Post-SmootherApplications>8 8</Post-SmootherApplications>

              <SchwarzType>ADDITIVE_SCHWARZ</SchwarzType>

              <Blocking>
                <elem>4 4 4 4</elem>
                <elem>2 2 2 2</elem>
              </Blocking>

              <MaxIterSubspaceCreate>500 500</MaxIterSubspaceCreate>

 	      <MaxIterSubspaceRefresh>500 500</MaxIterSubspaceRefresh>
              <RsdTargetSubspaceCreate>5e-06 5e-06</RsdTargetSubspaceCreate>
            </MULTIGRIDParams>

            <SubspaceID>mg_subspace</SubspaceID>
            <ThresholdCount>500</ThresholdCount>

    </InvertParam>

Also this is a part of my output file:

Parameter with CoarseSolverType not found. Setting default value 2 for 2 array members
Parameter with CoarseResidual not found. Setting default value 0.0001 for 3 array members
Parameter with MaxCoarseIterations not found. Setting default value 12 for 3 array members
Broadcasting SmootherType = 4  to 3 array members
Parameter with SmootherTol not found. Setting default value 0.25 for 3 array members
Parameter with SmootherHaloPrecision not found. Setting default value 0 for 3 array members
Parameter with SmootherSchwarzType not found. Setting default value 0 for 3 array members
Parameter with SmootherSchwarzCycle not found. Setting default value 1 for 3 array members
Parameter with SubspaceSolver not found. Setting default value 0 for 2 array members
Broadcasting RelaxationOmegaMG = 1  to 3 array members
QUDA_MULTIGRID_CLOVER_LINOP_SOLVER( mg_subspace ): Initializing
QUDA_MULTIGRID_CLOVER_LINOP_SOLVER( mg_subspace ): Basic MULTIGRID params copied.
QUDA_MULTIGRID_CLOVER_LINOP_SOLVER( mg_subspace ): Creating CloverTerm
QUDA_MULTIGRID_CLOVER_LINOP_SOLVER( mg_subspace ): Inverting CloverTerm
Creating new clover   ##field

VChahar1 avatar May 16 '25 10:05 VChahar1