We show in Figure 16 the relationship between performance and terrain size, for resolutions ranging (logarithmically) from to . We observe that parallelism is limited by the maximum simultaneous threads in our GPU model at around , where performance follows a near-linear trend.
7.3.1. Spatial scaling
Figure 16: Two line graphs showing performance scaling. The left graph, titled 'Flow routing', plots Time (s) on a log scale (0.0001 to 0.1) against resolution (sqrt(N)) on a log scale (64 to 8192). The right graph, titled 'Dep. Carving' and 'Dep. Jumping', plots Time (s) on a log scale (0.001 to 1) against resolution (sqrt(N)) on a log scale (64 to 8192). Both graphs show three data series: 'Flow routing' (blue line), 'Dep. Carving' (green line), and 'Dep. Jumping' (red line). The 'Flow routing' series shows a sharp increase in time as resolution increases, while the 'Dep. Carving' and 'Dep. Jumping' series show a more gradual increase.
Figure 16: Scaling experiments: (1) flow routing, (2) depression jumping, and (3) depression carving.
Figure 17: Performance of depression jumping (Ours (J)) and carving (Ours (C)) against a parallel CPU implementation [Bar16] and a single-core CPU implementation [CBB19]. The figure consists of four bar charts for terrain resolutions: 512x512, 1024x1024, 2048x2048, and 4096x4096. Each chart compares four methods: Ours (J) (blue), Ours (C) (orange), [Bar16] (grey), and [CBB19] (yellow). The y-axis represents Time in seconds on a logarithmic scale. Ours (J) and Ours (C) consistently show the lowest times across all resolutions and terrain types (Synthetic 1%, 5%, 15%, Real, Flat).
Figure 17: Performance of depression jumping (Ours (J)) and carving (Ours (C)) against a parallel CPU implementation [Bar16] and a single-core CPU implementation [CBB19].