| /petsc/src/mat/impls/aij/mpi/ |
| H A D | mmaij.c | 12 PetscInt i, j, *aj = B->j, *garray; in MatSetUpMultiply_MPIAIJ() local 25 if (!aij->garray) { in MatSetUpMultiply_MPIAIJ() 41 PetscCall(PetscMalloc1(ec, &garray)); in MatSetUpMultiply_MPIAIJ() 49 garray[lid] = gid; in MatSetUpMultiply_MPIAIJ() 51 PetscCall(PetscSortInt(ec, garray)); /* sort, and rebuild */ in MatSetUpMultiply_MPIAIJ() 53 for (i = 0; i < ec; i++) PetscCall(PetscHMapISet(gid1_lid1, garray[i] + 1, i + 1)); in MatSetUpMultiply_MPIAIJ() 78 PetscCall(PetscMalloc1(ec, &garray)); in MatSetUpMultiply_MPIAIJ() 81 if (indices[i]) garray[ec++] = i; in MatSetUpMultiply_MPIAIJ() 85 for (i = 0; i < ec; i++) indices[garray[i]] = i; in MatSetUpMultiply_MPIAIJ() 96 garray = aij->garray; in MatSetUpMultiply_MPIAIJ() [all …]
|
| H A D | fdmpiaij.c | 448 PetscInt *garray; in MatFDColoringSetUp_MPIXAIJ() local 449 PetscCall(PetscMalloc1(B->cmap->n, &garray)); in MatFDColoringSetUp_MPIXAIJ() 451 for (j = 0; j < bs; j++) garray[i * bs + j] = bs * baij->garray[i] + j; in MatFDColoringSetUp_MPIXAIJ() 453 …PetscObjectComm((PetscObject)mat), mat->cmap->n, PETSC_DETERMINE, B->cmap->n, garray, &c->vscale)); in MatFDColoringSetUp_MPIXAIJ() 455 PetscCall(PetscFree(garray)); in MatFDColoringSetUp_MPIXAIJ() 479 …bjectComm((PetscObject)mat), mat->cmap->n, PETSC_DETERMINE, B->cmap->n, sell->garray, &c->vscale)); in MatFDColoringSetUp_MPIXAIJ() 504 …ObjectComm((PetscObject)mat), mat->cmap->n, PETSC_DETERMINE, B->cmap->n, aij->garray, &c->vscale)); in MatFDColoringSetUp_MPIXAIJ()
|
| H A D | mpiaij.c | 31 PetscCall(PetscFree(aij->garray)); in MatReset_MPIAIJ() 304 PetscInt i, m, n, *garray = aij->garray; in MatGetColumnReductions_MPIAIJ() local 319 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] += PetscAbsScalar(b_aij-… in MatGetColumnReductions_MPIAIJ() 322 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] += PetscAbsScalar(b_aij-… in MatGetColumnReductions_MPIAIJ() 325 … < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] = PetscMax(PetscAbsScalar(b_aij->a[i]… in MatGetColumnReductions_MPIAIJ() 328 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] += PetscRealPart(b_aij->… in MatGetColumnReductions_MPIAIJ() 331 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] += PetscImaginaryPart(b_… in MatGetColumnReductions_MPIAIJ() 391 …PetscCheck(!n || aij->garray, PETSC_COMM_SELF, PETSC_ERR_PLIB, "MPIAIJ Matrix was assembled but is… in MatCreateColmap_MPIAIJ_Private() 394 for (i = 0; i < n; i++) PetscCall(PetscHMapISet(aij->colmap, aij->garray[i] + 1, i + 1)); in MatCreateColmap_MPIAIJ_Private() 397 for (i = 0; i < n; i++) aij->colmap[aij->garray[i]] = i + 1; in MatCreateColmap_MPIAIJ_Private() [all …]
|
| H A D | mpb_aij.c | 37 col = aij->garray[i]; in MatGetMultiProcBlock_MPIAIJ()
|
| /petsc/src/mat/impls/sbaij/mpi/ |
| H A D | mmsbaij.c | 10 PetscInt i, j, *aj = B->j, ec = 0, *garray, *sgarray; in MatSetUpMultiply_MPISBAIJ() local 38 PetscCall(PetscMalloc1(ec, &garray)); in MatSetUpMultiply_MPISBAIJ() 46 garray[lid] = gid; in MatSetUpMultiply_MPISBAIJ() 48 PetscCall(PetscSortInt(ec, garray)); in MatSetUpMultiply_MPISBAIJ() 50 for (i = 0; i < ec; i++) PetscCall(PetscHMapISet(gid1_lid1, garray[i] + 1, i + 1)); in MatSetUpMultiply_MPISBAIJ() 63 while (garray[i] >= owners[j + 1]) j++; in MatSetUpMultiply_MPISBAIJ() 78 PetscCall(PetscMalloc1(ec, &garray)); in MatSetUpMultiply_MPISBAIJ() 85 garray[ec] = i; in MatSetUpMultiply_MPISBAIJ() 93 for (i = 0; i < ec; i++) indices[garray[i]] = i; in MatSetUpMultiply_MPISBAIJ() 111 PetscCall(ISCreateBlock(PETSC_COMM_SELF, bs, ec, garray, PETSC_COPY_VALUES, &from)); in MatSetUpMultiply_MPISBAIJ() [all …]
|
| H A D | sbaijov.c | 219 PetscCall(ISCreateGeneral(comm, Bnbs, c->garray, PETSC_COPY_VALUES, &garray_local)); in MatIncreaseOverlap_MPISBAIJ_Once() 470 …PetscInt row, mbs, Mbs, *nidx_i, col, col_max, isz, isz0, *ai, *aj, *bi, *bj, *garray, rstart… in MatIncreaseOverlap_MPISBAIJ_Local() local 482 garray = c->garray; in MatIncreaseOverlap_MPISBAIJ_Local() 536 col = garray[bj[l]]; in MatIncreaseOverlap_MPISBAIJ_Local() 552 col = garray[bj[l]]; in MatIncreaseOverlap_MPISBAIJ_Local()
|
| H A D | mpisbaij.c | 21 PetscCall(PetscFree(baij->garray)); in MatDestroy_MPISBAIJ() 676 if (data < 0 || baij->garray[data / bs] != idxn[j] / bs) *(v + i * n + j) = 0.0; in MatGetValues_MPISBAIJ() 711 PetscInt *jj, *garray = baij->garray, rstart = baij->rstartbs, nz; in MatNorm_MPISBAIJ() local 744 gcol = bs * garray[*jj]; in MatNorm_MPISBAIJ() 971 col = baij->garray[aj[j]] * bs; in MatView_MPISBAIJ_ASCIIorDraworSocket() 1216 cmap = mat->garray; in MatGetRow_MPISBAIJ() 1689 PetscCall(MatAXPYGetPreallocation_MPIBAIJ(yy->B, yy->garray, xx->B, xx->garray, nnz_o)); in MatAXPY_MPISBAIJ() 1940 PetscCall(PetscFree(b->garray)); in MatMPISBAIJSetPreallocation_MPISBAIJ() 2097 b->garray = NULL; in MatCreate_MPISBAIJ() 2460 if (oldmat->garray && (len = ((Mat_SeqBAIJ *)oldmat->B->data)->nbs)) { in MatDuplicate_MPISBAIJ() [all …]
|
| /petsc/src/mat/impls/baij/mpi/ |
| H A D | mmbaij.c | 11 PetscInt i, j, *aj = B->j, ec = 0, *garray; in MatSetUpMultiply_MPIBAIJ() local 38 PetscCall(PetscMalloc1(ec, &garray)); in MatSetUpMultiply_MPIBAIJ() 46 garray[lid] = gid; in MatSetUpMultiply_MPIBAIJ() 48 PetscCall(PetscSortInt(ec, garray)); in MatSetUpMultiply_MPIBAIJ() 50 for (i = 0; i < ec; i++) PetscCall(PetscHMapISet(gid1_lid1, garray[i] + 1, i + 1)); in MatSetUpMultiply_MPIBAIJ() 76 PetscCall(PetscMalloc1(ec, &garray)); in MatSetUpMultiply_MPIBAIJ() 79 if (indices[i]) garray[ec++] = i; in MatSetUpMultiply_MPIBAIJ() 83 for (i = 0; i < ec; i++) indices[garray[i]] = i; in MatSetUpMultiply_MPIBAIJ() 99 PetscCall(ISCreateBlock(PETSC_COMM_SELF, bs, ec, garray, PETSC_COPY_VALUES, &from)); in MatSetUpMultiply_MPIBAIJ() 111 baij->garray = garray; in MatSetUpMultiply_MPIBAIJ() [all …]
|
| H A D | mpibaij.c | 22 PetscCall(PetscFree(baij->garray)); in MatDestroy_MPIBAIJ() 85 if (idx) idx[i] = bs * a->garray[idxb[i] / bs] + (idxb[i] % bs); in MatGetRowMaxAbs_MPIBAIJ() 88 …(vb[i]) && idxb[i] != -1 && idx[i] > bs * a->garray[idxb[i] / bs] + (idxb[i] % bs)) idx[i] = bs * … in MatGetRowMaxAbs_MPIBAIJ() 152 for (i = 0; i < nbs; i++) PetscCall(PetscHMapISet(baij->colmap, baij->garray[i] + 1, i * bs + 1)); in MatCreateColmap_MPIBAIJ_Private() 155 for (i = 0; i < nbs; i++) baij->colmap[baij->garray[i]] = i * bs + 1; in MatCreateColmap_MPIBAIJ_Private() 678 if (data < 0 || baij->garray[data / bs] != idxn[j] / bs) *(v + i * n + j) = 0.0; in MatGetValues_MPIBAIJ() 719 PetscInt *jj, *garray = baij->garray; in MatNorm_MPIBAIJ() local 748 PetscCall(VecSetValuesBlocked(col, bmat->nbs, garray, array, ADD_VALUES)); in MatNorm_MPIBAIJ() 806 PetscInt cstart = baij->cstartbs, *garray = baij->garray, row, col, Nbs = baij->Nbs; in MatCreateHashTable_MPIBAIJ_Private() local 853 col = garray[bj[j]]; in MatCreateHashTable_MPIBAIJ_Private() [all …]
|
| H A D | baijov.c | 349 PetscInt *bi, *bj, *garray, i, j, k, row, *data_i, isz_i; in MatIncreaseOverlap_MPIBAIJ_Local() local 359 garray = c->garray; in MatIncreaseOverlap_MPIBAIJ_Local() 376 val = garray[bj[k]]; in MatIncreaseOverlap_MPIBAIJ_Local() 409 PetscInt rstart, cstart, *ai, *aj, *bi, *bj, *garray, i, j, k; in MatIncreaseOverlap_MPIBAIJ_Receive() local 423 garray = c->garray; in MatIncreaseOverlap_MPIBAIJ_Receive() 494 val = garray[bj[l]]; in MatIncreaseOverlap_MPIBAIJ_Receive() 646 PetscInt cstart = c->cstartbs, *bmap = c->garray;
|
| /petsc/src/mat/impls/sell/mpi/ |
| H A D | mmsell.c | 60 …if (isnonzero) PetscCall(MatSetValue(Bnew, Bsell->sliceheight * i + row, sell->garray[Bsell->colid… in MatDisAssemble_MPISELL() 64 PetscCall(PetscFree(sell->garray)); in MatDisAssemble_MPISELL() 77 PetscInt i, j, *bcolidx = B->colidx, ec = 0, *garray, totalslices; in MatSetUpMultiply_MPISELL() local 110 PetscCall(PetscMalloc1(ec, &garray)); in MatSetUpMultiply_MPISELL() 118 garray[lid] = gid; in MatSetUpMultiply_MPISELL() 120 PetscCall(PetscSortInt(ec, garray)); /* sort, and rebuild */ in MatSetUpMultiply_MPISELL() 122 for (i = 0; i < ec; i++) PetscCall(PetscHMapISet(gid1_lid1, garray[i] + 1, i + 1)); in MatSetUpMultiply_MPISELL() 154 PetscCall(PetscMalloc1(ec, &garray)); in MatSetUpMultiply_MPISELL() 157 if (indices[i]) garray[ec++] = i; in MatSetUpMultiply_MPISELL() 161 for (i = 0; i < ec; i++) indices[garray[i]] = i; in MatSetUpMultiply_MPISELL() [all …]
|
| H A D | mpisell.h | 23 PetscInt *garray; /* global index of all off-processor columns */ member
|
| H A D | mpisell.c | 51 …PetscCheck(sell->garray, PETSC_COMM_SELF, PETSC_ERR_PLIB, "MPISELL Matrix was assembled but is mis… in MatCreateColmap_MPISELL_Private() 54 for (i = 0; i < n; i++) PetscCall(PetscHMapISet(sell->colmap, sell->garray[i] + 1, i + 1)); in MatCreateColmap_MPISELL_Private() 57 for (i = 0; i < n; i++) sell->colmap[sell->garray[i]] = i + 1; in MatCreateColmap_MPISELL_Private() 274 if (col < 0 || sell->garray[col] != idxn[j]) *(v + i * n + j) = 0.0; in MatGetValues_MPISELL() 512 PetscCall(PetscFree(sell->garray)); in MatDestroy_MPISELL() 644 col = sell->garray[*acolidx]; in MatView_MPISELL_ASCIIorDraworSocket() 688 if (ghosts) *ghosts = sell->garray; in MatGetGhosts_MPISELL() 1037 if (oldmat->garray) { in MatDuplicate_MPISELL() 1040 PetscCall(PetscMalloc1(len + 1, &a->garray)); in MatDuplicate_MPISELL() 1041 if (len) PetscCall(PetscArraycpy(a->garray, oldmat->garray, len)); in MatDuplicate_MPISELL() [all …]
|
| /petsc/src/mat/tests/ |
| H A D | ex303.c | 13 const PetscInt *garray; in main() local 30 PetscCall(MatMPIAIJGetSeqAIJ(mat, &A, &B, &garray)); in main() 42 for (int i = 0; i < nonlocalCols; i++) garray_h[i] = garray[i]; in main() 62 …for (int j = 0; j < bi[i + 1] - bi[i]; j++) PetscCall(MatSetValue(B2, i, garray[bj[bi[i] + j]], ba… in main()
|
| H A D | ex110.c | 10 const PetscInt *garray; in main() local 42 PetscCall(MatMPIAIJGetSeqAIJ(A, &AA, &AB, &garray)); in main() 51 for (i = 0; i < oi[5]; i++) ooj[i] = garray[ooj[i]]; in main()
|
| H A D | ex211.c | 6 …ivate(Mat mat, IS isrow, IS iscol, IS *isrow_d, IS *iscol_d, IS *iscol_o, const PetscInt *garray[]) in ISGetSeqIS_SameColDist_Private() argument 117 *garray = cmap1; in ISGetSeqIS_SameColDist_Private() 170 const PetscInt *garray; in main() local 171 PetscCall(ISGetSeqIS_SameColDist_Private(C, isrow, iscol, &isrow_d, &iscol_d, &iscol_o, &garray)); in main() 176 PetscCall(PetscFree(garray)); in main()
|
| H A D | ex302k.kokkos.cxx | 17 const PetscInt *garray; in main() local 62 PetscCall(MatMPIAIJGetSeqAIJ(A, &AA, &AB, &garray)); in main() 123 for (int i = 0; i < n_ab; i++) garray_h[i] = garray[i]; in main()
|
| H A D | ex123.c | 175 const PetscInt *garray, *iA, *jA, *iB, *jB; in main() local 184 PetscCall(MatMPIAIJGetSeqAIJ(T, &lA, &lB, &garray)); in main() 202 coo_j[nnz] = garray[jB[j]]; in main()
|
| /petsc/src/dm/tests/ |
| H A D | ex10k.kokkos.cxx | 43 PetscScalar ***garray; /* arrays of g, ll */ in main() local 59 PetscCall(DMDAVecGetArrayDOFWrite(da, g, &garray)); in main() 62 for (PetscInt c = 0; c < dof; c++) garray[j][i][c] = 100 * j + 10 * (i + 1) + c; in main() 65 PetscCall(DMDAVecRestoreArrayDOFWrite(da, g, &garray)); in main() 80 PetscCall(DMDAVecGetArrayDOFWrite(da, g, &garray)); in main() 84 …for (PetscInt c = 0; c < dof; c++) garray[j][i][c] = (larray[j][i - 1][c] + larray[j][i + 1][c] + … in main() 87 PetscCall(DMDAVecRestoreArrayDOFWrite(da, g, &garray)); in main()
|
| /petsc/src/mat/impls/aij/mpi/mkl_cpardiso/ |
| H A D | mkl_cpardiso.c | 145 const PetscInt *ai, *aj, *bi, *bj, *garray, m = A->rmap->n, *ajj, *bjj; in MatConvertToTriples_mpiaij_mpiaij_MKL_CPARDISO() local 164 garray = mat->garray; in MatConvertToTriples_mpiaij_mpiaij_MKL_CPARDISO() 191 jcol = garray[bjj[j]]; in MatConvertToTriples_mpiaij_mpiaij_MKL_CPARDISO() 206 col[nz] = garray[bjj[j]]; in MatConvertToTriples_mpiaij_mpiaij_MKL_CPARDISO() 216 …const PetscInt *ai, *aj, *bi, *bj, *garray, bs = A->rmap->bs, bs2 = bs * bs, m = A->rmap->n / b… in MatConvertToTriples_mpibaij_mpibaij_MKL_CPARDISO() local 235 garray = mat->garray; in MatConvertToTriples_mpibaij_mpibaij_MKL_CPARDISO() 262 jcol = garray[bjj[j]]; in MatConvertToTriples_mpibaij_mpibaij_MKL_CPARDISO() 278 for (j = jB; j < countB; j++) col[nz++] = garray[bjj[j]] + 1; in MatConvertToTriples_mpibaij_mpibaij_MKL_CPARDISO() 289 …const PetscInt *ai, *aj, *bi, *bj, *garray, bs = A->rmap->bs, bs2 = bs * bs, m = A->rmap->n / b… in MatConvertToTriples_mpisbaij_mpisbaij_MKL_CPARDISO() local 307 garray = mat->garray; in MatConvertToTriples_mpisbaij_mpisbaij_MKL_CPARDISO() [all …]
|
| /petsc/src/mat/impls/composite/ |
| H A D | mcomposite.c | 137 const PetscInt *garray; in MatMult_Composite() local 175 PetscCall(MatMPIAIJGetSeqAIJ(cur->mat, NULL, &B, &garray)); in MatMult_Composite() 180 if (garray[i] < gindices[j]) buf[k++] = garray[i++]; in MatMult_Composite() 181 else if (garray[i] > gindices[j]) buf[k++] = gindices[j++]; in MatMult_Composite() 183 buf[k++] = garray[i++]; in MatMult_Composite() 189 PetscCall(PetscArraycpy(buf + k, garray + i, n - i)); in MatMult_Composite() 205 PetscCall(MatMPIAIJGetSeqAIJ(cur->mat, NULL, &B, &garray)); in MatMult_Composite() 214 if (garray[i] < gindices[mid]) hi = mid; in MatMult_Composite()
|
| /petsc/src/mat/impls/is/ |
| H A D | matis.c | 107 const PetscInt *garray; in MatGetNonzeroColumnsLocal_Private() local 125 garray = NULL; in MatGetNonzeroColumnsLocal_Private() 127 PetscCall(MatMPIAIJGetSeqAIJ(PT, &Pd, &Po, &garray)); in MatGetNonzeroColumnsLocal_Private() 129 PetscCall(MatMPIBAIJGetSeqBAIJ(PT, &Pd, &Po, &garray)); in MatGetNonzeroColumnsLocal_Private() 169 for (i = 0; i < cto; i++) aux[i + ctd] = garray[idxs[bs * i] / bs]; in MatGetNonzeroColumnsLocal_Private() 173 for (i = 0; i < cto; i++) aux[i + ctd] = garray[i]; in MatGetNonzeroColumnsLocal_Private() 188 const PetscInt *garray; in MatPtAPSymbolic_IS_XAIJ() local 218 PetscCall(ISLocalToGlobalMappingGetBlockIndices(cl2g, &garray)); in MatPtAPSymbolic_IS_XAIJ() 219 PetscCall(ISCreateBlock(comm, ibs, N / ibs, garray, PETSC_COPY_VALUES, &ptap->ris0)); in MatPtAPSymbolic_IS_XAIJ() 220 PetscCall(ISLocalToGlobalMappingRestoreBlockIndices(cl2g, &garray)); in MatPtAPSymbolic_IS_XAIJ() [all …]
|
| /petsc/src/mat/impls/aij/mpi/kokkos/ |
| H A D | mpiaijkok.kokkos.cxx | 118 PetscInt n, *garray; // C's garray and its size. member 601 mm->garray = garray2; // give ownership, so no free in MatMPIAIJKokkosReduceBegin() 752 const PetscInt *garray1 = empi->garray; // its size is n1 in MatMPIAIJKokkosBcastBegin() 772 if (empi->garray[*it] < cstart) { // map local to global in MatMPIAIJKokkosBcastBegin() 849 buf[j] = empi->garray[Bj[Bi[i] + j]]; // left B, in global in MatMPIAIJKokkosBcastBegin() 853 buf[j] = empi->garray[Bj[Bi[i] + j - alen]]; // right B, in global in MatMPIAIJKokkosBcastBegin() 920 mm->garray = garray2; in MatMPIAIJKokkosBcastBegin() 1098 …PetscCall(MatMPIAIJKokkosReduceBegin(comm, mm->C3, mm->C4, cstart, cend, bmpi->garray, ampi->Mvctx… in MatProductSymbolic_MPIAIJKokkos_AtB() 1110 …PetscCall(MatMPIAIJKokkosReduceEnd(comm, mm->C3, mm->C4, cstart, cend, bmpi->garray, ampi->Mvctx, … in MatProductSymbolic_MPIAIJKokkos_AtB() 1381 PetscCall(MatCreateMPIAIJWithSeqAIJ(comm, M, N, Zd, Zo, mmAB->garray, &Z)); in MatProductSymbolic_MPIAIJKokkos() [all …]
|
| /petsc/src/dm/impls/composite/ |
| H A D | pack.c | 1526 const PetscScalar *garray, *garrayhead; in DMGlobalToLocalBegin_Composite() local 1536 PetscCall(VecGetArrayRead(gvec, &garray)); in DMGlobalToLocalBegin_Composite() 1537 garrayhead = garray; in DMGlobalToLocalBegin_Composite() 1563 PetscCall(VecRestoreArrayRead(gvec, &garray)); in DMGlobalToLocalBegin_Composite() 1581 PetscScalar *garray, *garrayhead; in DMLocalToGlobalBegin_Composite() local 1593 PetscCall(VecGetArray(gvec, &garray)); in DMLocalToGlobalBegin_Composite() 1594 garrayhead = garray; in DMLocalToGlobalBegin_Composite() 1617 PetscCall(VecRestoreArray(gvec, &garray)); in DMLocalToGlobalBegin_Composite()
|
| /petsc/src/mat/impls/hypre/ |
| H A D | mhypre.c | 191 PetscInt i, *garray = pA->garray, *jj, cstart, *pjj; in MatHYPRE_IJMatrixCopyIJ_MPIAIJ() local 235 for (i = 0; i < poffd->nz; i++) jj[i] = garray[pjj[i]]; in MatHYPRE_IJMatrixCopyIJ_MPIAIJ() 775 PetscInt *garray; local 777 PetscCall(PetscFree(aij->garray)); 778 PetscCall(PetscMalloc1(nc, &garray)); 779 for (HYPRE_Int i = 0; i < nc; i++) garray[i] = (PetscInt)harray[i]; 780 aij->garray = garray; 801 PetscInt *garray, i, noffd, dnnz, onnz, *row_starts, *col_starts; local 854 garray = a->garray; 883 garray = NULL; [all …]
|