Skip to content

Commit d73dab1

Browse files
author
MFC Action
committed
Docs @ 171343a
1 parent 4707e84 commit d73dab1

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

documentation/md_expectedPerformance.html

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -138,24 +138,34 @@
138138
<p>MFC has been benchmarked on several CPUs and GPU devices. This page shows a summary of these results.</p>
139139
<h1><a class="anchor" id="autotoc_md63"></a>
140140
Expected time-steps/hour</h1>
141-
<p>The following table outlines observed performance as nanoseconds per grid point (ns/GP) per equation (eq) per right-hand side (rhs) evaluation (lower is better). We solve an example 3D, inviscid, 5-equation model problem with two advected species (a total of 8 PDEs). The numerics are WENO5 and the HLLC approximate Riemann solver. This case is located in <code>examples/3D_performance_test</code>. We report results for various numbers of grid points per CPU die (or GPU device) and hardware.</p>
141+
<p>The following table outlines observed performance as nanoseconds per grid point (ns/GP) per equation (eq) per right-hand side (rhs) evaluation (lower is better). We solve an example 3D, inviscid, 5-equation model problem with two advected species (8 PDEs) and 8M grid points (158-cubed uniform grid). The numerics are WENO5 finite volume reconstruction and HLLC approximate Riemann solver. This case is located in <code>examples/3D_performance_test</code>. We report results for various numbers of grid points per CPU die (or GPU device) and hardware. Results are for MFC v4.9.3 (July 2024 release), though numbers have not changed meaningfully since then. All results are for the compiler that gave the best performance. CPU results may be performed on CPUs with more cores than reported in the table; we report results for the best performance given the full processor die by checking the performance for different core counts on that device. GPU results on single-precision (SP) GPUs performed computation in double-precision via conversion in compiler/software; these numbers are <em>not</em> for single-precision computation. AMD MI250X GPUs have two graphics compute dies (GCDs) per MI250X device; we report results for one GCD, though one can quickly estimate full MI250X runtime by halving the single GCD grind time number.</p>
142142
<table class="markdownTable">
143143
<tr class="markdownTableHead">
144-
<th class="markdownTableHeadRight">Hardware </th><th class="markdownTableHeadCenter"></th><th class="markdownTableHeadCenter">1M GPs </th><th class="markdownTableHeadCenter">4M GPs </th><th class="markdownTableHeadCenter">8M GPs </th><th class="markdownTableHeadCenter">Compiler </th><th class="markdownTableHeadLeft">Computer </th></tr>
144+
<th class="markdownTableHeadRight">Hardware </th><th class="markdownTableHeadRight"></th><th class="markdownTableHeadCenter">Grind Time </th><th class="markdownTableHeadLeft">Compiler </th><th class="markdownTableHeadLeft">Computer </th></tr>
145145
<tr class="markdownTableRowOdd">
146-
<td class="markdownTableBodyRight">NVIDIA V100 </td><td class="markdownTableBodyCenter">1 device </td><td class="markdownTableBodyCenter">12.0 </td><td class="markdownTableBodyCenter">13.0 </td><td class="markdownTableBodyCenter">13.0 </td><td class="markdownTableBodyCenter">NVHPC 22.11 </td><td class="markdownTableBodyLeft">PACE Phoenix </td></tr>
146+
<td class="markdownTableBodyRight">NVIDIA GH200 (GPU only) </td><td class="markdownTableBodyRight">1 GPU </td><td class="markdownTableBodyCenter">0.32 </td><td class="markdownTableBodyLeft">NVHPC 24.1 </td><td class="markdownTableBodyLeft">GT Rogues Gallery </td></tr>
147147
<tr class="markdownTableRowEven">
148-
<td class="markdownTableBodyRight">NVIDIA V100 </td><td class="markdownTableBodyCenter">1 device </td><td class="markdownTableBodyCenter">12.6 </td><td class="markdownTableBodyCenter">13.0 </td><td class="markdownTableBodyCenter">13.0 </td><td class="markdownTableBodyCenter">NVHPC 22.11 </td><td class="markdownTableBodyLeft">OLCF Summit </td></tr>
148+
<td class="markdownTableBodyRight">NVIDIA H100 </td><td class="markdownTableBodyRight">1 GPU </td><td class="markdownTableBodyCenter">0.45 </td><td class="markdownTableBodyLeft">NVHPC 24.5 </td><td class="markdownTableBodyLeft">GT Rogues Gallery </td></tr>
149149
<tr class="markdownTableRowOdd">
150-
<td class="markdownTableBodyRight">NVIDIA A100 </td><td class="markdownTableBodyCenter">1 device </td><td class="markdownTableBodyCenter">8.9 </td><td class="markdownTableBodyCenter">7.0 </td><td class="markdownTableBodyCenter">7.4 </td><td class="markdownTableBodyCenter">NVHPC 23.5 </td><td class="markdownTableBodyLeft">Wingtip </td></tr>
150+
<td class="markdownTableBodyRight">NVIDIA A100 </td><td class="markdownTableBodyRight">1 GPU </td><td class="markdownTableBodyCenter">0.62 </td><td class="markdownTableBodyLeft">NVHPC 22.11 </td><td class="markdownTableBodyLeft">GT Phoenix </td></tr>
151151
<tr class="markdownTableRowEven">
152-
<td class="markdownTableBodyRight">AMD MI250X </td><td class="markdownTableBodyCenter">1 GCD </td><td class="markdownTableBodyCenter">13.5 </td><td class="markdownTableBodyCenter">11.3 </td><td class="markdownTableBodyCenter">12 </td><td class="markdownTableBodyCenter">CCE 16.0.1 </td><td class="markdownTableBodyLeft">OLCF Frontier </td></tr>
152+
<td class="markdownTableBodyRight">NVIDIA V100 </td><td class="markdownTableBodyRight">1 GPU </td><td class="markdownTableBodyCenter">0.99 </td><td class="markdownTableBodyLeft">NVHPC 22.11 </td><td class="markdownTableBodyLeft">GT Phoenix </td></tr>
153153
<tr class="markdownTableRowOdd">
154-
<td class="markdownTableBodyRight">Intel Xeon Gold 6226 </td><td class="markdownTableBodyCenter">12 cores </td><td class="markdownTableBodyCenter">245 </td><td class="markdownTableBodyCenter">211 </td><td class="markdownTableBodyCenter">211 </td><td class="markdownTableBodyCenter">GNU 10.3.0 </td><td class="markdownTableBodyLeft">PACE Phoenix </td></tr>
154+
<td class="markdownTableBodyRight">NVIDIA A30 </td><td class="markdownTableBodyRight">1 GPU </td><td class="markdownTableBodyCenter">1.06 </td><td class="markdownTableBodyLeft">NVHPC 24.1 </td><td class="markdownTableBodyLeft">GT Rogues Gallery </td></tr>
155155
<tr class="markdownTableRowEven">
156-
<td class="markdownTableBodyRight">Apple M2 </td><td class="markdownTableBodyCenter">6 cores </td><td class="markdownTableBodyCenter">365 </td><td class="markdownTableBodyCenter">306 </td><td class="markdownTableBodyCenter">563 </td><td class="markdownTableBodyCenter">GNU 13.2.0 </td><td class="markdownTableBodyLeft">N/A </td></tr>
156+
<td class="markdownTableBodyRight">AMD MI250X </td><td class="markdownTableBodyRight">1 <b>GCD</b> </td><td class="markdownTableBodyCenter">1.09 </td><td class="markdownTableBodyLeft">CCE 16.0.1 </td><td class="markdownTableBodyLeft">OLCF Frontier </td></tr>
157+
<tr class="markdownTableRowOdd">
158+
<td class="markdownTableBodyRight">NVIDIA A40 (SP GPU) </td><td class="markdownTableBodyRight">1 GPU </td><td class="markdownTableBodyCenter">3.3 </td><td class="markdownTableBodyLeft">NVHPC 22.11 </td><td class="markdownTableBodyLeft">NCSA Delta </td></tr>
159+
<tr class="markdownTableRowEven">
160+
<td class="markdownTableBodyRight">NVIDIA RTX6000 (SP GPU) </td><td class="markdownTableBodyRight">1 GPU </td><td class="markdownTableBodyCenter">3.9 </td><td class="markdownTableBodyLeft">NVHPC 22.11 </td><td class="markdownTableBodyLeft">GT Phoenix </td></tr>
161+
<tr class="markdownTableRowOdd">
162+
<td class="markdownTableBodyRight">Apple M1 Max </td><td class="markdownTableBodyRight">8 cores </td><td class="markdownTableBodyCenter">72 </td><td class="markdownTableBodyLeft">GNU 14.1.0 </td><td class="markdownTableBodyLeft">N/A </td></tr>
163+
<tr class="markdownTableRowEven">
164+
<td class="markdownTableBodyRight">AMD EPYC 7713 </td><td class="markdownTableBodyRight">32 cores </td><td class="markdownTableBodyCenter">137 </td><td class="markdownTableBodyLeft">GNU 12.1.0 </td><td class="markdownTableBodyLeft">GT Phoenix </td></tr>
165+
<tr class="markdownTableRowOdd">
166+
<td class="markdownTableBodyRight">Intel Xeon Gold 6226 </td><td class="markdownTableBodyRight">12 cores </td><td class="markdownTableBodyCenter">152 </td><td class="markdownTableBodyLeft">Intel oneAPI 2022.1 </td><td class="markdownTableBodyLeft">GT Phoenix </td></tr>
157167
</table>
158-
<p><b>All results are in nanoseconds (ns) per grid point (gp) per equation (eq) per right-hand side (rhs) evaluation, so X ns/gp/eq/rhs. Lower is better.</b></p>
168+
<p><b>All grind times are in nanoseconds (ns) per grid point (gp) per equation (eq) per right-hand side (rhs) evaluation, so X ns/gp/eq/rhs. Lower is better.</b></p>
159169
<h1><a class="anchor" id="autotoc_md64"></a>
160170
Weak scaling</h1>
161171
<p>Weak scaling results are obtained by increasing the problem size with the number of processes so that work per process remains constant.</p>

0 commit comments

Comments
 (0)