Internal:Metric Adaptive CDT3D: Difference between revisions

From crtc.cs.odu.edu
Jump to navigation Jump to search
Nikos (talk | contribs)
Ctsolakis (talk | contribs)
m Reverted edits by Nikos (talk) to last revision by Ctsolakis
Line 588: Line 588:


= Stability for 500k case=
= Stability for 500k case=
== Comparison of Quality Metric using different number of cores and surface adaptation ==
== Comparison of Quality Metric using different amount of cores and surface adaptation ==
[[File:Histogram_mean_adapt.png|800px]]
[[File:Histogram_mean_adapt.png|800px]]
[[File:Histogram_ratio_adapt.png|800px]]
[[File:Histogram_ratio_adapt.png|800px]]
 
== Comparison of Quality Metric using different amount of cores and mesh reconstruction ==
== Comparison of Quality Metric using different number of cores and mesh reconstruction ==
[[File:Histogram_mean_reconstruct.png|800px]]
[[File:Histogram_mean_reconstruct.png|800px]]
[[File:Histogram_ratio_reconstruct.png|800px]]
[[File:Histogram_ratio_reconstruct.png|800px]]

Revision as of 21:25, 19 May 2018

Delta Wing (Scitech 2018)

50k Complexity

Starting from a coarse surface mesh

TODO needs update

All time data are given in seconds.
# Threads # Tetrahedra # Vertices Intitialize Bg Mesh Boundary Adaptation (MMGS) Boundary Recovery Mesh Refinement Total Time

(without MMGS)

Memory (GB)
# Iterations Par. Deactivation Par. Vertex Creation Vertex Insertion Partition Par. Reconnection
1 357,165 62,177 1.44 6.32 0.36 20 2.09 11.92 0.09 1.26 57.35 80.97 0.44
6 361,037 62,795 1.49 6.23 0.35 21 0.51 2.78 0.11 1.45 14.06 27.12 0.63
12 363,278 63,198 1.41 6.27 0.33 22 0.32 1.55 0.11 1.62 8.24 19.99 0.86
24 363,756 63,270 1.49 6.26 0.33 22 0.2 0.88 0.11 1.6 5.13 16.15 1.31

Notes 1

  • Speed 22.5K test/sec and 3.9 ps/sec
  • according to Mike's email mesh should be around 100k vertices
  • Metric Input Data available at https://github.com/UGAWG/parallel-adapt-results
  • Input surface is the coase mesh available at https://github.com/UGAWG/solution-adapt-cases
  • The experiments performed on a DELL workstation with Linux Red Hat Enterprise, 24 hardware cores Intel® Xeon® CPU E5-2697v2@2.70 GHz, and 757 GB RAM
  • Memory is measured at the end of Mesh refinement and thus it may reach a slightly higher value before the point of measurement
  • parameters --brec=2 --met=1 --meval=3 --mrecm2=1 --mrec4=1 --nadapt=2 --malign=0 --mpp=2 --ndfs=0 --nthreads=$THREADS --nbuckets=20*$THREADS --nthreadsaf=20*$THREADS --nbucketsaf=20*${THREADS} --blockmul=500000 --nqual=0 --nminpts=30 --ordt=0 --pardeact=1 --mdse=0
  • using commit bb7819619eb9b8831ac1d4515b9605869df72b47 or tag Delta-wiki

500k Complexity

Starting from a 50K Complexity volume mesh

Size of intial mesh

Vertices : 104,305

Tetrahedra: 581,196

All time data are given in seconds.
# Threads # Tetrahedra # Vertices Intitialize Bg Mesh Reconstruct Mesh Mesh Refinement Total Time Memory (GB)
# Iterations Par. Deactivation Par. Vertex Creation Vertex Insertion Partition Par. Reconnection
1 5,466,298 918,571 1.17 2.02 25 43.68 121.19 1.65 36.80 1,544.07 1,751.65 1.90
6 5,510,057 925,969 1.48 2.02 25 10.86 29.01 1.51 43.20 233.74 322.88 1.84
12 5,516,846 926,995 1.16 2.02 28 6.64 18.11 1.49 51.67 134.58 216.75 1.92
24 5,528,216 928,833 1.16 2.02 26 3.68 9.42 1.51 47.82 69.23 135.92 2.15
Speed
# Threads # Tetrahedra/sec # Tetrahedra/sec/core # Vertices/sec # Vertices/sec/core
1 3,120.32 3,120.32 464.86 464.86
6 17,063.54 2,843.92 2,544.80 424.13
12 25,449.90 2,120.82 3,795.57 316.30
24 40,668.30 1,694.51 6,066.27 252.76

This approach offers no boundary adaptation.

Starting for a coarse surface mesh

All time data are given in seconds.
# Threads # Tetrahedra # Vertices Intitialize Bg Mesh Boundary Adaptation (MMGS) Boundary Recovery Mesh Refinement Total Time

(without MMGS)

Memory (GB)
# Iterations Par. Deactivation Par. Vertex Creation Vertex Insertion Partition Par. Reconnection
1 5,591,132 944,921 1.18 29.83 6.64 25 37.81 100.53 1.68 31.26 1312.99 1522.47 1.96
6 5,612,549 948,750 1.19 30.72 6.50 25 10.36 25.56 2.08 40.25 239.71 356.97 1.72
12 5,609,318 948,236 1.26 29.93 5.72 27 6.08 14.41 1.77 44.13 132.19 236.05 1.79
24 5,625,028 950,712 1.47 29.76 6.21 26 3.19 7.67 1.68 42.16 67.32 160.01 2.09
Speed
# Threads # Tetrahedra/sec # Tetrahedra/sec/core # Vertices/sec # Vertices/sec/core
1 3,672.41 3,672.41 620.65 620.65
6 15,722.75 2,620.46 2,657.79 442.96
12 23,763.26 1,980.27 4,017.10 334.76
24 35,154.23 1,464.76 5,941.58 247.57

Notes 2

  • Speed 35.1K test/sec (40.6K tets/sec w/o body adaptation) and 5.9K ps/sec. The mesh is about 15.2 times larger in terms of test and the speed is 1.56 larger!
  • In speed table of volume reconstruction initial number of tetrahedra and vertices is subtracted.
  • In speed table of with surface adaptation MMGS time is not included.
  • Target is 1M vertices.
  • Quality comparison starting from surface vs volume
  • in some cases boundary recovery reached a point of non-developed code. Rerunning created a different surface mesh and CDT3D was able to continue.
  • commit b53ed9b
  • parameters --met=1 --meval=3 --mrecm2=1 --mrec4=1 --nadapt=1 --reconstruct=1 --malign=0 --mpp=2 --qstatr=1 --outmesh=${NAME}.meshb --ndfs=0 --nthreads=$THREADS --nbuckets=20*NTHREADS --nthreadsaf=20*NTHREADS --nbucketsaf=20*NTHREADS --blockmul=500000 --nqual=0 --nminpts=30 --ordt=0 --pardeact=1 --mdse=0 --cdfn=0.55

2M Complexity

Starting from a 50K Complexity volume mesh

Size of initial mesh

Vertices : 104,305

Tetrahedra: 581,196

All time data are given in seconds.
# Threads # Tetrahedra # Vertices Intitialize Bg Mesh Reconstruct Mesh Mesh Refinement Total Time Memory (GB)
# Iterations Par. Deactivation Par. Vertex Creation Vertex Insertion Partition Par. Reconnection
1 21,865,792 3,660,818 1.22 2.02 26 176.15 515.30 7.25 149.05 7,643.51 8,495.57 6.97
6 21,953,024 3,675,913 1.28 2.04 32 53.90 124.95 7.40 231.48 1,340.84 1,762.97 6.49
12 21,960,752 3,677,185 1.16 2.02 32 29.69 70.13 7.01 239.09 702.43 1,052.64 6.41
24 21,966,402 3,678,089 1.34 2.02 29 15.04 38.25 6.33 214.75 332.75 611.56 6.68


Speed
# Threads # Tetrahedra/sec # Tetrahedra/sec/core # Vertices/sec # Vertices/sec/core
1 2,573.72 2,573.72 418.63 418.63
6 12,451.97 2,075.33 2,025.90 337.65
12 20,862.00 1,738.50 3,394.21 282.85
24 35,917.69 1,496.57 5,843.72 243.49

Starting from a coarse Surface mesh

All time data are given in seconds.
# Threads # Tetrahedra # Vertices Intitialize Bg Mesh Boundary Adaptation (MMGS) Boundary Recovery Mesh Refinement Total Time

(without MMGS)

Memory (GB)
# Iterations Par. Deactivation Par. Vertex Creation Vertex Insertion Partition Par. Reconnection
1 21,972,547 3,697,482 1.44 75.89 36.64 28 167.11 402.53 7.59 144.66 7,305.68 8,143.17 7.04
6 22,097,857 3,718,978 1.47 75.71 36.00 31 51.16 99.82 8.98 198.95 1,331.57 1,805.32 5.93
12 22,096,517 3,718,207 1.46 75.68 38.99 32 28.09 54.64 8.3 214.43 685.94 1,109.18 6.0
24 22,094,983 3,718,117 1.36 76.06 38.96 30 14.43 29.23 7.38 201.29 331.19 701.51 6.04


Speed
# Threads # Tetrahedra/sec # Tetrahedra/sec/core # Vertices/sec # Vertices/sec/core
1 2,698.28 2,698.28 454.06 454.06
6 12,240.41 2,040.07 2,060.01 343.34
12 19,921.49 1,660.12 3,352.21 279.35
24 31,496.32 1,312.35 5,300.16 220.84

Notes 3

  • In speed table of volume reconstruction the initial number of tetrahedra and vertices is subtracted.
  • In speed table with surface adaptation MMGS time is not included.
  • parameters same as above

General Notes

Stability for 500k case

Comparison of Quality Metric using different amount of cores and surface adaptation

Comparison of Quality Metric using different amount of cores and mesh reconstruction

Comparison Surface Adaptation vs Mesh Reconstruction (reproducibility)

TODO needs update

Surface adaptation offers better edge lengths but mesh reconstruction slightly better mean ratio quality