[petsc-users] parallelize matrix assembly process

김성익 ksi2443 at gmail.com
Mon Dec 12 05:16:06 CST 2022


Hello,


I need some keyword or some examples for parallelizing matrix assemble
process.

My current state is as below.
- Finite element analysis code for Structural mechanics.
- problem size : 3D solid hexa element (number of elements : 125,000),
number of degree of freedom : 397,953
- Matrix type : seqaij, matrix set preallocation by using
MatSeqAIJSetPreallocation
- Matrix assemble time by using 1 core : 120 sec
   for (int i=0; i<125000; i++) {
    ~~ element matrix calculation}
   matassemblybegin
   matassemblyend
- Matrix assemble time by using 8 core : 70,234sec
  int start, end;
  VecGetOwnershipRange( element_vec, &start, &end);
  for (int i=start; i<end; i++){
   ~~ element matrix calculation
   matassemblybegin
   matassemblyend


As you see the state, the parallel case spent a lot of time than sequential
case..
How can I speed up in this case?
Can I get some keyword or examples for parallelizing assembly of matrix in
finite element analysis ?

Thanks,
Hyung Kim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20221212/61525591/attachment.html>


More information about the petsc-users mailing list