How much memory can be saved when using templated meshes?

Expected memory savings are achieved for all 2D benchmark objects when using the data structure without SVB. For 3D rotational symmetric benchmark objects with high rotational symmetry orders, the savings are slightly lower than the expected values. When using the data structure with SVB, memory savings are lower due to the bookkeeping effort. Benchmarks on memory usage for templated meshes have been presented in Section 7.2, Section 7.3, and Section 7.4. The best memory savings for each benchmark object is given in Table 8.1.

When additionally considering the memory usage of the FEM system matrix, memory savings drop significantly. Therefore, a templated matrix data structure based on the CSR matrix format has been proposed which compensates these losses (cf. Section 7.6). However, due to the increased complexity of the data structure, the matrix-vector product of that templated CSR matrix format is two to six times slower than the matrix-vector product using a classical CSR matrix. In cases where the simulation on a target computing platform is memory-limited or runtime is no issue, the templated CSR matrix approach enables the use of larger meshes.


Table 8.1: The best memory savings and runtime speedups for each benchmark object. $ n$-TSV refers to a TSV with a rotational symmetry order of $ n$. The aircraft, the MOSFET, and the FinFET are covered in Section 7.2, $ n$-polygons and $ n$-TSVs are covered in Section 7.3, and the bridge and multi-TSV structure are covered in Section 7.4. Savings which are at least $ 10\%$ better than the expected values are colored in green, and savings which are at least $ 10\%$ worse then the expected values are colored in red.
Benchmark object Dimension Expected or estimated improvement Best memory saving w/o SVB Best memory saving w/ SVB Best runtime speedup
aircraft 2D $ 2$ $ 2\phantom{.0}$ $ 2\phantom{.0}$ $ \color{OliveGreen} \bm{2.7}$
MOSFET 2D $ 2$ $ \color{OliveGreen} \bm{2.2}$ $ 2.1$ $ \color{OliveGreen} \bm{2.2}$
FinFET 3D $ 4$ $ 4.2$ $ 4\phantom{.0}$ $ \color{OliveGreen} \bm{4.4}$
$ 8$-polygon 2D $ 8$ $ 8\phantom{.0}$ $ 7.9$ $ 8\phantom{.0}$
$ 16$-polygon 2D $ 16$ $ 16\phantom{.0}$ $ 15.4$ $ 16.4$
$ 32$-polygon 2D $ 32$ $ 32.2$ $ \color{red} 27.7$ $ 33.2$
$ 64$-polygon 2D $ 64$ $ 64.4$ $ \color{red} 39.4$ $ 64.5$
$ 128$-polygon 2D $ 128$ $ 128.3$ $ \color{red} 36.5$ $ 117\phantom{.0}$
$ 8$-TSV 3D $ 8$ $ \color{OliveGreen} \bm{9}\phantom{.0}$ $ \color{red} 6\phantom{.0}$ $ 8.2$
$ 16$-TSV 3D $ 16$ $ \color{OliveGreen} \bm{17.8}$ $ \color{red} 9\phantom{.0}$ $ 15.8$
$ 32$-TSV 3D $ 32$ $ 33.3$ $ \color{red} 9.6$ $ \color{red} 26.7$
$ 64$-TSV 3D $ 64$ $ \color{red} 54.3$ $ \color{red} 6.7$ $ \color{red} 35\phantom{.0}$
$ 128$-TSV 3D $ 128$ $ \color{red} 92.5$ $ \color{red} 4.8$ $ \color{red} 86.7$
bridge 2D $ 28.5$ $ 29\phantom{.0}$ $ 28.4$ $ 29.2$
multi-TSV 3D $ 1.6$ $ \color{OliveGreen} \bm{2.6}$ $ 1.5$ $ \color{OliveGreen} \bm{3.1}$


florian 2016-11-21