Digital Elevation Models (DEMs) are important datasets for modelling the line of sight, such as radio signals, sound waves and human vision. These are commonly analyzed using rotational sweep algorithms. However, such algorithms require large numbers of memory accesses to 2D arrays which, despite being regular, result in poor data locality in memory. Here, we propose a new methodology called skewed Digital Elevation Model (sDEM), which substantially improves the locality of memory accesses and increases the inherent parallelism involved in the computation of rotational sweep-based algorithms. In particular, sDEM applies a data restructuring technique before accessing the memory and performing the computation. To demonstrate the high efficiency of sDEM, we use the problem of total viewshed computation as a case study considering different implementations for single-core, multi-core, single-GPU and multi-GPU platforms. We conducted two experiments to compare sDEM with (i) the most commonly used geographic information systems (GIS) software and (ii) the state-of-the-art algorithm. In the first experiment, sDEM is on average 8.8x faster than current GIS software despite being able to consider only few points because of their limitations. In the second experiment, sDEM is 827.3x faster than the state-of-the-art algorithm in the best case.
翻译:数字升降模型(DEMs)是制作视线模型的重要数据集,如无线电信号、声波和人视等,通常使用旋转扫描算法进行分析,但这种算法需要大量存取2D阵列,尽管这些阵列是常规的,但导致记忆中数据位置差的2D阵列需要大量存取。这里,我们提出一种称为倾斜数字升降模型的新方法,该方法大大改进了记忆存取地点,增加了计算旋转扫描算法过程中固有的平行点。特别是,SDEM在获取记忆和进行计算之前应用了数据重组技术。为了显示SDEM的高效率,我们使用全视图计算的问题作为案例研究,考虑对单核心、多核心、单GPU和多GPU平台的不同实施。我们进行了两次实验,将SDEM与(一)最常用的地理信息系统软件进行比较,和(二)在计算旋转扫描算法中,在第一次实验中,SDEM处于平均8.8x速度的第二位,因为其测试速度只有S-DIS的极限。