| /petsc/src/ksp/pc/impls/vpbjacobi/cuda/ |
| H A D | vpbjacobi_cuda.cu | 21 …PC_VPBJacobi_CUDA(PetscInt n, PetscInt nblocks, PetscInt nsize, const PetscInt *bsizes, MatScalar … in PC_VPBJacobi_CUDA() 29 PetscCallVoid(UpdateOffsetsOnDevice(bsizes, diag_h)); in PC_VPBJacobi_CUDA() 32 PetscErrorCode UpdateOffsetsOnDevice(const PetscInt *bsizes, MatScalar *diag_h) in UpdateOffsetsOnDevice() 35 PetscCall(ComputeOffsetsOnHost(bsizes)); in UpdateOffsetsOnDevice() 54 PetscErrorCode ComputeOffsetsOnHost(const PetscInt *bsizes) in ComputeOffsetsOnHost() 59 bs_h[i + 1] = bs_h[i] + bsizes[i]; in ComputeOffsetsOnHost() 60 bs2_h[i + 1] = bs2_h[i] + bsizes[i] * bsizes[i]; in ComputeOffsetsOnHost() 61 for (PetscInt j = 0; j < bsizes[i]; j++) matIdx_h[bs_h[i] + j] = i; in ComputeOffsetsOnHost() 165 const PetscInt *bsizes; in PCSetUp_VPBJacobi_CUDA() local 169 PetscCall(MatGetVariableBlockSizes(pc->pmat, &nblocks, &bsizes)); in PCSetUp_VPBJacobi_CUDA() [all …]
|
| /petsc/src/ksp/pc/impls/vpbjacobi/kokkos/ |
| H A D | vpbjacobi_kok.kokkos.cxx | 32 PC_VPBJacobi_Kokkos(PetscInt n, PetscInt nblocks, PetscInt nsize, const PetscInt *bsizes) : in PC_VPBJacobi_Kokkos() 37 PetscCallVoid(BuildHelperArrays(bsizes)); in PC_VPBJacobi_Kokkos() 42 PetscErrorCode BuildHelperArrays(const PetscInt *bsizes) in BuildHelperArrays() 52 PetscInt m = bsizes[i]; in BuildHelperArrays() 149 const PetscInt *bsizes; in PCSetUp_VPBJacobi_Kokkos() local 154 PetscCall(MatGetVariableBlockSizes(pc->pmat, &nblocks, &bsizes)); in PCSetUp_VPBJacobi_Kokkos() 161 min_bs = PetscMin(min_bs, bsizes[i]); in PCSetUp_VPBJacobi_Kokkos() 162 max_bs = PetscMax(max_bs, bsizes[i]); in PCSetUp_VPBJacobi_Kokkos() 163 nsize += bsizes[i] * bsizes[i]; in PCSetUp_VPBJacobi_Kokkos() 178 PetscCallCXX(pckok = new PC_VPBJacobi_Kokkos(nlocal, nblocks, nsize, bsizes)); in PCSetUp_VPBJacobi_Kokkos()
|
| /petsc/src/ksp/pc/impls/vpbjacobi/ |
| H A D | vpbjacobi.c | 13 const PetscInt *bsizes; in PCApply_VPBJacobi() local 16 PetscCall(MatGetVariableBlockSizes(pc->pmat, &nblocks, &bsizes)); in PCApply_VPBJacobi() 20 bs = bsizes[i]; in PCApply_VPBJacobi() 98 ncnt += bsizes[i]; in PCApply_VPBJacobi() 99 diag += bsizes[i] * bsizes[i]; in PCApply_VPBJacobi() 115 const PetscInt *bsizes; in PCApplyTranspose_VPBJacobi() local 118 PetscCall(MatGetVariableBlockSizes(pc->pmat, &nblocks, &bsizes)); in PCApplyTranspose_VPBJacobi() 122 bs = bsizes[i]; in PCApplyTranspose_VPBJacobi() 200 ncnt += bsizes[i]; in PCApplyTranspose_VPBJacobi() 201 diag += bsizes[i] * bsizes[i]; in PCApplyTranspose_VPBJacobi() [all …]
|
| /petsc/src/mat/interface/ |
| H A D | matrix.c | 1167 …" PetscInt_FMT ", cbs=%" PetscInt_FMT "%s\n", rows, cols, rbs, cbs, mat->bsizes ? " variable block… in MatView() 1168 …cols=%" PetscInt_FMT ", bs=%" PetscInt_FMT "%s\n", rows, cols, rbs, mat->bsizes ? " variable block… in MatView() 1197 if (mat->bsizes && format == PETSC_VIEWER_ASCII_INFO_DETAIL) { in MatView() 1200 …PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)viewer), mat->nblocks, mat->bsizes, PETSC_U… in MatView() 1464 PetscCall(PetscFree((*A)->bsizes)); in MatDestroy() 7917 PetscErrorCode MatSetVariableBlockSizes(Mat mat, PetscInt nblocks, const PetscInt bsizes[]) in MatSetVariableBlockSizes() argument 7925 for (PetscInt i = 0; i < nblocks; i++) ncnt += bsizes[i]; in MatSetVariableBlockSizes() 7927 PetscCall(PetscFree(mat->bsizes)); in MatSetVariableBlockSizes() 7929 PetscCall(PetscMalloc1(nblocks, &mat->bsizes)); in MatSetVariableBlockSizes() 7930 PetscCall(PetscArraycpy(mat->bsizes, bsizes, nblocks)); in MatSetVariableBlockSizes() [all …]
|
| /petsc/src/binding/petsc4py/test/ |
| H A D | test_vec.py | 117 bsizes = list(range(1, lsize + 1)) 121 for bs in bsizes
|
| H A D | test_mat_aij.py | 418 def _chk_bsizes(self, A, bsizes): argument 420 rbs, cbs = bsizes 422 rbs = cbs = bsizes
|
| /petsc/src/mat/impls/aij/seq/ |
| H A D | aij.c | 1737 …ertVariableBlockDiagonal_SeqAIJ(Mat A, PetscInt nblocks, const PetscInt *bsizes, PetscScalar *diag) in MatInvertVariableBlockDiagonal_SeqAIJ() argument 1748 for (i = 0; i < nblocks; i++) ncnt += bsizes[i]; in MatInvertVariableBlockDiagonal_SeqAIJ() 1750 for (i = 0; i < nblocks; i++) bsizemax = PetscMax(bsizemax, bsizes[i]); in MatInvertVariableBlockDiagonal_SeqAIJ() 1755 for (j = 0; j < bsizes[i]; j++) indx[j] = ncnt + j; in MatInvertVariableBlockDiagonal_SeqAIJ() 1756 PetscCall(MatGetValues(A, bsizes[i], indx, bsizes[i], indx, diag)); in MatInvertVariableBlockDiagonal_SeqAIJ() 1757 switch (bsizes[i]) { in MatInvertVariableBlockDiagonal_SeqAIJ() 1792 …PetscCall(PetscKernel_A_gets_inverse_A(bsizes[i], diag, v_pivots, v_work, allowzeropivot, &zeropiv… in MatInvertVariableBlockDiagonal_SeqAIJ() 1794 PetscCall(PetscKernel_A_gets_transpose_A_N(diag, bsizes[i])); in MatInvertVariableBlockDiagonal_SeqAIJ() 1796 ncnt += bsizes[i]; in MatInvertVariableBlockDiagonal_SeqAIJ() 1797 diag += bsizes[i] * bsizes[i]; in MatInvertVariableBlockDiagonal_SeqAIJ() [all …]
|
| /petsc/src/mat/impls/aij/mpi/mumps/ |
| H A D | mumps.c | 2766 const PetscInt *bsizes; in MatSetFromOptions_MUMPS() local 2771 PetscCall(MatGetVariableBlockSizes(A, &nblocks, &bsizes)); in MatSetFromOptions_MUMPS() 2774 if (bsizes[p] > 1) break; in MatSetFromOptions_MUMPS() 2787 …PetscCallMPI(MPI_Gatherv(bsizes, n, MPIU_INT, blkptr + 1, recvcounts, displs, MPIU_INT, 0, PetscOb… in MatSetFromOptions_MUMPS()
|
| /petsc/include/petsc/private/ |
| H A D | matimpl.h | 503 …PetscInt nblocks, *bsizes; /* support for MatSetVariableBlockSizes() */ member
|
| /petsc/src/ksp/pc/impls/bddc/ |
| H A D | bddcprivate.c | 4197 …de MatSeqAIJInvertVariableBlockDiagonalMat(Mat A, PetscInt nblocks, const PetscInt *bsizes, Mat *B) in MatSeqAIJInvertVariableBlockDiagonalMat() argument 4210 ncnt += bsizes[i]; in MatSeqAIJInvertVariableBlockDiagonalMat() 4211 ncnt2 += PetscSqr(bsizes[i]); in MatSeqAIJInvertVariableBlockDiagonalMat() 4214 for (PetscInt i = 0; i < nblocks; i++) bsizemax = PetscMax(bsizemax, bsizes[i]); in MatSeqAIJInvertVariableBlockDiagonalMat() 4227 const PetscInt bs = bsizes[i]; in MatSeqAIJInvertVariableBlockDiagonalMat()
|
| /petsc/src/mat/impls/aij/mpi/ |
| H A D | mpiaij.c | 2689 …ertVariableBlockDiagonal_MPIAIJ(Mat A, PetscInt nblocks, const PetscInt *bsizes, PetscScalar *diag) in MatInvertVariableBlockDiagonal_MPIAIJ() argument 2694 PetscCall(MatInvertVariableBlockDiagonal(a->A, nblocks, bsizes, diag)); in MatInvertVariableBlockDiagonal_MPIAIJ()
|