资源描述:
《基于cuda的汇流分析并行算法的研究与实现.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于CUDA的汇流分析并行算法的研宄与实现摘要:针对基于数字高程模型(DEM)生成流域等流时线的快速运算问题,提出了一种基于统一设备计算架构(CUDA)平台同时可发挥图形处理器(GPU)并行运算特性的汇流分析的快速并行算法。采用改进后的归并排序算法进行数据排序及新的内存分配策略和改进的并行算法进行汇流分析。用该并行算法和CPU上的串行算法,对生成基于DEM的等流时线运算时间和矩阵乘法运算时间进行分析验证。实验结果表明,基于CUDA的汇流分析并行算法能提高系统的计算效率,具有较好的效果。关键词:并行计算;流分析;数字高程模型形处理器;统一设备计算架构;汇do
2、i:/ResearchandrealizationinparallelalgorithmofconfluenceanalysisbasedonCUDAZHAOXiang-hui1,2,MIAOQing1,2,FUZhong-liang1,2,SUChangl,2,LIXin1,2(InstituteofComputerApplications,ChineseAcademyofSciences,Chengdu610041,China;Schoo1,ChineseAcademyofSciences,BEijinglO0049,China)Abstract:Ai
3、mingatthefastpara11e1computingofgeneratingisochronesofwatershedsthatbasedondigitalelevationmodel(DEM),thispaperproposedafastparallelalgorithmofconfluenceanalysisbasedoncomputeunifieddevicearchitecture(CUDA)platformthatcoulduseparallelcomputingofgraphicprocessingunit(GPU).Carriedda
4、tasortingoutbyusingtheimprovedmergesortingalgorithm,adoptedthenewmemoryal1ocationstrategy,carriedconfluenceanalysisoutbyusingtheimprovedpara11e1computingalgorithm.UsingthepresentedparallelalgorithmandtheserialalgorithmbasedonCPUtoanalyzeandverifythetimeconsumedwhengeneratingisochr
5、onesofwatershedsbasedonDEMandexecutingmatrixmultiplication.TheexperimentsresultsillustratethatthisparallelalgorithmofconfluenceanalysisbasedonCUDAcanimprovethecomputationalefficiencyofthesystemandhaveabettereffect.Keywords:parallelcomputing;graphicprocessingunfieddevicearchitecnce
6、analysis;digitait(GPU);computeuniture(CUDA);confluelelevationmodel(DEM)⑶DA是NVIDIA公司提供的GPU用于通用计算的开发环境,是一个全新的软硬件架构,可以将GPU视为一个并行数据计算的设备,对进行的计算进行分配和管理。图形显示卡,尤其是高端的显卡,现在几乎是单机必配的重要硬件。其核心部件GPU采用SIMD体系结构,大量的计算部件使得它很适合处理高数据量的并行运算[广3]。基于CUDA平台,利用GPU强大的并行处理能力来加速通用科学计算及普通应用程序是非常好的应用趋势,已经成功应用到
7、诸如金融风险管理、媒体图像以及科学研究[4]等领域。本文结合科研项目“基于3S技术的自然灾害智能预测平台的研发与应用”中相关的关键信息技术来开展。在自然灾害的山洪汇流分析中,项目中要绘制的等流时线是基于DEM高程图绘制的[5,6]。若采用传统的基于CPU的串行算法,高分辨率的DEM图在带来更好的计算效果的同时,也大大地增加了计算量,使得计算时间大幅度增加,降低了计算效率。例如作为四川省试点地区的彭州甘溪沟流域,其流域面积km2,沟道长度为km,若使用80m作为单位栅格边长来划分流域,则流域可被划分为1805个有效栅格单位,若采用高精度的划分方法,以20m作
8、为栅格边长来划分流域,则流域被划分为28900个有效栅格,在能获得