GPU加速高速粒子碰撞模擬
發(fā)布時間:2020-07-12 17:28
【摘要】: 分子動力學(xué)(Molecular dynamics,簡稱MD)模擬作為一種重要的計算機(jī)模擬方法廣泛應(yīng)用于生物,化學(xué),材料科學(xué)等眾多學(xué)科中。然而計算性能一直都是限制MD使用的主要障礙。近年來,GPU作為一種新型的計算資源成為研究的熱點。與傳統(tǒng)CPU相比,GPU擁有更高的性能,更低的功耗和更高的性價比。因此,使用GPU加速分子動力學(xué)模擬,可以節(jié)約模擬的時間,提高模擬的規(guī)模,從而使分子動力學(xué)模擬能更廣泛的應(yīng)用到實際的工程中去。 本文主要以高速碰撞的粒子模型為研究對象,基于NVIDIA CUDA編程模型和Brook+語言實現(xiàn)了GPU加速的分子動力學(xué)程序,并針對GPU的存儲結(jié)構(gòu)和多GPU對算法進(jìn)行了優(yōu)化,主要取得了如下成果: 1、提出了一種優(yōu)化的區(qū)域分解算法。本文改進(jìn)了傳統(tǒng)的區(qū)域分解算法,在通用處理器和GPU上分兩次對分子動力學(xué)模擬中的計算任務(wù)進(jìn)行分解,首次劃分保證負(fù)載平衡,第二次劃分解決通信開銷和數(shù)據(jù)復(fù)用問題。 2、提出了一種改進(jìn)的粒子索引方法。通過在通用處理節(jié)點上對粒子進(jìn)行排序,使相鄰粒子的存儲地址盡量靠近。當(dāng)加速節(jié)點上的線程從全局內(nèi)存上讀取粒子信息時,能夠呈現(xiàn)出數(shù)據(jù)局部性的特點,可以減少了線程從全局內(nèi)存中讀取數(shù)據(jù)的次數(shù),從而節(jié)省時間。 3、針對GPU的存儲結(jié)構(gòu)對程序進(jìn)行優(yōu)化。針對片上共享內(nèi)存分體設(shè)計特點,實現(xiàn)了單精度算法下線程間無沖突的共享內(nèi)存訪問,減少了流處理器的閑置時間。 4、使用多GPU對程序進(jìn)行加速。采用常用的消息傳遞接口(MPI)協(xié)議實現(xiàn)通用處理器之間的并行劃分,從而實現(xiàn)了各節(jié)點間GPU的并行計算,滿足了更快速的分子動力學(xué)模擬的要求。 本文對GPU加速的分子動力學(xué)模擬正確性和性能進(jìn)行了測試。結(jié)果表明,GPU對MD算法的加速有明顯效果。當(dāng)粒子規(guī)模為43.2萬時,經(jīng)AMD HD4870加速后的MD程序的性能提高了4.8倍,而經(jīng)Tesla C1060加速后,MD程序性能提高6.5倍。在使用多GPU對程序進(jìn)行加速后,MD程序的性能提高了11.2倍。同時,經(jīng)GPU加速的MD程序保證了結(jié)果的正確性。
【學(xué)位授予單位】:國防科學(xué)技術(shù)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2009
【分類號】:TP332
【圖文】:
國防科學(xué)技術(shù)大學(xué)研究生院碩士學(xué)位論文應(yīng)用。MD 中粒子的信息往往非常簡單且容易向量化。MD先,MD 模擬的空間尺度小而粒子數(shù)量大,例如,邊長為9個原子[21];其次,MD 模擬需要精確跟蹤粒子的運(yùn)動以保步長都很小,典型的時間步長為飛秒級,納秒級別的現(xiàn)實模MD 正是適合 GPU 加速的典型應(yīng)用。
圖 2.2 Tesla 的系統(tǒng)結(jié)構(gòu)圖多處理器 N...多處理器 2多處理器 1共享內(nèi)存寄存器 寄存器 寄存器處理單元1 處理單元2處理單元N指令部件常量內(nèi)存紋理內(nèi)存設(shè)備內(nèi)存圖 2.3 CUDA GPU 存儲結(jié)構(gòu)圖[7]
國防科學(xué)技術(shù)大學(xué)研究生院碩士學(xué)位論文算術(shù)計算集中,鼓勵編程者指定數(shù)據(jù)上的操作,以達(dá)到全局的通信最小而局部一個新的數(shù)據(jù)類型的擴(kuò)展,代表了一系列能夠被并行處理的數(shù)據(jù)。流是用列進(jìn)行描述的,同 C 語言中的數(shù)組類似。但它與 C 語言中的數(shù)組有以下的區(qū)別數(shù)外不允許通過下標(biāo)來獲得流元素;不允許對流進(jìn)行靜態(tài)的初始化;流必須棧);流只能在核心(kernel)函數(shù)中被讀寫或者是通過特殊的運(yùn)算符從普通的據(jù)。
本文編號:2752279
【學(xué)位授予單位】:國防科學(xué)技術(shù)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2009
【分類號】:TP332
【圖文】:
國防科學(xué)技術(shù)大學(xué)研究生院碩士學(xué)位論文應(yīng)用。MD 中粒子的信息往往非常簡單且容易向量化。MD先,MD 模擬的空間尺度小而粒子數(shù)量大,例如,邊長為9個原子[21];其次,MD 模擬需要精確跟蹤粒子的運(yùn)動以保步長都很小,典型的時間步長為飛秒級,納秒級別的現(xiàn)實模MD 正是適合 GPU 加速的典型應(yīng)用。
圖 2.2 Tesla 的系統(tǒng)結(jié)構(gòu)圖多處理器 N...多處理器 2多處理器 1共享內(nèi)存寄存器 寄存器 寄存器處理單元1 處理單元2處理單元N指令部件常量內(nèi)存紋理內(nèi)存設(shè)備內(nèi)存圖 2.3 CUDA GPU 存儲結(jié)構(gòu)圖[7]
國防科學(xué)技術(shù)大學(xué)研究生院碩士學(xué)位論文算術(shù)計算集中,鼓勵編程者指定數(shù)據(jù)上的操作,以達(dá)到全局的通信最小而局部一個新的數(shù)據(jù)類型的擴(kuò)展,代表了一系列能夠被并行處理的數(shù)據(jù)。流是用列進(jìn)行描述的,同 C 語言中的數(shù)組類似。但它與 C 語言中的數(shù)組有以下的區(qū)別數(shù)外不允許通過下標(biāo)來獲得流元素;不允許對流進(jìn)行靜態(tài)的初始化;流必須棧);流只能在核心(kernel)函數(shù)中被讀寫或者是通過特殊的運(yùn)算符從普通的據(jù)。
【參考文獻(xiàn)】
相關(guān)期刊論文 前1條
1 吳恩華;圖形處理器用于通用計算的技術(shù)、現(xiàn)狀及其挑戰(zhàn)[J];軟件學(xué)報;2004年10期
本文編號:2752279
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2752279.html
最近更新
教材專著