## 3 Performance Evaluation
### Two-Dimensional Dam Break  
A planar granular runout induced by a dam break was carried out by instantaneously releasing a sand pile along a smooth bed, which initially had a height \(H\) of 0.2 m and a length \(L\) of 0.2 m (Figure 13). The particle size distribution was \(d_{10}\) = 1.4 mm, \(d_{30}\) = 2 mm, \(d_{50}\) = 3 mm, \(d_{70}\) = 3.4 mm and \(d_{90}\) = 4 mm. A total of 4000 particles were initially generated. Before the release of the dam, the uniform packing of sand particles was initially consolidated under their own self-weight, obtaining a height of 0.172 m and a void ratio of 0.28. The density of the particles was 2643 kg/m\({}^{3}\). The normal and tangential stiffness were taken as 50 MPa and 20 MPa, respectively, and the friction coefficient was 0.5. A local damping ratio of 0.7 was adopted. Verification of the code in this study was performed by comparing the runout morphologies with those using PFC3D (Figure 13). The velocity field and force chains of the particles at 50 s are shown in Figure 14. The average runtimes in 10,000 steps are 20 s and 6 s for the CPU- and GPU-parallel computations, respectively, which are much smaller than those for the three-dimensional cases with 144 s and 19 s for counterparts in the triaxial test case with 3920 particles. This is the reason for the wide application of two-dimensional simulations of the DEM.  
Figure 12: Speedups of GPU parallelisation for cone penetration test.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**Number of Particles**} & \multirow{2}{*}{\(d_{c}\)/\(d_{50}\)} & \multirow{2}{*}{\(D\)/\(d_{50}\)} & **CPU** & **CPU Parallel** & \multicolumn{2}{c}{**GPU Parallel**} \\  & & & **Sequential** & **(10 Threads)** & **(Double-Precision)** \\ \cline{5-7}  & & & **Runtime (s)** & **Runtime (s)** & **Speedup** & **Runtime (s)** & **Speedup** \\ \hline
65,000 & 2.74 & 46 & 16,918 & 3525 & 4.8 & 236 & 72 \\ \hline
150,000 & 3.45 & 58 & 35,336 & 7362 & 4.8 & 476 & 74 \\ \hline
520,000 & 5.5 & 92 & 179,411 & 36,615 & 4.9 & 2347 & 76 \\ \hline
1,001,000 & 11 & 184 & 373,927 & 76,312 & 4.9 & 5125 & 73 \\ \hline
2,002,000 & 22 & 368 & 748,954 & 149,790 & 5.0 & 9981 & 75 \\ \hline
4,881,200 & 55 & 920 & 1,852,845 & 370,569 & 5.0 & 25,798 & 72 \\ \hline \hline \end{tabular}
\end{table}
Table 3: Speedups of CPU and GPU parallel simulations in cone penetration test cases (10,000 incremental steps).  
The model heights were then increased to 0.28, 0.448, 0.632, 1.264, 2.528, 3.576, 5.056, and 7.152, while the aspect ratio \(H/L\) of the specimen remained as 1. The corresponding particle numbers increased to 8000, 20,000, 40,000, 160,000, 640,000, 1,280,000, 2,560,000, and 5,000,000. The average runtimes in 10,000 incremental steps were compared between the CPU sequential, CPU parallel and GPU parallel simulations (see Table 4). The speedups by the CPU parallelisation are relatively stable, varying between 4.4 and 4.8. With the GPU parallelisation, the speedup increases for less than 40,000 particles as the GPU cores are not fully loaded, which then stabilises around 60. The average speedup of the GPU parallelisation for the two-dimensional (60) (Figure 15) scenario appears to be lower than that for the three-dimensional ones (84 and 73), which hints that the three-dimensional simulations have higher computational intensity and better parallelisability. Particularly for the largest model with 1,280,000 particles in this study, the average runtime in 10,000 steps  
Figure 14: Velocity and force chain profiles at 50 s.  
Figure 13: Runout profiles of sand grains due to dam break.