Lines Matching refs:is_max
11 PetscErrorCode MatIncreaseOverlap_MPISBAIJ(Mat C, PetscInt is_max, IS is[], PetscInt ov) in MatIncreaseOverlap_MPISBAIJ() argument
24 PetscCall(PetscMalloc1(is_max, &is_new)); in MatIncreaseOverlap_MPISBAIJ()
26 PetscCall(ISCompressIndicesGeneral(N, C->rmap->n, bs, is_max, is, is_new)); in MatIncreaseOverlap_MPISBAIJ()
34 for (i = 0; i < ov; ++i) PetscCall(MatIncreaseOverlap_MPISBAIJ_Once(C, is_max, is_new)); in MatIncreaseOverlap_MPISBAIJ()
41 PetscCall(PetscMalloc1(is_max, &is_row)); in MatIncreaseOverlap_MPISBAIJ()
44 for (i = 1; i < is_max; i++) is_row[i] = is_row[0]; /* reuse is_row[0] */ in MatIncreaseOverlap_MPISBAIJ()
47 PetscCall(PetscMalloc1(is_max + 1, &submats)); in MatIncreaseOverlap_MPISBAIJ()
52 nstages = is_max / nmax + ((is_max % nmax) ? 1 : 0); in MatIncreaseOverlap_MPISBAIJ()
71 if (pos + nmax <= is_max) max_no = nmax; in MatIncreaseOverlap_MPISBAIJ()
72 else if (pos == is_max) max_no = 0; in MatIncreaseOverlap_MPISBAIJ()
73 else max_no = is_max - pos; in MatIncreaseOverlap_MPISBAIJ()
82 PetscCall(MatIncreaseOverlap_MPIBAIJ_Once(C, is_max, is_new)); in MatIncreaseOverlap_MPISBAIJ()
85 for (i = 0; i < is_max; i++) { in MatIncreaseOverlap_MPISBAIJ()
115 for (i = 0; i < is_max; i++) PetscCall(MatDestroy(&submats[i])); in MatIncreaseOverlap_MPISBAIJ()
125 for (i = 0; i < is_max; i++) { in MatIncreaseOverlap_MPISBAIJ()
159 static PetscErrorCode MatIncreaseOverlap_MPISBAIJ_Once(Mat C, PetscInt is_max, IS is[]) in MatIncreaseOverlap_MPISBAIJ_Once() argument
192 len = PetscMax(is_max, size); in MatIncreaseOverlap_MPISBAIJ_Once()
196 PetscCallMPI(MPIU_Allreduce(&is_max, &ois_max, 1, MPIU_INT, MPI_MAX, comm)); in MatIncreaseOverlap_MPISBAIJ_Once()
200 PetscCall(PetscMalloc1(is_max, &n)); in MatIncreaseOverlap_MPISBAIJ_Once()
202 for (i = 0; i < is_max; i++) { in MatIncreaseOverlap_MPISBAIJ_Once()
207 is_max = 0; in MatIncreaseOverlap_MPISBAIJ_Once()
209 len += 1 + is_max; /* max length of data1 for one processor */ in MatIncreaseOverlap_MPISBAIJ_Once()
227 if (is_max) { in MatIncreaseOverlap_MPISBAIJ_Once()
254 *data1_start[proc_id] = is_max; in MatIncreaseOverlap_MPISBAIJ_Once()
256 for (j = 0; j < is_max; j++) { in MatIncreaseOverlap_MPISBAIJ_Once()
266 for (i = 0; i < is_max; i++) { in MatIncreaseOverlap_MPISBAIJ_Once()
296 len_s[i] += 1 + is_max; /* add no. of header msg */ in MatIncreaseOverlap_MPISBAIJ_Once()
300 for (i = 0; i < is_max; i++) PetscCall(ISDestroy(&is[i])); in MatIncreaseOverlap_MPISBAIJ_Once()
380 len_max = is_max * (Mbs + 1); /* max space storing all is[] for this processor */ in MatIncreaseOverlap_MPISBAIJ_Once()
407 if (ilen > 1 + is_max) { /* Add data2 into data */ in MatIncreaseOverlap_MPISBAIJ_Once()
408 data2_i = data2 + 1 + is_max; in MatIncreaseOverlap_MPISBAIJ_Once()
409 for (i = 0; i < is_max; i++) { in MatIncreaseOverlap_MPISBAIJ_Once()
411 data_i = data + 1 + is_max + Mbs * i; in MatIncreaseOverlap_MPISBAIJ_Once()
418 if (i < is_max - 1) data2_i += data2[1 + i]; in MatIncreaseOverlap_MPISBAIJ_Once()
438 for (i = 0; i < is_max; i++) { in MatIncreaseOverlap_MPISBAIJ_Once()
439 data_i = data + 1 + is_max + Mbs * i; in MatIncreaseOverlap_MPISBAIJ_Once()
471 PetscInt a_start, a_end, b_start, b_end, i, j, k, is_max, *idx_i, n; in MatIncreaseOverlap_MPISBAIJ_Local() local
484 is_max = data[0]; in MatIncreaseOverlap_MPISBAIJ_Local()
488 nidx[0] = is_max; in MatIncreaseOverlap_MPISBAIJ_Local()
489 idx_i = data + is_max + 1; /* ptr to input is[0] array */ in MatIncreaseOverlap_MPISBAIJ_Local()
490 nidx_i = nidx + is_max + 1; /* ptr to output is[0] array */ in MatIncreaseOverlap_MPISBAIJ_Local()
491 for (i = 0; i < is_max; i++) { /* for each is */ in MatIncreaseOverlap_MPISBAIJ_Local()
498 nidx_i = nidx + 1 + is_max + Mbs * i; in MatIncreaseOverlap_MPISBAIJ_Local()
562 if (i < is_max - 1) { in MatIncreaseOverlap_MPISBAIJ_Local()