| /petsc/src/ksp/ksp/tutorials/ |
| H A D | bench_kspsolve.c | 34 PetscInt nnz; /* local nonzeros */ member 47 PetscInt nnz[] = {8, 12, 18, 27}; /* nnz for corner, edge, face, and center. */ in PreallocateCOO() local 58 user->nnz = 0; in PreallocateCOO() 63 user->nnz += 4 * nnz[idx] + 4 * nm2 * nnz[idx + 1] + nm2 * nm2 * nnz[idx + 2]; in PreallocateCOO() 65 user->nnz += 3 * nnz[idx] + (3 * nm2 + n1 - xstart) * nnz[idx + 1] + nm2 * nm2 * nnz[idx + 2]; in PreallocateCOO() 67 user->nnz += 3 * nnz[idx] + (3 * nm2) * nnz[idx + 1] + nm2 * nm2 * nnz[idx + 2]; in PreallocateCOO() 69 …user->nnz += 2 * nnz[idx] + (nm2 + 2 * (n1 - ystart)) * nnz[idx + 1] + nm2 * (n1 - ystart) * nnz[i… in PreallocateCOO() 71 …user->nnz += 2 * nnz[idx] + (nm2 + (n1 - ystart) + (nm2 - ystart)) * nnz[idx + 1] + (nm2 * (nm2 - … in PreallocateCOO() 73 …user->nnz += 2 * nnz[idx] + (nm2 + n1 - ystart + nm2 - ystart) * nnz[idx + 1] + nm2 * (nm2 - ystar… in PreallocateCOO() 75 user->nnz += 2 * nnz[idx] + nm2 * nnz[idx + 1]; in PreallocateCOO() [all …]
|
| /petsc/src/mat/impls/aij/seq/lusol/ |
| H A D | lusol.c | 38 PETSC_EXTERN void LU1FAC(int *m, int *n, int *nnz, int *size, int *luparm, double *parmlu, double *… 66 int nnz; /* Number of nonzeros allocated for factors */ member 195 int i, m, n, nnz, status; in MatSolve_LUSOL() local 202 nnz = lusol->nnz; in MatSolve_LUSOL() 206 …LU6SOL(&mode, &m, &n, lusol->mnsv, xx, &nnz, lusol->luparm, lusol->parmlu, lusol->data, lusol->ind… in MatSolve_LUSOL() 219 int m, n, nz, nnz, status; in MatLUFactorNumeric_LUSOL() local 236 nnz = PetscMax(lusol->nnz, (int)(lusol->elbowroom * nz)); in MatLUFactorNumeric_LUSOL() 237 nnz = PetscMax(nnz, 5 * n); in MatLUFactorNumeric_LUSOL() 239 if (nnz < lusol->luparm[12]) { in MatLUFactorNumeric_LUSOL() 240 nnz = (int)(lusol->luroom * lusol->luparm[12]); in MatLUFactorNumeric_LUSOL() [all …]
|
| /petsc/src/dm/impls/moab/ |
| H A D | dmmbmat.cxx | 14 PetscInt *nnz = 0, *onz = 0; in DMCreateMatrix_Moab() local 29 PetscCall(PetscCalloc2(nlsiz, &nnz, nlsiz, &onz)); in DMCreateMatrix_Moab() 32 …PetscCall(DMMoab_Compute_NNZ_From_Connectivity(dm, &innz, nnz, &ionz, onz, tmp ? PETSC_TRUE : PETS… in DMCreateMatrix_Moab() 46 PetscCall(MatSeqAIJSetPreallocation(A, innz, nnz)); in DMCreateMatrix_Moab() 47 PetscCall(MatMPIAIJSetPreallocation(A, innz, nnz, ionz, onz)); in DMCreateMatrix_Moab() 48 PetscCall(MatSeqBAIJSetPreallocation(A, dmmoab->bs, innz, nnz)); in DMCreateMatrix_Moab() 49 PetscCall(MatMPIBAIJSetPreallocation(A, dmmoab->bs, innz, nnz, ionz, onz)); in DMCreateMatrix_Moab() 52 PetscCall(PetscFree2(nnz, onz)); in DMCreateMatrix_Moab() 63 …Code DMMoab_Compute_NNZ_From_Connectivity(DM dm, PetscInt *innz, PetscInt *nnz, PetscInt *ionz, Pe… in DMMoab_Compute_NNZ_From_Connectivity() argument 120 …nnz[ivtx] = n_nnz; /* leave out self to avoid repeats -> node shared by multiple elements… in DMMoab_Compute_NNZ_From_Connectivity() [all …]
|
| H A D | dmmbmg.cxx | 169 PetscInt innz, *nnz, ionz, *onz; in DMCreateInterpolation_Moab() local 192 PetscCall(PetscCalloc2(nlsizc, &nnz, nlsizc, &onz)); in DMCreateInterpolation_Moab() 229 … else nnz[ldof]++; /* else local vertex */ in DMCreateInterpolation_Moab() 235 for (int i = 0; i < nlsizc; i++) nnz[i] += 1; /* self count the node */ in DMCreateInterpolation_Moab() 238 innz = nnz[0]; in DMCreateInterpolation_Moab() 241 nnz[tc] = std::min(nlsizp, nnz[tc]); in DMCreateInterpolation_Moab() 244 PetscCall(PetscInfo(NULL, " %d: NNZ = %d, ONZ = %d\n", tc, nnz[tc], onz[tc])); in DMCreateInterpolation_Moab() 246 innz = (innz < nnz[tc] ? nnz[tc] : innz); in DMCreateInterpolation_Moab() 256 PetscCall(MatSeqAIJSetPreallocation(*interpl, innz, nnz)); in DMCreateInterpolation_Moab() 257 PetscCall(MatMPIAIJSetPreallocation(*interpl, innz, nnz, ionz, onz)); in DMCreateInterpolation_Moab() [all …]
|
| /petsc/src/mat/impls/aij/seq/bas/ |
| H A D | spbas.c | 45 else memreq += matrix.nnz * sizeof(PetscInt); in spbas_memory_requirement() 51 else memreq += matrix.nnz * sizeof(PetscScalar); in spbas_memory_requirement() 97 PetscInt nnz = result->nnz; in spbas_allocate_data() local 106 result->n_alloc_icol = nnz; in spbas_allocate_data() 108 PetscCall(PetscMalloc1(nnz, &result->alloc_icol)); in spbas_allocate_data() 115 result->n_alloc_val = nnz; in spbas_allocate_data() 117 PetscCall(PetscMalloc1(nnz, &result->alloc_val)); in spbas_allocate_data() 252 PetscInt nnz = irow_in[nrows]; in spbas_compress_pattern() local 253 size_t mem_orig = (nrows + nnz) * sizeof(PetscInt); in spbas_compress_pattern() 268 B->nnz = nnz; in spbas_compress_pattern() [all …]
|
| /petsc/src/mat/utils/ |
| H A D | freespace.c | 63 PetscInt row, nnz, *bj, *array, total, bi_temp; in PetscFreeSpaceContiguous_LU() local 78 nnz = bi[row + 1] - bi[row]; in PetscFreeSpaceContiguous_LU() 96 nnzU = nnz - nnzL; in PetscFreeSpaceContiguous_LU() 101 array += nnz; in PetscFreeSpaceContiguous_LU() 139 PetscInt row, nnz, *uj, *array, total; in PetscFreeSpaceContiguous_Cholesky() local 151 nnz = ui[row + 1] - ui[row] - 1; /* exclude diagonal */ in PetscFreeSpaceContiguous_Cholesky() 153 PetscCall(PetscArraycpy(uj, array + 1, nnz)); in PetscFreeSpaceContiguous_Cholesky() 154 uj[nnz] = array[0]; /* diagonal */ in PetscFreeSpaceContiguous_Cholesky() 155 array += nnz + 1; in PetscFreeSpaceContiguous_Cholesky()
|
| H A D | zerodiag.c | 72 PetscInt prow, k, nz, n, repl, *j, *col, *row, m, *icol, nnz, *jj, kk; in MatReorderForNonzeroDiagonal_SeqAIJ() local 114 PetscCall(MatGetRow_SeqAIJ(mat, row[repl], &nnz, &jj, &vv)); in MatReorderForNonzeroDiagonal_SeqAIJ() 115 for (kk = 0; kk < nnz; kk++) { in MatReorderForNonzeroDiagonal_SeqAIJ() 117 PetscCall(MatRestoreRow_SeqAIJ(mat, row[repl], &nnz, &jj, &vv)); in MatReorderForNonzeroDiagonal_SeqAIJ() 123 PetscCall(MatRestoreRow_SeqAIJ(mat, row[repl], &nnz, &jj, &vv)); in MatReorderForNonzeroDiagonal_SeqAIJ() 131 PetscCall(MatGetRow_SeqAIJ(mat, row[k], &nnz, &jj, &vv)); in MatReorderForNonzeroDiagonal_SeqAIJ() 132 for (kk = 0; kk < nnz; kk++) { in MatReorderForNonzeroDiagonal_SeqAIJ() 139 PetscCall(MatRestoreRow_SeqAIJ(mat, row[k], &nnz, &jj, &vv)); in MatReorderForNonzeroDiagonal_SeqAIJ()
|
| /petsc/src/mat/graphops/order/ |
| H A D | wbm.c | 37 PetscInt *perm, nrow, ncol, nnz, liw, *iw, ldw; in MatGetOrdering_WBM() local 46 nnz = ia[nrow]; in MatGetOrdering_WBM() 59 liw = 8 * nrow + 2 * ncol + nnz; in MatGetOrdering_WBM() 60 ldw = nnz; in MatGetOrdering_WBM() 64 ldw = 2 * ncol + nnz; in MatGetOrdering_WBM() 68 ldw = nrow + 2 * ncol + nnz; in MatGetOrdering_WBM() 79 …PetscCallExternal(mc64ad_dist, &job, &nrow, &nnz, ia, ja, a, &num, perm, &liw, iw, &ldw, dw, icntl… in MatGetOrdering_WBM()
|
| /petsc/src/ksp/ksp/tests/ |
| H A D | ex13.c | 26 PetscInt testcase = 0, m, nnz, pnnz; in main() local 39 nnz = 3; in main() 46 nnz = 9; in main() 54 nnz = 1; in main() 61 nnz = 3; in main() 70 PetscCall(MatMPIAIJSetPreallocation(A, nnz, NULL, nnz, NULL)); in main() 71 PetscCall(MatSeqAIJSetPreallocation(A, nnz, NULL)); in main() 88 PetscCall(PetscMalloc2(nnz, &cols, nnz, &vals)); in main()
|
| /petsc/src/mat/tests/ |
| H A D | ex123.c | 179 PetscInt i, j, nA, nB, nnz; in main() local 189 nnz = iA[nA] + iB[nB]; in main() 190 PetscCall(PetscMalloc3(nnz, &coo_i, nnz, &coo_j, nnz, &coo_v)); in main() 191 nnz = 0; in main() 193 for (j = iA[i]; j < iA[i + 1]; j++, nnz++) { in main() 194 coo_i[nnz] = i + rstart; in main() 195 coo_j[nnz] = jA[j] + cstart; in main() 196 coo_v[nnz] = vA[j]; in main() 200 for (j = iB[i]; j < iB[i + 1]; j++, nnz++) { in main() 201 coo_i[nnz] = i + rstart; in main() [all …]
|
| H A D | ex117.c | 13 PetscInt nnz[3]; in main() local 23 nnz[0] = 2; in main() 24 nnz[1] = 1; in main() 25 nnz[2] = 1; in main() 26 PetscCall(MatCreateSeqSBAIJ(PETSC_COMM_SELF, 2, 6, 6, 0, nnz, &mat)); in main()
|
| /petsc/src/mat/impls/aij/seq/ |
| H A D | aij.h | 505 #define PetscSparseDenseMinusDot(sum, r, xv, xi, nnz) \ argument 507 if (nnz > 0) { \ 508 PetscInt nnz2 = nnz, rem = nnz & 0x3; \ 524 xv -= nnz; \ 525 xi -= nnz; \ 530 #define PetscSparseDenseMinusDot(sum, r, xv, xi, nnz) \ argument 533 for (__i = 0; __i < nnz - 1; __i += 2) { \ 538 if (nnz & 0x1) sum -= xv[__i] * r[xi[__i]]; \ 542 #define PetscSparseDenseMinusDot(sum, r, xv, xi, nnz) \ argument 545 for (__i = 0; __i < nnz; __i++) sum -= xv[__i] * r[xi[__i]]; \ [all …]
|
| H A D | fdaij.c | 178 …rows, mbs = c->m, j, k, m, ncols, col, nis = iscoloring->n, *rowhit, bs, bs2, *spidx, nz, tmp, nnz; in MatFDColoringSetUp_SeqXAIJ() local 232 nnz = 0; in MatFDColoringSetUp_SeqXAIJ() 262 Jentry[nnz].row = j; /* local row index */ in MatFDColoringSetUp_SeqXAIJ() 263 Jentry[nnz].col = rowhit[j] - 1; /* local column index */ in MatFDColoringSetUp_SeqXAIJ() 264 Jentry[nnz].valaddr = valaddrhit[j]; /* address of mat value for this entry */ in MatFDColoringSetUp_SeqXAIJ() 265 nnz++; in MatFDColoringSetUp_SeqXAIJ() 272 Jentry2[nnz].row = j; /* local row index */ in MatFDColoringSetUp_SeqXAIJ() 273 Jentry2[nnz].valaddr = valaddrhit[j]; /* address of mat value for this entry */ in MatFDColoringSetUp_SeqXAIJ() 274 nnz++; in MatFDColoringSetUp_SeqXAIJ() 280 PetscCheck(nnz == nz, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Incorrect coloring of matrix"); in MatFDColoringSetUp_SeqXAIJ()
|
| /petsc/src/mat/impls/sbaij/seq/ |
| H A D | relax.h | 9 #define PetscSparseDensePlusDot_no_function(sum, r, xv, xi, nnz) \ argument 11 if (nnz > 0) { \ 12 PetscInt nnz2 = nnz, rem = nnz & 0x3; \ 28 xv -= nnz; \ 29 xi -= nnz; \ 34 #define PetscSparseDensePlusDot_no_function(sum, r, xv, xi, nnz) \ argument 37 for (__i = 0; __i < nnz - 1; __i += 2) { \ 42 if (nnz & 0x1) sum += xv[__i] * r[xi[__i]]; \ 46 #define PetscSparseDensePlusDot_no_function(sum, r, xv, xi, nnz) \ argument 49 for (__i = 0; __i < nnz; __i++) sum += xv[__i] * r[xi[__i]]; \
|
| H A D | aijsbaij.c | 122 PETSC_INTERN PetscErrorCode MatConvert_SeqAIJ_SeqSBAIJ_Preallocate(Mat A, PetscInt **nnz) in MatConvert_SeqAIJ_SeqSBAIJ_Preallocate() argument 135 PetscCall(PetscMalloc1(m, nnz)); in MatConvert_SeqAIJ_SeqSBAIJ_Preallocate() 138 (*nnz)[i] = 0; in MatConvert_SeqAIJ_SeqSBAIJ_Preallocate() 139 for (PetscInt j = ai[i]; j < ai[i + 1]; j++) (*nnz)[i] += (aj[j] > i); in MatConvert_SeqAIJ_SeqSBAIJ_Preallocate() 140 } else (*nnz)[i] = ai[i + 1] - adiag[i]; in MatConvert_SeqAIJ_SeqSBAIJ_Preallocate() 148 PetscCall(PetscCalloc1(m / bs, nnz)); in MatConvert_SeqAIJ_SeqSBAIJ_Preallocate() 155 if (missing) (*nnz)[key.i]++; in MatConvert_SeqAIJ_SeqSBAIJ_Preallocate()
|
| /petsc/src/mat/impls/aij/mpi/ |
| H A D | mpb_aij.c | 9 PetscInt *garrayCMap, col, i, j, *nnz, newRow, newCol; in MatGetMultiProcBlock_MPIAIJ() local 49 PetscCall(PetscCalloc1(aij->B->rmap->n, &nnz)); in MatGetMultiProcBlock_MPIAIJ() 52 if (garrayCMap[aijB->j[j]]) nnz[i]++; in MatGetMultiProcBlock_MPIAIJ() 55 PetscCall(MatMPIAIJSetPreallocation(*(subMat), 0, NULL, 0, nnz)); in MatGetMultiProcBlock_MPIAIJ() 89 if (scall == MAT_INITIAL_MATRIX) PetscCall(PetscFree(nnz)); in MatGetMultiProcBlock_MPIAIJ()
|
| /petsc/src/mat/impls/baij/mpi/ |
| H A D | mpb_baij.c | 9 PetscInt *garrayCMap, col, i, j, *nnz, newRow, newCol, *newbRow, *newbCol, k, k1; in MatGetMultiProcBlock_MPIBAIJ() local 54 PetscCall(PetscCalloc1(aij->B->rmap->n / bs, &nnz)); in MatGetMultiProcBlock_MPIBAIJ() 57 if (garrayCMap[aijB->j[j]]) nnz[i]++; in MatGetMultiProcBlock_MPIBAIJ() 60 PetscCall(MatMPIBAIJSetPreallocation(*(subMat), bs, 0, NULL, 0, nnz)); in MatGetMultiProcBlock_MPIBAIJ() 108 if (scall == MAT_INITIAL_MATRIX) PetscCall(PetscFree(nnz)); in MatGetMultiProcBlock_MPIBAIJ()
|
| /petsc/src/mat/impls/baij/seq/ |
| H A D | baijfact3.c | 159 PetscInt *bdiag, row, nnz, nzi, reallocs = 0, nzbd, *im; in MatLUFactorSymbolic_SeqBAIJ() local 199 nnz = ai[r[i] + 1] - ai[r[i]]; in MatLUFactorSymbolic_SeqBAIJ() 201 PetscCall(PetscLLAddPerm(nnz, ajtmp, ic, n, &nlnk, lnk, lnkbt)); in MatLUFactorSymbolic_SeqBAIJ() 218 nnz = nzi; in MatLUFactorSymbolic_SeqBAIJ() 220 while (nnz-- && k < i) { in MatLUFactorSymbolic_SeqBAIJ() 228 …nnz = PetscIntMultTruncate(2, PetscIntMultTruncate(n - i, nzi)); /* estimated and max additional s… in MatLUFactorSymbolic_SeqBAIJ() 229 PetscCall(PetscFreeSpaceGet(nnz, ¤t_space)); in MatLUFactorSymbolic_SeqBAIJ()
|
| H A D | aijbaij.c | 59 PETSC_INTERN PetscErrorCode MatConvert_SeqAIJ_SeqBAIJ_Preallocate(Mat A, PetscInt **nnz) in MatConvert_SeqAIJ_SeqBAIJ_Preallocate() argument 69 PetscCall(PetscMalloc1(m, nnz)); in MatConvert_SeqAIJ_SeqBAIJ_Preallocate() 70 for (PetscInt i = 0; i < m; i++) (*nnz)[i] = ai[i + 1] - ai[i]; in MatConvert_SeqAIJ_SeqBAIJ_Preallocate() 78 PetscCall(PetscCalloc1(m / bs, nnz)); in MatConvert_SeqAIJ_SeqBAIJ_Preallocate() 84 if (missing) (*nnz)[key.i]++; in MatConvert_SeqAIJ_SeqBAIJ_Preallocate()
|
| H A D | baijfact2.c | 317 PetscInt *bi, *cols, nnz, *cols_lvl; in MatILUFactorSymbolic_SeqBAIJ() local 396 nnz = ai[r[i] + 1] - ai[r[i]]; in MatILUFactorSymbolic_SeqBAIJ() 397 …PetscCheck(nnz, PETSC_COMM_SELF, PETSC_ERR_MAT_LU_ZRPVT, "Empty row in matrix: row in original ord… in MatILUFactorSymbolic_SeqBAIJ() 400 PetscCall(PetscIncompleteLLInit(nnz, cols, n, ic, &nlnk, lnk, lnk_lvl, lnkbt)); in MatILUFactorSymbolic_SeqBAIJ() 418 nnz = bdiag[prow]; in MatILUFactorSymbolic_SeqBAIJ() 419 cols = bj_ptr[prow] + nnz + 1; in MatILUFactorSymbolic_SeqBAIJ() 420 cols_lvl = bjlvl_ptr[prow] + nnz + 1; in MatILUFactorSymbolic_SeqBAIJ() 421 nnz = bi[prow + 1] - bi[prow] - nnz - 1; in MatILUFactorSymbolic_SeqBAIJ() 423 …PetscCall(PetscILULLAddSorted(nnz, cols, levels, cols_lvl, prow, &nlnk, lnk, lnk_lvl, lnkbt, prow)… in MatILUFactorSymbolic_SeqBAIJ() 433 …nnz = PetscIntMultTruncate(2, PetscIntMultTruncate(nzi, n - i)); /* estimated and max additional s… in MatILUFactorSymbolic_SeqBAIJ() [all …]
|
| /petsc/src/mat/impls/aij/seq/seqviennacl/ |
| H A D | aijviennacl.cxx | 110 a->nz = Agpu->nnz(); in MatViennaCLCopyFromGPU() 142 col_buffer.raw_resize(Agpu->handle2(), Agpu->nnz()); in MatViennaCLCopyFromGPU() 144 for (PetscInt i = 0; i < (PetscInt)Agpu->nnz(); ++i) (a->j)[i] = col_buffer[i]; in MatViennaCLCopyFromGPU() 147 viennacl::backend::memory_read(Agpu->handle(), 0, sizeof(PetscScalar) * Agpu->nnz(), a->a); in MatViennaCLCopyFromGPU() 149 …PetscCall(PetscLogGpuToCpu(row_buffer.raw_size() + col_buffer.raw_size() + (Agpu->nnz() * sizeof(P… in MatViennaCLCopyFromGPU() 161 …ory_read(viennaclstruct->mat->handle(), 0, sizeof(PetscScalar) * viennaclstruct->mat->nnz(), a->a); in MatViennaCLCopyFromGPU() 163 viennacl::backend::memory_read(Agpu->handle(), 0, sizeof(PetscScalar) * Agpu->nnz(), a->a); in MatViennaCLCopyFromGPU() 287 …ateSeqAIJViennaCL(MPI_Comm comm, PetscInt m, PetscInt n, PetscInt nz, const PetscInt nnz[], Mat *A) in MatCreateSeqAIJViennaCL() argument 293 PetscCall(MatSeqAIJSetPreallocation_SeqAIJ(*A, nz, (PetscInt *)nnz)); in MatCreateSeqAIJViennaCL()
|
| /petsc/src/ksp/pc/impls/ml/ |
| H A D | ml.c | 250 PetscInt m = mlmat->outvec_leng, n = mlmat->invec_leng, *nnz = NULL, nz_max; in MatWrapML_SeqAIJ() local 264 PetscCall(PetscMalloc1(m + 1, &nnz)); in MatWrapML_SeqAIJ() 265 for (i = 0; i < m; i++) nnz[i] = ml_rowptr[i + 1] - ml_rowptr[i]; in MatWrapML_SeqAIJ() 269 PetscCall(PetscSortIntWithScalarArray(nnz[i], aj, aa)); in MatWrapML_SeqAIJ() 270 aj += nnz[i]; in MatWrapML_SeqAIJ() 271 aa += nnz[i]; in MatWrapML_SeqAIJ() 274 PetscCall(PetscFree(nnz)); in MatWrapML_SeqAIJ() 290 PetscCall(PetscMalloc1(m, &nnz)); in MatWrapML_SeqAIJ() 291 …kCallExternalVoid("ML_Operator_Getrow", ML_Operator_Getrow(mlmat, 1, &i, nz_max, aj, aa, &nnz[i])); in MatWrapML_SeqAIJ() 292 PetscCall(MatSeqAIJSetPreallocation(*newmat, 0, nnz)); in MatWrapML_SeqAIJ() [all …]
|
| /petsc/src/mat/impls/aij/seq/kokkos/ |
| H A D | aijkok.hpp | 169 …nnz, const MatRowMapKokkosView &i_d, const MatColIdxKokkosView &j_d, const MatScalarKokkosView &a_… in Mat_SeqAIJKokkos() 181 MatRowMapType nnz() { return csrmat.nnz(); } in nnz() function
|
| /petsc/src/mat/tests/output/ |
| H A D | ex72_4.out | 2 M: 6, N: 6, nnz: 12
|
| H A D | ex72_2.out | 2 M: 14, N: 14, nnz: 30
|