<div dir="ltr">Hello,<div><br></div><div><br></div><div>I need some keyword or some examples for parallelizing matrix assemble process.</div><div><br></div><div>My current state is as below.</div><div>- Finite element analysis code for Structural mechanics.</div><div>- problem size : 3D solid hexa element (number of elements : 125,000), number of degree of freedom : 397,953</div><div>- Matrix type : seqaij, matrix set preallocation by using MatSeqAIJSetPreallocation</div><div>- Matrix assemble time by using 1 core : 120 sec<br>   for (int i=0; i<125000; i++) {</div><div>    ~~ element matrix calculation}</div><div>   matassemblybegin</div><div>   matassemblyend</div><div>- Matrix assemble time by using 8 core : 70,234sec</div><div>  int start, end;</div><div>  VecGetOwnershipRange( element_vec, &start, &end);</div><div>  for (int i=start; i<end; i++){</div><div>   ~~ element matrix calculation</div><div>   matassemblybegin</div><div>   matassemblyend</div><div><br></div><div><br></div><div>As you see the state, the parallel case spent a lot of time than sequential case..</div><div>How can I speed up in this case?</div><div>Can I get some keyword or examples for parallelizing assembly of matrix in finite element analysis ?</div><div><br></div><div>Thanks,</div><div>Hyung Kim</div><div><br></div></div>