Lines Matching refs:nblocks
14 PetscInt nblocks; /* number of point blocks */
18 bs: [nblocks+1], "csr" version of bsizes[]
19 bs2: [nblocks+1], "csr" version of squares of bsizes[]
29 // nblocks: number of blocks
30 // nsize: sum bsizes[i]^2 for i=0..nblocks
31 // bsizes[nblocks]: sizes of blocks
32 PC_VPBJacobi_Kokkos(PetscInt n, PetscInt nblocks, PetscInt nsize, const PetscInt *bsizes) :
33 n(n), nblocks(nblocks), nsize(nsize), bs_dual(NoInit("bs_dual"), nblocks + 1),
34 bs2_dual(NoInit("bs2_dual"), nblocks + 1), blkMap_dual(NoInit("blkMap_dual"), n),
51 for (PetscInt i = 0; i < nblocks; i++) {
91 label, Kokkos::TeamPolicy<>(PetscGetKokkosExecutionSpace(), jac->nblocks, Kokkos::AUTO()), KOKKOS_LAMBDA(const KokkosTeamMemberType &team) {
148 PetscInt i, nlocal, nblocks, nsize = 0;
154 PetscCall(MatGetVariableBlockSizes(pc->pmat, &nblocks, &bsizes));
156 PetscCheck(!nlocal || nblocks, PETSC_COMM_SELF, PETSC_ERR_ARG_WRONGSTATE, "Must call MatSetVariableBlockSizes() before using PCVPBJACOBI");
160 for (i = 0; i < nblocks; i++) {
165 jac->nblocks = nblocks;
171 if (pckok && (pckok->n != nlocal || pckok->nblocks != nblocks || pckok->nsize != nsize)) {
178 PetscCallCXX(pckok = new PC_VPBJacobi_Kokkos(nlocal, nblocks, nsize, bsizes));