| /petsc/src/ksp/ksp/utils/lmvm/dfp/ |
| H A D | dfp.c | 21 PetscInt oldest, next; in DFPKernel_Recursive() local 24 PetscCall(MatLMVMGetRange(B, &oldest, &next)); in DFPKernel_Recursive() 28 if (next > oldest) { in DFPKernel_Recursive() 31 PetscCall(PetscMalloc1(next - oldest, &alpha)); in DFPKernel_Recursive() 33 for (PetscInt i = next - 1; i >= oldest; i--) { in DFPKernel_Recursive() 41 alpha[i - oldest] = a = yitx / yitsi; in DFPKernel_Recursive() 47 for (PetscInt i = oldest; i < next; i++) { in DFPKernel_Recursive() 55 a = alpha[i - oldest]; in DFPKernel_Recursive() 61 if (next > oldest) { in DFPKernel_Recursive() 70 PetscInt oldest, next; in DFPKernel_CompactDense() local [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/bfgs/ |
| H A D | bfgs.c | 15 static PetscErrorCode BFGSKernel_Recursive_Inner(Mat B, MatLMVMMode mode, PetscInt oldest, PetscInt… in BFGSKernel_Recursive_Inner() argument 31 PetscCall(LMBasisGEMVH(BkS, oldest, next, 1.0, X, 0.0, StBkX)); in BFGSKernel_Recursive_Inner() 32 PetscCall(LMProductsSolve(StBkS, oldest, next, StBkX, StBkX, /* ^H */ PETSC_FALSE)); in BFGSKernel_Recursive_Inner() 33 PetscCall(LMBasisGEMV(BkS, oldest, next, -1.0, StBkX, 1.0, B0X)); in BFGSKernel_Recursive_Inner() 34 PetscCall(LMBasisGEMVH(Y, oldest, next, 1.0, X, 0.0, YtX)); in BFGSKernel_Recursive_Inner() 35 PetscCall(LMProductsSolve(YtS, oldest, next, YtX, YtX, /* ^H */ PETSC_FALSE)); in BFGSKernel_Recursive_Inner() 36 PetscCall(LMBasisGEMV(Y, oldest, next, 1.0, YtX, 1.0, B0X)); in BFGSKernel_Recursive_Inner() 55 PetscInt oldest, start, next; in BFGSRecursiveBasisUpdate() local 60 PetscCall(MatLMVMGetRange(B, &oldest, &next)); in BFGSRecursiveBasisUpdate() 65 PetscCall(LMProductsPrepare(StBkS, lmvm->J0, oldest, next)); in BFGSRecursiveBasisUpdate() [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/brdn/ |
| H A D | badbrdn.c | 60 static PetscErrorCode BadBroydenKernel_Recursive_Inner(Mat B, MatLMVMMode mode, PetscInt oldest, Pe… in BadBroydenKernel_Recursive_Inner() argument 72 for (PetscInt i = oldest; i < next; i++) { in BadBroydenKernel_Recursive_Inner() 102 PetscInt oldest, next; in BadBroydenRecursiveBasisUpdate() local 113 PetscCall(MatLMVMGetRange(B, &oldest, &next)); in BadBroydenRecursiveBasisUpdate() 115 PetscCall(LMProductsPrepare(YtBkS, lmvm->J0, oldest, next)); in BadBroydenRecursiveBasisUpdate() 117 if (oldest > products_oldest) { in BadBroydenRecursiveBasisUpdate() 119 YtBkS->k = oldest; in BadBroydenRecursiveBasisUpdate() 136 if (j > oldest) PetscCall(BadBroydenKernel_Recursive_Inner(B, mode, oldest, j, p_j)); in BadBroydenRecursiveBasisUpdate() 150 PetscInt oldest, next; in BadBroydenKernel_Recursive() local 154 PetscCall(MatLMVMGetRange(B, &oldest, &next)); in BadBroydenKernel_Recursive() [all …]
|
| H A D | brdn.c | 54 PetscInt oldest, next; in BroydenKernel_Recursive() local 57 PetscCall(MatLMVMGetRange(B, &oldest, &next)); in BroydenKernel_Recursive() 58 if (next > oldest) { in BroydenKernel_Recursive() 69 for (PetscInt i = next - 1; i >= oldest; i--) { in BroydenKernel_Recursive() 89 if (next > oldest) { in BroydenKernel_Recursive() 109 PetscInt oldest, next; in BroydenKernelHermitianTranspose_Recursive() local 113 PetscCall(MatLMVMGetRange(B, &oldest, &next)); in BroydenKernelHermitianTranspose_Recursive() 114 if (next > oldest) { in BroydenKernelHermitianTranspose_Recursive() 124 for (PetscInt i = oldest; i < next; i++) { in BroydenKernelHermitianTranspose_Recursive() 155 PetscInt oldest, next; in BroydenKernel_CompactDense() local [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/blas_cyclic/cupm/ |
| H A D | blas_cyclic_cupm.cxx | 30 PETSC_INTERN PetscErrorCode AXPBYCyclic_CUPM_Private(PetscInt m, PetscInt oldest, PetscInt next, Pe… in AXPBYCyclic_CUPM_Private() argument 41 …mpl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::axpby(dctx, m, oldest, next, alpha, x, b… in AXPBYCyclic_CUPM_Private() 46 …impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::axpby(dctx, m, oldest, next, alpha, x, b… in AXPBYCyclic_CUPM_Private() 55 …VCyclic_CUPM_Private(PetscBool hermitian_transpose, PetscInt m, PetscInt oldest, PetscInt next, Pe… in DMVCyclic_CUPM_Private() argument 66 …etsc::device::cupm::DeviceType::CUDA>::dmv(dctx, hermitian_transpose, m, oldest, next, alpha, A, x… in DMVCyclic_CUPM_Private() 71 …Petsc::device::cupm::DeviceType::HIP>::dmv(dctx, hermitian_transpose, m, oldest, next, alpha, A, x… in DMVCyclic_CUPM_Private() 80 …VCyclic_CUPM_Private(PetscBool hermitian_transpose, PetscInt m, PetscInt oldest, PetscInt next, co… in DSVCyclic_CUPM_Private() argument 91 …:Petsc::device::cupm::DeviceType::CUDA>::dsv(dctx, hermitian_transpose, m, oldest, next, A, x, y)); in DSVCyclic_CUPM_Private() 96 …::Petsc::device::cupm::DeviceType::HIP>::dsv(dctx, hermitian_transpose, m, oldest, next, A, x, y)); in DSVCyclic_CUPM_Private() 105 …VCyclic_CUPM_Private(PetscBool hermitian_transpose, PetscInt m, PetscInt oldest, PetscInt next, co… in TRSVCyclic_CUPM_Private() argument [all …]
|
| H A D | blas_cyclic_cupm_impl.hpp | 50 PetscErrorCode BLASCyclic<T>::axpby(PetscDeviceContext dctx, PetscInt M, PetscInt oldest, PetscInt … in axpby() argument 52 PetscInt N = next - oldest; in axpby() 60 PetscCall(PetscCUPMBlasIntCast(oldest % m, &i_oldest)); in axpby() 87 …cDeviceContext dctx, PetscBool hermitian_transpose, PetscInt M, PetscInt oldest, PetscInt next, Pe… in dmv() argument 89 PetscInt N = next - oldest; in dmv() 103 PetscCall(PetscCUPMBlasIntCast(oldest % m, &i_oldest)); in dmv() 129 …cDeviceContext dctx, PetscBool hermitian_transpose, PetscInt M, PetscInt oldest, PetscInt next, co… in dsv() argument 131 PetscInt N = next - oldest; in dsv() 143 PetscCall(PetscCUPMBlasIntCast(oldest % m, &i_oldest)); in dsv() 177 …cDeviceContext dctx, PetscBool hermitian_transpose, PetscInt m, PetscInt oldest, PetscInt next, co… in trsv() argument [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/sr1/ |
| H A D | sr1.c | 45 static PetscErrorCode SR1Kernel_Recursive_Inner(Mat B, MatLMVMMode mode, PetscInt oldest, PetscInt … in SR1Kernel_Recursive_Inner() argument 57 PetscCall(LMBasisGEMVH(Y_minus_BkS, oldest, next, 1.0, X, 0.0, YmBkStX)); in SR1Kernel_Recursive_Inner() 58 PetscCall(LMProductsSolve(YtS_minus_StBkS, oldest, next, YmBkStX, YmBkStX, /* ^H */ PETSC_FALSE)); in SR1Kernel_Recursive_Inner() 59 PetscCall(LMBasisGEMV(Y_minus_BkS, oldest, next, 1.0, YmBkStX, 1.0, BX)); in SR1Kernel_Recursive_Inner() 77 PetscInt oldest, next; in SR1RecursiveBasisUpdate() local 89 PetscCall(MatLMVMGetRange(B, &oldest, &next)); in SR1RecursiveBasisUpdate() 91 PetscCall(LMProductsPrepare(YtS_minus_StBkS, lmvm->J0, oldest, next)); in SR1RecursiveBasisUpdate() 93 if (oldest > products_oldest) { in SR1RecursiveBasisUpdate() 95 YtS_minus_StBkS->k = oldest; in SR1RecursiveBasisUpdate() 113 if (j > oldest) PetscCall(SR1Kernel_Recursive_Inner(B, mode, oldest, j, s_j, p_j)); in SR1RecursiveBasisUpdate() [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/ |
| H A D | lmproducts.c | 57 …s dots, PetscObjectId operator_id, PetscObjectState operator_state, PetscInt oldest, PetscInt next) in LMProductsPrepare_Internal() argument 64 dots->k = oldest; in LMProductsPrepare_Internal() 66 dots->k = PetscMax(oldest, dots->k); in LMProductsPrepare_Internal() 72 PetscInt oldest, next; in LMProductsPrepareFromBases() local 77 PetscCall(LMBasisGetRange(X, &oldest, &next)); in LMProductsPrepareFromBases() 78 PetscCall(LMProductsPrepare_Internal(dots, operator_id, operator_state, oldest, next)); in LMProductsPrepareFromBases() 82 PETSC_INTERN PetscErrorCode LMProductsPrepare(LMProducts dots, Mat op, PetscInt oldest, PetscInt ne… in LMProductsPrepare() argument 90 PetscCall(LMProductsPrepare_Internal(dots, operator_id, operator_state, oldest, next)); in LMProductsPrepare() 94 …de LMProductsUpdate_Internal(LMProducts dots, LMBasis X, LMBasis Y, PetscInt oldest, PetscInt next) in LMProductsUpdate_Internal() argument 137 PetscCall(LMBasisGEMVH(X, oldest, next, 1.0, y, 0.0, column)); in LMProductsUpdate_Internal() [all …]
|
| H A D | lmvmutils.c | 957 PetscInt oldest, next; in MatLMVMUpdateOpVecs() local 962 PetscCall(LMBasisGetRange(X, &oldest, &next)); in MatLMVMUpdateOpVecs() 965 OpX->k = oldest; in MatLMVMUpdateOpVecs() 970 OpX->k = PetscMax(OpX->k, oldest); in MatLMVMUpdateOpVecs() 990 PetscInt oldest, next; in MatLMVMUpdateOpDiffVecs() local 997 PetscCall(LMBasisGetRange(Y, &oldest, &next)); in MatLMVMUpdateOpDiffVecs() 1000 YmalphaOpX->k = oldest; in MatLMVMUpdateOpDiffVecs() 1005 YmalphaOpX->k = PetscMax(YmalphaOpX->k, oldest); in MatLMVMUpdateOpDiffVecs() 1158 PETSC_INTERN PetscErrorCode MatLMVMGetRange(Mat B, PetscInt *oldest, PetscInt *next) in MatLMVMGetRange() argument 1163 PetscCall(LMBasisGetRange(lmvm->basis[LMBASIS_S], oldest, next)); in MatLMVMGetRange() [all …]
|
| H A D | lmbasis.c | 244 PETSC_INTERN PetscErrorCode LMBasisGetRange(LMBasis basis, PetscInt *oldest, PetscInt *next) in LMBasisGetRange() argument 248 *oldest = PetscMax(0, basis->k - basis->m); in LMBasisGetRange() 252 static PetscErrorCode LMBasisMultCheck(LMBasis A, PetscInt oldest, PetscInt next) in LMBasisMultCheck() argument 258 …PetscCheck(oldest >= basis_oldest && next <= basis_next, PetscObjectComm((PetscObject)A->vecs), PE… in LMBasisMultCheck() 262 PETSC_INTERN PetscErrorCode LMBasisGEMV(LMBasis A, PetscInt oldest, PetscInt next, PetscScalar alph… in LMBasisGEMV() argument 264 PetscInt lim = next - oldest; in LMBasisGEMV() 266 PetscInt oldest_idx = oldest % A->m; in LMBasisGEMV() 273 PetscCall(LMBasisMultCheck(A, oldest, next)); in LMBasisGEMV() 276 PetscCall(VecAXPBYCyclic(oldest, next, alpha, x, 0.0, x_work)); in LMBasisGEMV() 298 PETSC_INTERN PetscErrorCode LMBasisGEMVH(LMBasis A, PetscInt oldest, PetscInt next, PetscScalar alp… in LMBasisGEMVH() argument [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/blas_cyclic/ |
| H A D | blas_cyclic.c | 21 static PetscErrorCode AXPBYCylic_Private(PetscInt m, PetscInt oldest, PetscInt next, PetscScalar al… in AXPBYCylic_Private() argument 23 PetscInt i_oldest = oldest % m; in AXPBYCylic_Private() 27 if (next - oldest == m) { in AXPBYCylic_Private() 38 PETSC_INTERN PetscErrorCode VecAXPBYCyclic(PetscInt oldest, PetscInt next, PetscScalar alpha, Vec x… in VecAXPBYCyclic() argument 61 if (m_local == m) PetscCall(AXPBYCyclic_CUPM_Private(m, oldest, next, alpha, x_, beta, y_, 1)); in VecAXPBYCyclic() 71 PetscCall(AXPBYCylic_Private(m, oldest, next, alpha, x_, beta, y_, 1)); in VecAXPBYCyclic() 88 static PetscErrorCode DMVCylic_Private(PetscBool hermitian_transpose, PetscInt m, PetscInt oldest, … in DMVCylic_Private() argument 90 PetscInt i_oldest = oldest % m; in DMVCylic_Private() 94 if (next - oldest == m) { in DMVCylic_Private() 105 PETSC_INTERN PetscErrorCode VecDMVCyclic(PetscBool hermitian_transpose, PetscInt oldest, PetscInt n… in VecDMVCyclic() argument [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/symbrdn/ |
| H A D | symbrdn.c | 28 static PetscErrorCode SymBroydenKernel_Recursive_Inner(Mat B, MatLMVMMode mode, PetscInt oldest, Pe… in SymBroydenKernel_Recursive_Inner() argument 46 PetscCall(LMBasisGEMVH(BkS, oldest, next, 1.0, X, 0.0, StBkX)); in SymBroydenKernel_Recursive_Inner() 47 PetscCall(LMBasisGEMVH(Y, oldest, next, 1.0, X, 0.0, YtX)); in SymBroydenKernel_Recursive_Inner() 48 PetscCall(LMProductsMult(M00, oldest, next, 1.0, StBkX, 0.0, U, PETSC_FALSE)); in SymBroydenKernel_Recursive_Inner() 49 PetscCall(LMProductsMult(M01, oldest, next, 1.0, YtX, 1.0, U, PETSC_FALSE)); in SymBroydenKernel_Recursive_Inner() 50 PetscCall(LMProductsMult(M01, oldest, next, 1.0, StBkX, 0.0, V, PETSC_FALSE)); in SymBroydenKernel_Recursive_Inner() 51 PetscCall(LMProductsMult(M11, oldest, next, 1.0, YtX, 1.0, V, PETSC_FALSE)); in SymBroydenKernel_Recursive_Inner() 52 PetscCall(LMBasisGEMV(BkS, oldest, next, 1.0, U, 1.0, B0X)); in SymBroydenKernel_Recursive_Inner() 53 PetscCall(LMBasisGEMV(Y, oldest, next, 1.0, V, 1.0, B0X)); in SymBroydenKernel_Recursive_Inner() 71 PetscInt oldest, next, start; in MatLMVMSymBroydenGetConvexFactor() local [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/dense/cd_cupm/ |
| H A D | cd_cupm.cxx | 46 …cDeviceContext dctx, PetscBool hermitian_transpose, PetscInt m, PetscInt oldest, PetscInt next, co… in SolveInPlaceCyclic() argument 48 PetscInt N = next - oldest; in SolveInPlaceCyclic() 49 PetscInt oldest_index = oldest % m; in SolveInPlaceCyclic() 126 …veInPlaceCyclic_CUPM(PetscBool hermitian_transpose, PetscInt m, PetscInt oldest, PetscInt next, co… in MatUpperTriangularSolveInPlaceCyclic_CUPM() argument 139 …ular<DeviceType::CUDA>::SolveInPlaceCyclic(dctx, hermitian_transpose, m, oldest, next, A, lda, x, … in MatUpperTriangularSolveInPlaceCyclic_CUPM() 144 …gular<DeviceType::HIP>::SolveInPlaceCyclic(dctx, hermitian_transpose, m, oldest, next, A, lda, x, … in MatUpperTriangularSolveInPlaceCyclic_CUPM()
|
| /petsc/src/ksp/ksp/utils/lmvm/rescale/ |
| H A D | symbrdnrescale.c | 13 PetscInt oldest, next; in SymBroydenRescaleUpdateScalar() local 17 oldest = PetscMax(0, ldb->k - ldb->sigma_hist); in SymBroydenRescaleUpdateScalar() 25 for (PetscInt i = 0; i < next - oldest; ++i) signew += ldb->yts[i] / ldb->yty[i]; in SymBroydenRescaleUpdateScalar() 27 for (PetscInt i = 0; i < next - oldest; ++i) signew += ldb->sts[i] / ldb->yty[i]; in SymBroydenRescaleUpdateScalar() 30 for (PetscInt i = 0; i < next - oldest; ++i) signew += ldb->sts[i] / ldb->yts[i]; in SymBroydenRescaleUpdateScalar() 34 for (PetscInt i = 0; i < next - oldest; ++i) { in SymBroydenRescaleUpdateScalar() 125 PetscInt oldest, next; in SymBroydenRescaleUpdateDiagonal() local 133 oldest = PetscMax(0, ldb->k - ldb->sigma_hist); in SymBroydenRescaleUpdateDiagonal() 179 PetscInt start = PetscMax(oldest, lmvm->k - ldb->sigma_hist); in SymBroydenRescaleUpdateDiagonal() 206 for (PetscInt i = start - oldest; i < next - oldest; ++i) { in SymBroydenRescaleUpdateDiagonal() [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/dense/ |
| H A D | cd_utils.c | 88 …etscMemType memtype, PetscBool hermitian_transpose, PetscInt m, PetscInt oldest, PetscInt next, co… in MatUpperTriangularSolveInPlace_Internal() argument 90 PetscInt oldest_index = oldest % m; in MatUpperTriangularSolveInPlace_Internal() 92 PetscInt N = next - oldest; in MatUpperTriangularSolveInPlace_Internal() 133 …PetscCall(MatUpperTriangularSolveInPlaceCyclic_CUPM(hermitian_transpose, m, oldest, next, A, lda, … in MatUpperTriangularSolveInPlace_Internal()
|
| H A D | denseqn.c | 871 PetscInt oldest = oldest_update(m, k); in MatMult_LMVMDBFGS() local 881 PetscInt oldest = oldest_update(m, k); in MatMult_LMVMDBFGS() local 882 for (i = oldest; i < k; ++i) { in MatMult_LMVMDBFGS() 889 for (j = oldest; j < i; ++j) { in MatMult_LMVMDBFGS() 917 for (i = oldest; i < k; ++i) { in MatMult_LMVMDBFGS() 1243 PetscInt oldest = oldest_update(m, k); in MatSolve_LMVMDDFP() local 1246 PetscInt oldest = oldest_update(m, k); in MatSolve_LMVMDDFP() local 1247 for (i = oldest; i < k; ++i) { in MatSolve_LMVMDDFP() 1254 for (j = oldest; j < i; ++j) { in MatSolve_LMVMDDFP() 1282 for (i = oldest; i < k; ++i) { in MatSolve_LMVMDDFP()
|
| /petsc/src/ksp/ksp/utils/lmvm/diagbrdn/ |
| H A D | diagbrdn.c | 32 PetscInt oldest, next; in MatUpdate_DiagBrdn() local 34 PetscCall(MatLMVMGetRange(B, &oldest, &next)); in MatUpdate_DiagBrdn()
|
| /petsc/src/ksp/ksp/guess/impls/fischer/ |
| H A D | fischer.c | 289 Vec oldest; in KSPGuessUpdate_Fischer_3() local 294 oldest = itg->xtilde[0]; in KSPGuessUpdate_Fischer_3() 296 itg->xtilde[itg->curl - 1] = oldest; in KSPGuessUpdate_Fischer_3() 299 oldest = itg->btilde[0]; in KSPGuessUpdate_Fischer_3() 301 itg->btilde[itg->curl - 1] = oldest; in KSPGuessUpdate_Fischer_3()
|
| /petsc/src/ksp/ksp/utils/lmvm/tests/ |
| H A D | ex1.c | 394 PetscInt oldest, next; in TestUpdate() local 399 oldest = PetscMax(0, iter + 1 - m); in TestUpdate() 405 for (PetscInt i = oldest; i < next; i++) PetscCall((*B_update)(B_k_exp, phi, dxs[i], dfs[i])); in TestUpdate() 416 PetscInt oldest, next; in TestUpdate() local 421 oldest = PetscMax(0, iter + 1 - m); in TestUpdate() 426 for (PetscInt i = oldest; i < next; i++) PetscCall((*H_update)(H_k_exp, phi, dfs[i], dxs[i])); in TestUpdate()
|