欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種利用gpu加速的哈特里近似方法

文檔序號:6630816閱讀:421來源:國知局
一種利用gpu加速的哈特里近似方法
【專利摘要】本發(fā)明提供一種利用GPU加速的哈特里近似方法,基本的程序架構(gòu)和組織流程為:選擇基矢并構(gòu)建試探單粒子態(tài),生成哈特里項,將其存放在一線性內(nèi)存中,做為初始參數(shù);生成問題的解空間;劃分計算網(wǎng)格,傳遞輸入?yún)?shù)到顯存;調(diào)用設備端函數(shù)計算粒子-粒子相互作用;將計算完成的結(jié)果從顯存拷貝到內(nèi)存中;生成哈特里矩陣,在CPU上做矩陣對角化操作;計算得新的單粒子態(tài);根據(jù)自洽后所得到的單粒子態(tài),計算多體系的能量及態(tài)矢等進一步物理量。本發(fā)明和現(xiàn)有技術相比,充分剖析了哈特里近似計算方法的計算負載特點,并充分利用了計算機中的各種計算資源,大幅加速了使用哈特里近似方法對多體物理、量子計算化學問題的快速模擬計算。
【專利說明】一種利用GPU加速的哈特里近似方法

【技術領域】
[0001]本發(fā)明涉及高性能計算領域,具體地說是一種利用GPU加速的哈特里近似方法。

【背景技術】
[0002]隨著人類社會的不斷進步,科學技術的發(fā)展,人們對自然界的認識越來越廣泛,并逐步的向微、納觀等物理體系結(jié)構(gòu)深入。與此同時,生物技術、化學生產(chǎn)及制藥的需求,也迫切的要求人們能夠更多的在微觀層面上,特別是在電子、原子或分子尺度上來精確把握物體的性態(tài)。但遺憾的是,微觀體系往往動輒包括成千上萬個電子和原子,從理論上來看,多體問題是沒有嚴格的解析解的。因此對多體問題的求解一直是物理學界的難題。為了突破這一困難,自上世紀量子力學理論誕生以來,人們逐漸發(fā)展了像:絕熱近似、哈特里(Hartree)近似、哈特里-??私?Hartree-Fock)、密度泛函理論(DFT)、變分法(Variat1nal Method)、隨機相近似(Random-Phase Approximat1n)以及組態(tài)相互作用(Configurat1n Interact1n)等等來計算微觀結(jié)構(gòu)的多體問題。這其中,哈特里近似方法以其簡單的描述、深刻的物理內(nèi)涵以及易實現(xiàn)性獲得了廣泛應用,特別是在計算化學、生物制藥、量子分子動力學等領域應用最廣。同時哈特里近似也為廣為應用的哈特里-??私品椒ㄌ峁┝藢崿F(xiàn)思想。
[0003]哈特里近似的核心思想是在絕熱近似的前提下,將多粒子體系中的電子間的相互作用使用平均場來表示,這樣就把一個復雜的多體問題簡化成為一系列單粒子本征值問題(哈特里本征方程)的疊加。在實際計算過程中,唯一不知道的量即是處于平均場中的單粒子態(tài),它可以使用一系列基矢組來展開,包括高斯軌道型基矢(Gaussian orbit)、斯拉特軌道型基矢(Slater orbit,即原子軌道型基矢)、原子激發(fā)態(tài)軌道型基矢或平面波型基矢等等。通過求解本征值問題即可求得單粒子態(tài),進而計算粒子-粒子相互作用生成新的哈特里項,再次求解本征值問題……依次以迭代的方法,即可求出多體系統(tǒng)的能量及態(tài)矢。這其中,粒子-粒子間的相互作用計算,即庫侖相互作用,它的計算量非常大,需要計算大量的多重積分。因此,這就意味著,在每次自洽迭代的過程中,均需要計算為數(shù)眾多的多重積分問題,故而計算量大,阻礙了哈特里近似方法所能計算的物理體系的規(guī)模。
[0004]除上述多重積分問題的制約外,哈特里近似方法在每次迭代過程中還需要做一次本征值問題的求解,現(xiàn)在多數(shù)軟件的做法也是使用迭代的方法來求解,如最陡下除法、共軛梯度法、贗分子動力學方法,以及這些方法的改進方法等等。這些方法的計算速度雖然都比較快,但它們也有共同的不足之處,即精度問題。如果我們可以加速每次迭代中的矩陣生成速度,那么可以使用精確的直接對角化方法來求解本征值問題。因此,如何加速迭代計算是本發(fā)明所要解決的主要問題。


【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的是克服現(xiàn)有技術中存在的不足,提供一種利用GPU加速的哈特里近似方法,發(fā)揮GPU眾核結(jié)構(gòu)的多計算處理單元、高帶寬優(yōu)勢,以及CPU的邏輯處理能力和主內(nèi)存的大容量優(yōu)勢,來大幅縮短對多體問題的計算模擬時間。
[0006]本發(fā)明的技術方案是按以下方式實現(xiàn)的,其基本的程序架構(gòu)和組織流程為:
(1)選擇基矢并構(gòu)建試探單粒子態(tài),生成哈特里項,將其存放在一線性內(nèi)存中,做為初始參數(shù);
(2)生成問題的解空間;
(3)劃分計算網(wǎng)格,傳遞輸入?yún)?shù)到顯存,并將計算中需要頻繁訪問的參數(shù)放到GPU的共享存儲器中;
(4)調(diào)用設備端函數(shù)計算粒子-粒子相互作用,并將各線程對應的結(jié)果存放到顯存中;
(5)將計算完成的結(jié)果從顯存拷貝到內(nèi)存中;
(6)生成哈特里矩陣,在CPU上做矩陣對角化操作;
(7)計算得新的單粒子態(tài),重新返回步驟(I)計算新的哈特里項,再次自洽運算,直接兩次自洽達到預定的精度則退出自洽計算步驟;
(8)根據(jù)自洽后所得到的單粒子態(tài),計算多體系的能量及態(tài)矢等進一步物理量。
[0007]本發(fā)明的優(yōu)點是:
本發(fā)明的一種利用GPU加速的哈特里近似方法和現(xiàn)有技術相比,充分剖析了哈特里近似計算方法的計算負載特點,并充分利用了計算機中的各種計算資源,大幅加速了使用哈特里近似方法對多體物理、量子計算化學問題的快速模擬計算。并且使得以往需要借助大型超級計算機才能完成的計算輕松的移植到桌面等個人超算平臺上;極大的方便了研究人員對微、納體系做更深入的探索和研究。

【專利附圖】

【附圖說明】
[0008]圖1為發(fā)明計算方法的流程圖。
[0009]實施方式
下面結(jié)合附圖對本發(fā)明的一種利用GPU加速的哈特里近似方法作以下詳細說明。
[0010]如圖1所示,本發(fā)明的一種利用GPU加速的哈特里近似方法,其基本的程序架構(gòu)和組織流程為:
(1)選擇基矢并構(gòu)建試探單粒子態(tài),生成哈特里項,將其存放在一線性內(nèi)存中,做為初始參數(shù);
(2)生成問題的解空間;
(3)劃分計算網(wǎng)格,傳遞輸入?yún)?shù)到顯存,并將計算中需要頻繁訪問的參數(shù)放到GPU的共享存儲器中;
(4)調(diào)用設備端函數(shù)計算粒子-粒子相互作用,并將各線程對應的結(jié)果存放到顯存中;
(5)將計算完成的結(jié)果從顯存拷貝到內(nèi)存中;
(6)生成哈特里矩陣,在CPU上做矩陣對角化操作;
(7)計算得新的單粒子態(tài),重新返回步驟(I)計算新的哈特里項,再次自洽運算,直接兩次自洽達到預定的精度則退出自洽計算步驟;
(8)根據(jù)自洽后所得到的單粒子態(tài),計算多體系的能量及態(tài)矢等進一步物理量。
[0011]本發(fā)明針對哈特里自洽計算的計算特點,將每次自洽計算大體上分為兩個主要步驟:哈特里矩陣元的生成以及哈特里方程本征值問題的求解。對于前者由于需要初始化的矩陣元數(shù)目比較大(與粒子數(shù)有關),要求較多的計算資源和較高的存儲器帶寬,而相應的對存儲器的容量需求較小,因此我們可以將這部分計算移植到GPU上來完成。而后者,即哈密頓矩陣對角化,是對整個哈密頓矩陣的歸約操作,它需要占用大量的內(nèi)存資源,并且由于矩陣各部分的依賴關系,大部分時間是做串行處理,因此我們將其交給CPU來完成。
[0012]本計算方法將哈特里矩陣元中的哈特里項(庫侖項),即粒子-粒子相互作用分離出來,然后將由粒子-粒子相互作用構(gòu)成的問題解空間同GPU中的線程空間相對應。將內(nèi)存中的初始參數(shù)傳入GPU設備顯存,并在設備上計算相互作用,完畢后拷貝結(jié)果回主機內(nèi)存,并完成哈特里矩陣的初始化,利用CPU對哈特里矩陣對角化求得本征能量和本征態(tài)矢,從而有效加速哈特里近似方法的計算。
[0013]有效將哈特里矩陣元中需要計算多重積分的哈特里項,即庫侖相互作用計算分離出來,形成問題的解空間,其規(guī)模由所研究的多體問題的規(guī)模來決定。
[0014]利用粒子-粒子間相互作用的兩體性,將生成的問題解空間與CUDA的三重線程模型對應起來,即同Grid, Block, Thread對應起來。
[0015]執(zhí)行設備端的kernel函數(shù)完成計算。生成的結(jié)果生成哈特里矩陣,并在CPU上調(diào)用Lapack等數(shù)學庫來完成計算。
[0016]本發(fā)明的一種利用GPU加速的哈特里近似方法其加工制作非常簡單方便,按照說明書附圖所示即可加工。
[0017]除說明書所述的技術特征外,均為本專業(yè)技術人員的已知技術。
【權利要求】
1.一種利用GPU加速的哈特里近似方法,其特征在于基本的程序架構(gòu)和組織流程為: (1)選擇基矢并構(gòu)建試探單粒子態(tài),生成哈特里項,將其存放在一線性內(nèi)存中,做為初始參數(shù); (2)生成問題的解空間; (3)劃分計算網(wǎng)格,傳遞輸入?yún)?shù)到顯存,并將計算中需要頻繁訪問的參數(shù)放到GPU的共享存儲器中; (4)調(diào)用設備端函數(shù)計算粒子-粒子相互作用,并將各線程對應的結(jié)果存放到顯存中; (5)將計算完成的結(jié)果從顯存拷貝到內(nèi)存中; (6)生成哈特里矩陣,在CPU上做矩陣對角化操作; (7)計算得新的單粒子態(tài),重新返回步驟(I)計算新的哈特里項,再次自洽運算,直接兩次自洽達到預定的精度則退出自洽計算步驟; (8)根據(jù)自洽后所得到的單粒子態(tài),計算多體系的能量及態(tài)矢等進一步物理量。
【文檔編號】G06F19/00GK104239747SQ201410555574
【公開日】2014年12月24日 申請日期:2014年10月20日 優(yōu)先權日:2014年10月20日
【發(fā)明者】劉羽 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永胜县| 宁远县| 南陵县| 天镇县| 淮安市| 永春县| 永春县| 弥渡县| 报价| 蒙自县| 辽中县| 扶沟县| 易门县| 漾濞| 陵水| 石渠县| 淄博市| 大冶市| 崇州市| 太和县| 浪卡子县| 栾川县| 平利县| 东兴市| 斗六市| 通辽市| 克东县| 紫金县| 中山市| 沛县| 黑山县| 乌苏市| 和田市| 乃东县| 桂东县| 平安县| 宽甸| 石景山区| 铁力市| 郑州市| 枣强县|