| /petsc/src/mat/impls/sbaij/mpi/ |
| H A D | sbaijov.c | 162 …PetscMPIInt proc_end = 0, size, rank, tag1, tag2, *len_s, nrqr, nrqs, *id_r1, *len_r1, flag, *… in MatIncreaseOverlap_MPISBAIJ_Once() local 216 PetscCall(PetscMalloc4(size, &len_s, size, &btable, size, &iwork, size + 1, &Bowners)); in MatIncreaseOverlap_MPISBAIJ_Once() 249 for (i = 0; i < size; i++) len_s[i] = 0; in MatIncreaseOverlap_MPISBAIJ_Once() 278 len_s[proc_id]++; in MatIncreaseOverlap_MPISBAIJ_Once() 284 *(data1 + proc_id * len + 1 + i) = len_s[proc_id] - iwork[proc_id]; in MatIncreaseOverlap_MPISBAIJ_Once() 285 iwork[proc_id] = len_s[proc_id]; in MatIncreaseOverlap_MPISBAIJ_Once() 294 if (len_s[i]) { in MatIncreaseOverlap_MPISBAIJ_Once() 296 len_s[i] += 1 + is_max; /* add no. of header msg */ in MatIncreaseOverlap_MPISBAIJ_Once() 305 PetscCall(PetscGatherNumberOfMessages(comm, NULL, len_s, &nrqr)); in MatIncreaseOverlap_MPISBAIJ_Once() 306 PetscCall(PetscGatherMessageLengths(comm, nrqs, nrqr, len_s, &id_r1, &len_r1)); in MatIncreaseOverlap_MPISBAIJ_Once() [all …]
|
| /petsc/src/mat/impls/aij/mpi/ |
| H A D | mpimatmatmult.c | 1274 PetscMPIInt tagi, tagj, *len_si, *len_s, *len_ri, nrecv, proc, nsend; in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() local 1327 PetscCall(PetscMalloc4(size, &len_s, size, &len_si, size, &sstatus, size + 1, &owners_co)); in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() 1328 PetscCall(PetscArrayzero(len_s, size)); in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() 1339 len_s[proc] += coi[i + 1] - coi[i]; /* num of nonzeros in Co to be sent to [proc] */ in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() 1347 if (len_s[proc]) { in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() 1355 PetscCall(PetscGatherNumberOfMessages(comm, NULL, len_s, &nrecv)); in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() 1356 PetscCall(PetscGatherMessageLengths2(comm, nsend, nrecv, len_s, len_si, &id_r, &len_r, &len_ri)); in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() 1363 if (!len_s[proc]) continue; in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() 1365 PetscCallMPI(MPIU_Isend(coj + coi[i], len_s[proc], MPIU_INT, proc, tagj, comm, swaits + k)); in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() 1401 if (!len_s[proc]) continue; in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable() [all …]
|
| H A D | mpiptap.c | 73 PetscCall(PetscFree(merge->len_s)); in MatProductCtxDestroy_MPIAIJ_PtAP() 225 PetscMPIInt tagi, tagj, *len_si, *len_s, *len_ri, nrecv, nsend, proc; in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() local 390 PetscCall(PetscMalloc4(size, &len_s, size, &len_si, size, &sstatus, size + 2, &owners_co)); in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() 391 PetscCall(PetscArrayzero(len_s, size)); in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() 403 len_s[proc] += coi[i + 1] - coi[i]; /* num of nonzeros in Co to be sent to [proc] */ in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() 411 if (len_s[proc]) { in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() 419 PetscCall(PetscGatherNumberOfMessages(comm, NULL, len_s, &nrecv)); in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() 420 PetscCall(PetscGatherMessageLengths2(comm, nsend, nrecv, len_s, len_si, &id_r, &len_r, &len_ri)); in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() 427 if (!len_s[proc]) continue; in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() 429 PetscCallMPI(MPIU_Isend(coj + coi[i], len_s[proc], MPIU_INT, proc, tagj, comm, swaits + k)); in MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable() [all …]
|
| H A D | mpiaij.h | 8 …PetscMPIInt *len_s, *len_r, *id_r; /* array of length of comm->size, store send/recv matrix values… member
|
| H A D | mpiaij.c | 4629 PetscCall(PetscFree(merge->len_s)); in MatMergeSeqsToMPIDestroy() 4652 PetscMPIInt size, rank, taga, *len_s; in MatCreateMPIAIJSumSeqAIJNumeric() local 4685 len_s = merge->len_s; in MatCreateMPIAIJSumSeqAIJNumeric() 4693 if (!len_s[proc]) continue; in MatCreateMPIAIJSumSeqAIJNumeric() 4695 … PetscCallMPI(MPIU_Isend(aa + ai[i], len_s[proc], MPIU_MATSCALAR, proc, taga, comm, s_waits + k)); in MatCreateMPIAIJSumSeqAIJNumeric() 4771 PetscMPIInt size, rank, tagi, tagj, *len_s, *len_si, *len_ri; in MatCreateMPIAIJSumSeqAIJSymbolic() local 4802 PetscCall(PetscMalloc1(size, &merge->len_s)); in MatCreateMPIAIJSumSeqAIJSymbolic() 4808 len_s = merge->len_s; in MatCreateMPIAIJSumSeqAIJSymbolic() 4815 len_s[proc] = 0; in MatCreateMPIAIJSumSeqAIJSymbolic() 4818 …PetscCall(PetscMPIIntCast(ai[owners[proc + 1]] - ai[owners[proc]], &len_s[proc])); /* num of rows … in MatCreateMPIAIJSumSeqAIJSymbolic() [all …]
|