cb-geo / mpm

CB-Geo High-Performance Material Point Method
https://www.cb-geo.com/research/mpm
Other
238 stars 83 forks source link

Feature/parallel/openmp #661

Closed kks32 closed 4 years ago

kks32 commented 4 years ago

Describe the PR This PR replaces existing TBB parallelization with OpenMP. OpenMP is found to consistently better, if not the same as TBB. As there is more support for OpenMP, there is a further possibility of improving the performance of the code.

Related Issues/PRs

Additional context OpenMP/TBB speed ratio is almost always greater than 1, showing OpenMP is faster than TBB.

image

codecov[bot] commented 4 years ago

Codecov Report

Merging #661 into develop will increase coverage by 0.01%. The diff coverage is 98.21%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #661      +/-   ##
===========================================
+ Coverage    96.54%   96.56%   +0.01%     
===========================================
  Files          122      122              
  Lines        25378    25265     -113     
===========================================
- Hits         24501    24395     -106     
+ Misses         877      870       -7     
Impacted Files Coverage Δ
include/io/io.h 100.00% <ø> (ø)
include/loads_bcs/constraints.h 100.00% <ø> (ø)
include/mesh.h 100.00% <ø> (ø)
include/particles/particle.h 100.00% <ø> (ø)
include/solvers/mpm_base.h 0.00% <ø> (ø)
include/loads_bcs/constraints.tcc 96.43% <94.74%> (-0.67%) :arrow_down:
include/containers/vector.h 100.00% <100.00%> (ø)
include/containers/vector.tcc 100.00% <100.00%> (ø)
include/mesh.tcc 83.33% <100.00%> (-0.76%) :arrow_down:
include/particles/particle.tcc 94.34% <100.00%> (-0.01%) :arrow_down:
... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update c46c672...1aff030. Read the comment docs.

bodhinandach commented 4 years ago

This might be breaking for all the development using TBB, I think it's better to notify everyone before merging.