||
栅格地理计算近年凸显出计算数据量大和计算复杂的特点,亟需算法并行化来提高效率。但对大多数习惯于串行编程的栅格地理计算研发者而言,并行编程由于涉及诸多并行编程细节,远较串行编程复杂;且通常所开发的并行程序仅适用于某一种并行计算平台,对其他常用并行计算平台可移植性较差,上述问题大大限制了栅格地理计算并行算法的研发。
栅格地理计算并行编程库提供了可能的解决思路,即针对栅格地理计算算法中通用的计算步骤设计相应的并行化策略,实现并封转为并行算子,从而隐藏并行编程细节,可大大降低并行算法的编程难度。但是现有的栅格地理计算并行编程库各自针对某一种特定的并行计算平台,仍未能解决并行程序可移植性差的问题。
我们研发了一套兼容多种常用并行计算平台(Beowulf集群、SMP集群、GPU)的栅格地理计算并行算子(PaRGO),通过隐藏与不同并行编程软硬件环境相关的复杂细节(包括并行编程中的域划分、通讯、并行I/O等迥异于串行编程之处),使不熟悉并行编程的栅格地理计算研发者能以一种近似串行编程的方式,高效开发出能兼容多种并行计算平台的栅格地理计算并行算法。
我们将该套栅格地理计算并行算子的原型应用于两个代表性的栅格数字地形分析算法(邻域计算特点的坡度算法,具有本地计算和邻域迭代计算特点DEM预处理算法)的并行化,进行应用评价。应用结果表明,使用该套栅格地理计算并行算子实现的并行程序代码与面向对象的串行程序代码高度一致,由一份并行程序代码所编译生成的CUDA版本、MPI版本、openMP/MPI版本并行程序分别适用于GPU、Beowulf集群、SMP集群,且均取得很好的加速效果,其中MPI版本和openMP/MPI版本并行程序取得了接近于线性的加速比。
文章近期已在线发表在《IJGIS》上:
Qin C-Z, Zhan L-J, Zhu A-X, Zhou C-H. A strategy for raster-based geocomputation under different parallel computing platforms. International Journal of Geographical Information Science, 2014, doi:10.1080/13658816.2014.911300.
其中I/O部分的工作发表在《Transactions in GIS》上:
Qin C-Z, Zhan L-J, Zhu A-X. How to apply the Geospatial Data Abstraction Library (GDAL) properly to parallel geospatial raster I/O? Transactions in GIS, 2014, doi:10.1111/tgis.12068.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-26 02:53
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社