北京科卓 发表于 2009-2-19 10:34:27

复杂多相流动分子动力学模拟在GPU上的实现


摘要:利用CUDA(Compute Unified Device Architecture)技术进行了图形处理器(GPU)上的分子动力学(MD)模拟。安装在HP xw8600工作站上的1片Tesla C870, 其速度20~60倍于Intel Xeon 5430 CPU之单核, 最高可达150 Gflops. 通过方腔流及颗粒-气泡接触等实例初步展示了此方式从微观上模拟介观行为的能力



关键词:多相流动、分子动力学、CUDA、GPU、并行计算


1.前言


  分子动力学(molecular dynamics, MD)模拟是随着计算机技术的发展而兴起的一种科学计算方法, 从1956年Alder首次使用以来, 现已应用到广泛的领域中, 如医药、材料、能源、机电等。随着纳米、微机电和微化工等技术的兴起, 纳微流动的MD模拟近年来也成为热点。传统连续流体力学难以处理和解释这些尺度上的独特性质与现象, 而流动归根结底是流体分子的集体行为, MD模拟能详细跟踪每个分子的运动, 并通过分析速度、温度等统计性质阐释理论中的难点、发现新的机理, 故日益受到重视。但计算能力一直是制约此研究发展的瓶颈。


    从硬件结构上分析, 大量能够并行运算且共享(较小的)多级高速显存的线程处理器是GPU快速计算的依靠。它适合许多类似图形操作的计算和数据密集型应用, 其典型正是粒子信息简单、运动相对独立、作用可叠加和近程相关而计算量大、时间长的MD模拟。但传统GPU对非图形应用支持有限, 只能通过图形API编程, 内存带宽较低且访问限制多, 从而制约了其性能发挥。CUDA的发布为此提供了新的软硬件架构。CUDA把GPU直接视作数据并行计算设备而不再将计算映射到图形操作上, 并以类C语言的方式给开发者更大自由来实现GPU算法。CUDA还能结合OpenMP, MPI和PVM等其他并行方式在节点内和节点间继续扩展计算能力。


    目前, 已有一些基于CUDA的GPU计算实例, 如天体物理中的N-body模拟, LBM, MD等, 发挥的GPU性能达到了CPU单核性能的几十到上百倍之间。但完全在GPU上进行、并且采用大量GPU并行或针对多相系统的MD模拟尚未见报道。本文将报告基于CUDA在GPU上进行的多相纳微流动的并行MD模拟。为此, 第2节介绍MD模拟及其GPU实现的具体过程。第3节测试该实现的正确性并比较主流GPU和CPU发挥的性能。第4节初步应用GPU实现了方腔流和微粒在液流中与气泡作用的MD模拟。第5节总结全文并展望GPU通用计算的前景。



2.方法

    ......




点击查看全文 http://www.quadro.net.cn/Pro_DocumentReading.aspx?id=1454

北京科卓 发表于 2009-2-26 09:58:37

点击发表对本文的评论
http://www.quadro.net.cn/club/read.asp?page=1&recno=4125

petercang 发表于 2009-11-15 13:37:23

C8 还不支持双精度浮点
页: [1]
查看完整版本: 复杂多相流动分子动力学模拟在GPU上的实现