论文部分内容阅读
计算机、遥感和GIS等技术的快速发展,为水文模型获得大范围空间数据和资料提供了便利,尤其是地理信息系统的发展,更是为水文模型更好、更方便的利用空间数据提供了一个很好的平台。但是大量空间数据的获取,虽然使水文模型对水文过程的模拟更科学、更精确,但同时也大大增加了水文模型的运算量,使水文模型的模拟速度变慢,效率变低。而CUDA作为一个并行计算架构,能够以多线程并行的方式,大大提高多种运算的运算速度,近处来被广泛应用于各种领域用以提高科研和生产效率。因此,本文对使用CUDA技术来提高水文模型的模拟效率进行了研究,期望能通过研究,找到使用CUDA来提高水文模型模拟效率的方法。本文通过对不同类型的水文模型或水文模型中的某项技术进行基于CUDA的并行算法的改写,尔后对常规算法和基于CUDA的并行算法的运算效率进行分析对比的方法,来确定哪些类型的水文模型或者水文模型的哪些步骤适合进行基于CUDA的并行运算,哪些类型的水文模型或水文模型的哪些步骤不适合;对于适合进行并行运算的水文模型中,又有哪些因素影响运算效率提升的程度。通过对基于栅格数据的空间分析、水系提取模型和新安江模型的研究,确定了影响基于CUDA的水文模型并行运算效率提升的因素有以下几点:1)并行运算的数据量基于CUDA的并行运算要在主机端和设备端进行数据传输,数据量的大小会在一定程度上影响效率。2)运算的复杂度运算的复杂度越高,单次运算的时间就越长,并行运算后效率提升就越明显。3)水文模型的可并行程度影响模型的可并行程度的主要有以下几个因素:一是空间的可并行性;二是子过程的可并行性;三是时间的可并行性。对于水文模型来说,子过程的可并行性虽然也能提升运算效率,但在整体结构串行的情况下,提升也是有限的。而由于水文过程在实际中往往与时间联系紧密,所以时间的可并行性受到很大限制。因此空间上的可并行性是影响水文模型并行程度的主要因素。