• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    激光等離子體相互作用模擬的并行和加速研究*

    2018-04-08 00:48:48武海鵬文敏華SEESimon林新華
    計(jì)算機(jī)與生活 2018年4期
    關(guān)鍵詞:數(shù)組數(shù)據(jù)量代碼

    武海鵬,文敏華+,SEE Simon,林新華,3

    1.上海交通大學(xué) 高性能計(jì)算中心,上海 200240

    2.NVIDIA Technology Center,新加坡

    3.東京工業(yè)大學(xué) 學(xué)術(shù)國際情報(bào)中心,日本 東京

    1 問題簡介

    近20年來,生成超短激光脈沖能力的不斷增強(qiáng)極大地促進(jìn)了激光等離子體相互作用領(lǐng)域的理論和實(shí)驗(yàn)研究[1-2]。激光驅(qū)動的電子加速是其中最重要的研究方向之一[3]。

    PIC(particle-in-cell)方法已經(jīng)被廣泛應(yīng)用在激光等離子體相互作用的模擬和其他物理學(xué)模擬中[4]。這種模擬方法結(jié)果的質(zhì)量依賴于系統(tǒng)中引入的大量粒子,因此基于PIC方法的應(yīng)用會包含大量的計(jì)算。由于可能存在大量的數(shù)據(jù)沖突和不規(guī)則內(nèi)存訪問,如何很好地將應(yīng)用并行化并且利用好集群的特性來加速程序是一個(gè)很有挑戰(zhàn)性的任務(wù)。

    本文研究用到的代碼“2DPIC”是一個(gè)新研發(fā)的電磁學(xué)的基于PIC方法的激光等離子體相互作用模擬的代碼[5]。在這個(gè)代碼中,應(yīng)用了方向劃分方法來求解麥克斯韋方程組。不同于有限差分時(shí)間域的方法,這個(gè)方法不受限于Courant條件:Δt=Δx/c<Δy/c,其中Δt、Δx和Δy分別是時(shí)間、縱向和橫向分辨率[6]。

    在將程序移植到GPU上的時(shí)候,利用“數(shù)組”作為存儲網(wǎng)格和粒子數(shù)據(jù)的主要數(shù)據(jù)結(jié)構(gòu)。為了處理“Scatter”階段中存在的數(shù)據(jù)沖突,在最開始嘗試?yán)昧藗鹘y(tǒng)的原子操作的方法。然而發(fā)現(xiàn)大量的原子操作成為程序性能的瓶頸,因此提出了動態(tài)冗余算法和混合精度算法來加速這部分計(jì)算過程。

    另外值得注意的一點(diǎn)是,當(dāng)程序運(yùn)行在安裝了很多GPU的集群中時(shí),MPI(message passing interface)通信部分的運(yùn)行時(shí)間會顯著增加。在這種情況下,利用 GPUDirect RDMA(remote direct memory access)技術(shù)可以將數(shù)據(jù)傳輸過程加速30%~60%,取決于要傳輸?shù)狡渌鸐PI區(qū)域的數(shù)據(jù)量的多少。

    2 相關(guān)工作

    近些年,盡管一些基于PIC方法的代碼已經(jīng)被移植到了GPU平臺,但是本文進(jìn)行了一些不同的探索。

    Decyk和Singh將一個(gè)比較簡單的PIC代碼移植到了GPU,這個(gè)代碼只應(yīng)用了Poisson方程來計(jì)算磁場信息[7],但是本文用到的代碼是基于電磁學(xué),并且有更大的計(jì)算強(qiáng)度。另一方面,本文所用的粒子排序算法不同,在實(shí)現(xiàn)中,粒子在每一步迭代后都會保持有序,而本文參數(shù)化了這個(gè)過程。對于實(shí)驗(yàn)方面,他們利用了一塊Tesla C1060和GTX 280,本文在一個(gè)GPU集群中進(jìn)行了實(shí)驗(yàn)評估。

    Joseph等人將PIC算法中計(jì)算強(qiáng)度最大的部分在一個(gè)GPU上進(jìn)行了并行化[8],但是本文將整個(gè)算法都移植到了GPU上。他們描述了一種新的并行的分層的木桶排序算法,其中粒子在每次循環(huán)迭代后逐漸變得有序。

    Chen等人描述了一種基于CPU+GPU的一維PIC算法的移植實(shí)現(xiàn)[9]。這種方法的基本特點(diǎn)是,從場求解器中分離出了粒子軌跡的計(jì)算部分,于此同時(shí)也保持了系統(tǒng)自洽。

    Kong等人研究了一種線程競爭的算法來解決數(shù)據(jù)沖突的問題,但是這種算法仍然類似于傳統(tǒng)的單精度的原子操作方法,并且他們只是在一塊GPU上進(jìn)行了測試和分析[10]。

    Burau等人研究了一種可擴(kuò)展到集群中的針對等離子體物理模擬的PIC方法的實(shí)現(xiàn)[11]。他們利用了LinkedList作為主要的數(shù)據(jù)結(jié)構(gòu),并且在4個(gè)GPU上進(jìn)行了測試。對于粒子排序,他們通過實(shí)驗(yàn)發(fā)現(xiàn)了在進(jìn)行一定次數(shù)的循環(huán)之后對粒子進(jìn)行重排序可以加速程序,但沒有詳細(xì)分析并且給出一個(gè)解決方案。

    Wang等人開發(fā)了基于PIC方法的GTC-P代碼,并且在一些超級計(jì)算機(jī)上進(jìn)行了測試[12]。這個(gè)代碼的算法和激光等離子體相互作用的模擬算法是不同的,他們所用的一些優(yōu)化手段不適合應(yīng)用在本文的模擬代碼中。另一方面,他們采用傳統(tǒng)的MPISend-Recv模式在CPU和GPU之間交換數(shù)據(jù),沒有利用GPUDirect RDMA技術(shù)。

    因此和上述方法相比,本文采用的實(shí)現(xiàn)和優(yōu)化方法有以下的不同:

    (1)在整體上把模擬算法移植到了GPU上,而不僅僅是其中計(jì)算強(qiáng)度高的部分。

    (2)探索了一系列方法來減少由于原子操作而產(chǎn)生的內(nèi)存沖突帶來的性能下降。同時(shí)也考慮到了盡量減少內(nèi)存的使用這一因素。

    (3)研究了一種參數(shù)化的粒子排序算法,不需要每次迭代之后都進(jìn)行粒子排序,從而在取得較好性能的同時(shí)不會浪費(fèi)過多的GPU內(nèi)存。

    (4)探索了在激光等離子體相互作用模擬中應(yīng)用GPUDirect RDMA技術(shù),而不是利用傳統(tǒng)的MPISendRecv方法在CPU和GPU之間進(jìn)行數(shù)據(jù)傳輸。

    3 算法

    這個(gè)代碼同時(shí)完成對場信息求解的麥克斯韋方程組和對微粒子的運(yùn)動求解的方程組的計(jì)算。對于沒有發(fā)生碰撞的等離子體,在每一個(gè)時(shí)間步Δt內(nèi),下列相對論方程組會作用于每一個(gè)粒子:

    粒子會對電荷和電流密度生成貢獻(xiàn)值。在當(dāng)前網(wǎng)格上會求解以下麥克斯韋方程組:

    這個(gè)過程會不斷迭代進(jìn)行,直到在等離子體場中達(dá)到自洽的狀態(tài)。PIC循環(huán)如圖1所示,主要包含4個(gè)階段。

    Fig.1 PIC cycle圖1 PIC循環(huán)邏輯

    (1)Gather階段:粒子的電場和磁場信息是由粒子在網(wǎng)格中的相對位置決定的網(wǎng)格點(diǎn)處得到的。每個(gè)粒子通過這些貢獻(xiàn)值來生成當(dāng)前位置的力。

    (2)Push階段:上一個(gè)Gather階段產(chǎn)生的力推動粒子到新的位置。

    (3)Scatter階段:每一個(gè)粒子將自己的貢獻(xiàn)傳播到當(dāng)前網(wǎng)格中。每一個(gè)網(wǎng)格點(diǎn)上的貢獻(xiàn)值被累積起來加到局部密度中。

    (4)Field階段:每一個(gè)網(wǎng)格點(diǎn)會從相鄰的網(wǎng)格點(diǎn)來取得數(shù)據(jù)計(jì)算出新的電場和磁場值。

    4 基于GPU的并行化

    4.1 合并函數(shù)

    每一個(gè)PIC方法的循環(huán)都由圖1描述的幾個(gè)主要階段組成。盡管每次迭代可以看作依賴于前一次迭代的結(jié)果(粒子新的位置),每一個(gè)粒子的gather、push和scatter這3個(gè)階段可以看作是相互獨(dú)立的,因此把這3個(gè)階段合并為一個(gè)kernel,叫作“ParticleKernel”。通過這種方法,不僅簡化了代碼,而且更為重要的是利用了數(shù)據(jù)的局部性,這意味著對于每一個(gè)粒子,在上一個(gè)階段產(chǎn)生的數(shù)據(jù)將馬上被用在下一個(gè)階段的計(jì)算中。偽代碼如下所示:

    4.2 線程分配策略

    為全局粒子數(shù)組中的每一個(gè)位置都分配了一個(gè)GPU線程。首先判斷對應(yīng)于這個(gè)粒子的位置是否“有效”。然后利用上一個(gè)階段的輸出作為下一個(gè)階段的輸入依次完成Gather、Push和Scatter階段。

    4.3 數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換

    PIC方法主要基于兩種類型的數(shù)據(jù)集合:一種是坐標(biāo)連續(xù)的充電粒子相關(guān)的數(shù)據(jù),另一種是網(wǎng)格相關(guān)的數(shù)據(jù)。對于每一種數(shù)據(jù),都額外分配一個(gè)全局?jǐn)?shù)組來存儲。通過這種從AOS(array-of-structure)到SOA(structure-of-array)的轉(zhuǎn)換,可以最大限度地減少數(shù)據(jù)量,無論是通過CudaMemcpy從CPU傳到GPU的數(shù)據(jù)量,還是通過MPI通信在不同區(qū)域中傳輸?shù)臄?shù)據(jù)量。

    5 對GPU版本的優(yōu)化

    5.1 “Scatter”階段優(yōu)化

    如下面?zhèn)未a所示,“ParticleKerel”一共有3個(gè)步驟:計(jì)算貢獻(xiàn)值,確定新的目標(biāo)地址,累加貢獻(xiàn)值。

    如圖2所示,每一個(gè)粒子都可能向9個(gè)方向移動(8個(gè)鄰接位置和當(dāng)前位置),并且可能會對16個(gè)位置(圖中的灰色區(qū)域)進(jìn)行寫操作。因此第三步“將貢獻(xiàn)值加到當(dāng)前網(wǎng)格”會帶來大量的數(shù)據(jù)沖突,從而將嚴(yán)重地降低程序性能。為了解決這個(gè)問題,最簡單的方法是利用傳統(tǒng)的“原子操作”方法。然而由于CUDA現(xiàn)在并沒有提供基于雙精度的原子操作的底層實(shí)現(xiàn),本文嘗試應(yīng)用CAS(compare&set)方法來實(shí)現(xiàn)。但是經(jīng)過分析程序,發(fā)現(xiàn)這個(gè)部分仍然占用了超過80%的時(shí)間,因此首先分析原因,然后依次介紹本文的優(yōu)化方法。

    Fig.2 Data conflicts on grid圖2 粒子產(chǎn)生數(shù)據(jù)沖突

    5.1.1 動態(tài)冗余算法

    在嘗試分析了產(chǎn)生數(shù)據(jù)沖突的根本原因之后,總結(jié)了兩方面因素:一是同屬一個(gè)網(wǎng)格的粒子可能嘗試去寫同一個(gè)內(nèi)存地址;另一方面,屬于不同網(wǎng)格的粒子也可能產(chǎn)生數(shù)據(jù)寫沖突。比較直接的想法是可以分配一塊和原始的網(wǎng)格大小相同的內(nèi)存區(qū)域來存儲由于數(shù)據(jù)沖突而產(chǎn)生的臨時(shí)數(shù)據(jù)。

    更進(jìn)一步,本文決定采用兩個(gè)層次的“數(shù)據(jù)冗余”方法。一方面,如圖3所示,為那些由于向不同的網(wǎng)格嘗試寫操作而產(chǎn)生數(shù)據(jù)沖突的粒子分配了冗余空間。因?yàn)橐粋€(gè)粒子可能向16個(gè)方向進(jìn)行寫操作,所以對整個(gè)網(wǎng)格復(fù)制了16份。接下來考慮每一個(gè)粒子,原來對“原始”數(shù)組的寫操作現(xiàn)在會轉(zhuǎn)移到另外的冗余數(shù)組中,取決于數(shù)據(jù)會寫入16個(gè)方向中的哪一個(gè)網(wǎng)格。通過這種方法,原來由于寫入不同的網(wǎng)格而產(chǎn)生的數(shù)據(jù)寫操作將會被分割開,從而大大減少了這種情況下的數(shù)據(jù)沖突數(shù)量。

    Fig.3 Data conflicts for particles in different cells圖3 解決屬于不同cell的粒子產(chǎn)生的數(shù)據(jù)沖突

    另一方面,那些屬于同一個(gè)網(wǎng)格中的粒子也可能產(chǎn)生數(shù)據(jù)沖突,如圖4所示,對這一個(gè)網(wǎng)格進(jìn)行了冗余化,將當(dāng)前網(wǎng)格的粒子按照它們的位置進(jìn)行了劃分。具體來說,首先將一個(gè)網(wǎng)格劃分為多份,然后對每一個(gè)粒子計(jì)算并判斷它們屬于哪一個(gè)子區(qū)域。之后對當(dāng)前網(wǎng)格信息的更新操作會在冗余數(shù)組上進(jìn)行。通過這種方法,分割了屬于同一個(gè)網(wǎng)格可能產(chǎn)生的數(shù)據(jù)寫操作。為了控制在這種情況下為每一個(gè)網(wǎng)格分配多少冗余空間,引入了一個(gè)參數(shù)duplication_num。通過仔細(xì)地選擇這個(gè)參數(shù)合適的值,可以找到在減少數(shù)據(jù)沖突和管理數(shù)據(jù)的開銷之間的平衡點(diǎn)。

    Fig.4 Data conflicts for particles in same cells圖4 解決屬于同一個(gè)cell的粒子產(chǎn)生的數(shù)據(jù)沖突

    像上文提到的,當(dāng)所有的粒子寫操作完成時(shí),會從所有的冗余數(shù)組中收集這些臨時(shí)數(shù)據(jù),并在另一個(gè)Kernel函數(shù)中將值更新到原始數(shù)組中。然而這種方法很有可能會占用太多的內(nèi)存資源。為了解決這個(gè)問題,本文引入了“動態(tài)冗余”的思想,偽代碼如下所示。這個(gè)算法的基本思想是考慮到粒子在整個(gè)網(wǎng)格上其實(shí)不是均勻分布的,可以把粒子的分布情況考慮在內(nèi)。不是簡單地為每一個(gè)網(wǎng)格都分配相同數(shù)目的冗余空間,而是分配給那些包含粒子數(shù)目多的網(wǎng)格更多的冗余空間,相反,給那些包含粒子較少的網(wǎng)格較少的冗余空間。具體視硬件資源的情況而定。這個(gè)方法可以極大地減少內(nèi)存空間的使用,尤其是當(dāng)粒子分布很不均勻的情況。當(dāng)程序運(yùn)行在28個(gè)GPU的集群中時(shí),與初始的GPU版本相比,取得了約1.7倍的加速比。

    現(xiàn)在可以從整體上來分析“動態(tài)冗余算法”。從圖5可以看出,從兩個(gè)維度減少了數(shù)據(jù)沖突:一個(gè)是從各個(gè)方向生成冗余空間,另一個(gè)是為每一個(gè)網(wǎng)格生成復(fù)制?!皠討B(tài)”意味著每一個(gè)子網(wǎng)格中的冗余空間的數(shù)量是不同的,取決于粒子在整個(gè)網(wǎng)格上分布的“密度”。

    5.1.2 混合精度算法

    另外一個(gè)來優(yōu)化“Scatter”階段的方法是加速原子操作。盡管已經(jīng)用傳統(tǒng)的CAS方法來實(shí)現(xiàn)雙精度的原子操作,但是這種方法仍然會比CUDA運(yùn)行時(shí)環(huán)境提供的單精度原子方法慢得多。為了能擁有單精度運(yùn)算的快速和雙精度運(yùn)算的精確,本文將二者結(jié)合了起來。

    具體來說就是在ParticleKernel之前和之后利用另外兩個(gè)GPU Kernel來做單精度和雙精度之間的轉(zhuǎn)換。代碼的其余部分,如數(shù)據(jù)的初始化,F(xiàn)ield階段和診斷階段等,仍然用雙精度來進(jìn)行計(jì)算,盡量減少由于精度損失帶來的影響。本文應(yīng)用這個(gè)方法在結(jié)果精度可以接受的情況下取得了約2倍的加速比。

    Fig.5 Duplications in two dimensions圖5 在兩個(gè)維度上通過冗余解決數(shù)據(jù)沖突

    5.2 粒子排序算法

    粒子可能逃逸出整個(gè)網(wǎng)格區(qū)域或者移動到相鄰的MPI域中。在這兩種情況中,全局?jǐn)?shù)組中存儲這個(gè)粒子的位置都會變成“空”或者“無效”的位置。如果不去處理,那么這些位置就會變得越來越多。這樣不僅會浪費(fèi)內(nèi)存資源,也會浪費(fèi)GPU計(jì)算資源,因?yàn)檫@里采用的GPU線程分配策略是為每一個(gè)全局粒子數(shù)組的位置分配一個(gè)GPU線程。進(jìn)行粒子排序的另一個(gè)目的是使得在物理位置上鄰近的粒子在內(nèi)存中也能連續(xù)存儲。盡管排序粒子能帶來較好的性能,但是同時(shí)排序也會耗費(fèi)一定的時(shí)間和計(jì)算資源,在有些情況下,過于頻繁地進(jìn)行粒子排序并不能有效提升程序性能。

    為了在排序帶來的好處和產(chǎn)生的額外開銷之間取得平衡,引入另外一個(gè)可調(diào)節(jié)的參數(shù)empty_ratio,這個(gè)參數(shù)表示了當(dāng)前粒子數(shù)組的“空余程度”。如果數(shù)組中空余位置數(shù)量和數(shù)組的總位置數(shù)量的比值大于本文設(shè)置的empty_ratio,那么粒子就會根據(jù)它們在整個(gè)網(wǎng)格中的位置進(jìn)行排序,如圖6所示。通過調(diào)節(jié)這個(gè)參數(shù)值,可以回收“無效”的空間,從而在得到較好的程序性能的同時(shí),也能最大程度地節(jié)省內(nèi)存空間。

    Fig.6 Particle reordering圖6 粒子排序

    5.3 CUDA-Aware MPI和GPUDirect RDMA

    MPI能很好地和CUDA編程模型相兼容[13]。對于一般的MPI實(shí)現(xiàn)來說,只有指向host空間的指針可以被當(dāng)作參數(shù)傳遞給MPI函數(shù)。然而如果把MPI和CUDA相結(jié)合,就可以發(fā)送GPU的緩存,而不僅僅是CPU端的數(shù)據(jù)了。如果不利用CUDA-Aware的MPI實(shí)現(xiàn),就需要利用cudaMemcpy函數(shù)把GPU內(nèi)存中的數(shù)據(jù)傳輸?shù)紺PU端的內(nèi)存。然而如果利用了這個(gè)技術(shù),GPU端的緩存可以直接被MPI傳輸?shù)搅硪欢?。從下面的代碼對比中可以看出,使用了CUDA-Aware的MPI實(shí)現(xiàn)后,代碼會變得更簡潔,編程也更加容易。

    除了更高的可用性之外,CUDA-Aware MPI還有哪些優(yōu)點(diǎn)呢?它不僅使得MPI+CUDA更容易使用,而且也使得應(yīng)用程序取得更好的運(yùn)行效率,這基于以下兩點(diǎn)原因[14]:

    (1)所有進(jìn)行數(shù)據(jù)傳輸?shù)牟僮鞫紩涣魉?/p>

    (2)MPI庫可以透明化地使用一些如GPUDirect的加速技術(shù)。

    遠(yuǎn)程DMA(RDMA)技術(shù)是在CUDA5.0中引入的GPUDirect技術(shù)中重要的一部分[15],它連通了GPU和第三方應(yīng)用了PCI-E標(biāo)準(zhǔn)的硬件。GPU緩沖區(qū)中的數(shù)據(jù)可以不通過CPU端而直接被送到網(wǎng)卡進(jìn)行傳輸,從而消除了CPU到GPU和其他PCI-E設(shè)備的內(nèi)存帶寬占用。這樣也就顯著增大了GPU和其他節(jié)點(diǎn)的MPISendRecv的效率。在一個(gè)由許多GPU加速節(jié)點(diǎn)組成的集群中,嘗試應(yīng)用了這個(gè)技術(shù)來加速數(shù)據(jù)傳輸過程。通過實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)傳輸?shù)臄?shù)據(jù)量比較大時(shí)會有比較好的加速效果。隨著將來越來越多的加速卡和節(jié)點(diǎn)的投入使用,更好地利用這項(xiàng)技術(shù)來減少數(shù)據(jù)傳輸?shù)南膶兊迷絹碓街匾?/p>

    6 實(shí)驗(yàn)結(jié)果和分析

    表1展示了本文的實(shí)驗(yàn)環(huán)境。在這個(gè)模擬中,設(shè)置 Δx=λ/200,Δy=λ/100和 Δt=Δx/c,在每一個(gè)非真空的網(wǎng)格中,對于電子、氘核和氚核,初始分別分配了64、32和32個(gè)粒子。這個(gè)模擬從t=-λ/C開始,與此同時(shí)激光脈沖從左邊界x=-λ處發(fā)射。

    Table 1 Software and hardware environment表1 實(shí)驗(yàn)的軟硬件環(huán)境

    從圖7可以看出,總體來說,如果把使用單個(gè)GPU的初始CUDA版本作為對比,在使用這些優(yōu)化方法后,與初始版本相比取得了更好的可擴(kuò)展性。下面分析每一種優(yōu)化方法。

    Fig.7 Speedup after utilizing all optimizations圖7 利用所有優(yōu)化方法之后的加速比

    6.1 動態(tài)冗余算法

    本文測試了利用動態(tài)冗余算法之后與初始的GPU版本使用相同數(shù)量GPU相比的加速情況。從圖8可以看出,當(dāng)用兩個(gè)GPU時(shí)加速比是2.18。隨著使用的GPU數(shù)量的增多,加速比會緩慢下降。當(dāng)使用28塊GPU時(shí),加速比為1.69。

    Fig.8 Speedup when utilizing different optimizations(with same number of GPUs)圖8 使用各種優(yōu)化方法之后的加速比(使用相同數(shù)量GPU)

    這里不考慮MPI通信時(shí)間隨著GPU數(shù)量增多而變化帶來的影響,因?yàn)槭褂萌哂鄡?yōu)化方法并不會改變通過MPI傳輸?shù)臄?shù)據(jù)數(shù)量。由于總的粒子數(shù)目是固定的,隨著使用GPU數(shù)的增加,每個(gè)GPU上的粒子數(shù)目會減少,這樣數(shù)據(jù)沖突的數(shù)量就會降低,冗余優(yōu)化的效果不突出,反而從冗余空間收集數(shù)據(jù)和更新數(shù)組的額外開銷變得明顯,導(dǎo)致加速比緩慢下降。

    6.2 混合精度算法

    總體上來說,隨著GPU數(shù)目的增多,混合精度計(jì)算方法帶來的加速收益會變得越來越明顯,當(dāng)GPU數(shù)量超過8后,加速效果會超過動態(tài)冗余算法。這是因?yàn)殡m然總的計(jì)算量是固定的,但是當(dāng)GPU數(shù)目較少時(shí),每個(gè)GPU上的計(jì)算量就會較多,這樣進(jìn)行數(shù)據(jù)精度轉(zhuǎn)換帶來的額外開銷會比較大。當(dāng)每個(gè)GPU上的粒子數(shù)變少后,由于各個(gè)GPU上精度轉(zhuǎn)換函數(shù)是并行執(zhí)行的,精度轉(zhuǎn)換的總開銷也會相應(yīng)降低,加速效果就會變得越來越明顯。

    6.3 RDMA

    對于GPUDirect RDMA,本文通過改變MPI線程的數(shù)目來改變需要傳輸?shù)臄?shù)據(jù)量。發(fā)現(xiàn)使用GPUDirect RDMA可以顯著減少數(shù)據(jù)傳輸?shù)臅r(shí)間。如圖9所示,當(dāng)傳輸?shù)臄?shù)據(jù)量大于3 KB時(shí),可以獲得2.8倍的加速比。但是當(dāng)傳輸?shù)臄?shù)據(jù)量為0.9 KB時(shí),加速比只有1.37。這是因?yàn)楫?dāng)需要傳輸?shù)臄?shù)據(jù)量比較少時(shí),RDMA的優(yōu)勢不明顯。待傳輸?shù)臄?shù)據(jù)量越大,越多的數(shù)據(jù)要傳輸?shù)搅硪粋€(gè)MPI域中。對于傳統(tǒng)的MPISendRecv方法來說,就需要更多的時(shí)間將數(shù)據(jù)從CPU端傳輸?shù)紾PU端。

    Fig.9 Speedup for MPI communication part圖9 MPI通信時(shí)間的加速比

    這里需要指出的一點(diǎn)是,對于非RDMA版本,MPI通信時(shí)間的計(jì)算不僅僅包括純粹的數(shù)據(jù)傳輸時(shí)間,還包括收集數(shù)據(jù),將數(shù)據(jù)放到數(shù)組中和把接收到的數(shù)據(jù)更新到正確的數(shù)組位置中的時(shí)間,因?yàn)镽DMA版本并不需要這些操作。

    6.4 粒子排序

    本文的粒子排序算法的中心思想是引入了一個(gè)參數(shù)empty_ratio,目的是在性能達(dá)到或者接近最優(yōu)的情況下找到這個(gè)參數(shù)的最小值。用8個(gè)MPI進(jìn)程來測試這個(gè)參數(shù)不同取值情況下的程序性能,結(jié)果如圖10所示。實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)empty_ratio小于0.05時(shí),性能受這個(gè)參數(shù)的影響很大。然而當(dāng)大于0.05時(shí),性能接近于穩(wěn)定。因?yàn)檫@個(gè)參數(shù)越小代表著內(nèi)存空間的使用越少,所以可以通過設(shè)置這個(gè)參數(shù)為0.05來達(dá)到性能和內(nèi)存使用之間的平衡。

    Fig.10 Performance when setting different empty_ratio圖10 不同的空余率對程序性能的影響

    7 結(jié)論

    本文研究了一種把整體的基于PIC方法的激光等離子體相互作用模擬的代碼移植到GPU端的可行方法,并且對比原始的CPU代碼取得了可觀的加速比?;谶@個(gè)初始的GPU版本,本文介紹了一系列的優(yōu)化方法來加速基于原子操作的包含大量數(shù)據(jù)沖突的Scatter階段,包括動態(tài)冗余算法、混合精度計(jì)算方法和一種參數(shù)化的粒子排序方法。也嘗試?yán)貌⑶以u估了GPUDirect RDMA方法在集群中加速M(fèi)PI通信時(shí)間的效果。發(fā)現(xiàn)當(dāng)數(shù)據(jù)傳輸量大于一定閾值的情況下,這種方法能顯著減少M(fèi)PI通信時(shí)間。相信這些優(yōu)化方法也能應(yīng)用于其他基于PIC方法的物理學(xué)模擬代碼,并且也對激光等離子體相互作用的研究發(fā)展有著非常重要的意義。

    致謝林新華特別致謝日本學(xué)術(shù)振興會JSPS的RONPAKU項(xiàng)目資助。感謝NVIDIA GCOE的支持。感謝上海交通大學(xué)物理與天文系的翁蘇明教授的指導(dǎo)和幫助。

    [1]Mourou G,Tajima T,Bulanov S.Optics in the relativistic regime[J].Reviews of Modern Physics,2006,78(2):309-371.

    [2]Korzhimanov AV,Gonoskov AA,Khazanov E A,et al.Horizons of petawatt laser technology[J].Physics-Uspekhi,2011,54(1):9-28.

    [3]Kostyukov I Y,Pukhov A M.Plasma-based methods for electron acceleration:current status and prospects[J].Physics-Uspekhi,2015,58(1):81-88.

    [4]Wen Minhua,Yu Zhanpeng,See S,et al.A NVIDIA Kepler based acceleration of PIC method[J].Procedia Engineering,2013,61:398-401.

    [5]Weng S M,Murakami M,Azechi H,et al.Quasi-monoenergetic ion generation by hole-boring radiation pressure acceleration in inhomogeneous plasmas using tailored laser pulses[J].Physics of Plasmas,2014,21:012705.

    [6]Pfund R E W,Lichters R,Meyer-ter-Veh J.LPIC++a parallel one-dimensional relativistic electromagnetic particle-in-cell code for simulating laser-plasma-interaction[C]//Proceedings of the International Conference on Superstrong Fields in plasmas,Varenna,Aug 27-Sep 2,1997.

    [7]Decyk V K,Singh T V.Adaptable particle-in-cell algorithms for graphical processing units[J].Computer Physics Communications,2011,182(3):641-648.

    [8]Joseph R G,Ravunnikutty G,Ranka S,et al.Efficient GPU implementation for particle in cell algorithm[C]//Proceedings of the 25th International Symposium on Parallel and Distributed Processing,Anchorage,May 16-20,2011.Piscataway:IEEE,2011:395-406.

    [9]Chen G,ChacóN L,Barnes D C.An efficient mixed-precision,hybrid CPU-GPU implementation of a non-linearly implicit one-dimensional particle-in-cell algorithm[J].Journal of Computational Physics,2012,231(16):5374-5388.

    [10]Kong Xianglong,Huang M C,Ren Chuang,et al.Particle-incell simulations with charge-conserving current deposition on graphical processing units[J].Journal of Computational Physics,2011,230(4):1676-1685.

    [11]Burau H,Widera R,Ho?Nig W,et al.PIConGPU:a fully relativistic particle-in-cell code for a GPU cluster[J].IEEE Transactions on Plasma Science,2010,38(10):2831-2839.

    [12]Wang Bei,Ethier S,Tang W,et al.Modern Gyrokinetic particlein-cell simulation of fusion plasmas on top supercomputers[J].Computing Research Repository,arXiv:1510.05546,2015.[13]Kraus J.An introduction to CUDA-aware MPI[EB/OL].(2013-03-13).https://devblogs.nvidia.com/parallelforall/introductioncuda-aware-mpi/.

    [14]Rossetti D.Benchmarking GPUDirect RDMA on modern server platforms[EB/OL].(2014-10-07).https://devblogs.nvidia.com/paralle-for-all/benchmarking-gpudirect-rdma-on-modernserver-platforms/.

    [15]Corporation N.Developing a Linux kernel module using GPUDirect RDMA[EB/OL].(2017-06-23).http://docs.nvidia.com/cuda/gpudirect-rdma.

    猜你喜歡
    數(shù)組數(shù)據(jù)量代碼
    JAVA稀疏矩陣算法
    基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
    計(jì)算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
    高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
    JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
    寬帶信號采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
    電子制作(2019年13期)2020-01-14 03:15:18
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    自线自在国产av| av网站在线播放免费| 精品一区二区三区四区五区乱码 | 又大又黄又爽视频免费| 视频区欧美日本亚洲| www.av在线官网国产| 亚洲av日韩精品久久久久久密 | 国产成人一区二区三区免费视频网站 | 王馨瑶露胸无遮挡在线观看| 中文字幕色久视频| 99热网站在线观看| av片东京热男人的天堂| 国产精品国产三级专区第一集| 日韩av不卡免费在线播放| 十八禁人妻一区二区| 色精品久久人妻99蜜桃| 在线看a的网站| 天天操日日干夜夜撸| 欧美精品一区二区大全| 国产一区二区三区综合在线观看| 亚洲成人免费av在线播放| 三上悠亚av全集在线观看| 国产一区有黄有色的免费视频| 欧美黑人精品巨大| 色94色欧美一区二区| a级片在线免费高清观看视频| 999久久久国产精品视频| 美女午夜性视频免费| 80岁老熟妇乱子伦牲交| av在线app专区| 涩涩av久久男人的天堂| 国产日韩欧美在线精品| 国产成人一区二区在线| 精品国产一区二区三区久久久樱花| 日韩av在线免费看完整版不卡| 汤姆久久久久久久影院中文字幕| 女警被强在线播放| 日本猛色少妇xxxxx猛交久久| 人人澡人人妻人| 成年女人毛片免费观看观看9 | 色网站视频免费| 天堂中文最新版在线下载| 青草久久国产| 1024视频免费在线观看| 亚洲一码二码三码区别大吗| 美女主播在线视频| 99热网站在线观看| 亚洲天堂av无毛| 国产精品偷伦视频观看了| 国产福利在线免费观看视频| 亚洲人成电影观看| 久久久久久亚洲精品国产蜜桃av| 欧美日韩福利视频一区二区| 精品国产乱码久久久久久小说| 男女边摸边吃奶| 看十八女毛片水多多多| 亚洲九九香蕉| 亚洲国产精品一区二区三区在线| 麻豆国产av国片精品| 国产成人免费观看mmmm| 在线观看免费午夜福利视频| 中国美女看黄片| kizo精华| 国产精品九九99| 少妇裸体淫交视频免费看高清 | 少妇精品久久久久久久| 午夜福利影视在线免费观看| 中文字幕高清在线视频| 国产成人免费无遮挡视频| 中文精品一卡2卡3卡4更新| 国产一区二区三区av在线| 欧美日韩成人在线一区二区| 亚洲人成电影观看| 国产精品 国内视频| 欧美日韩亚洲综合一区二区三区_| 亚洲成人国产一区在线观看 | 国产精品一区二区在线不卡| 熟女少妇亚洲综合色aaa.| 免费不卡黄色视频| 久久久久国产一级毛片高清牌| 熟女少妇亚洲综合色aaa.| 久久久久视频综合| av一本久久久久| 一级毛片女人18水好多 | 国产成人精品久久久久久| 最新在线观看一区二区三区 | 国产免费现黄频在线看| 精品久久蜜臀av无| 亚洲五月色婷婷综合| kizo精华| 老司机午夜十八禁免费视频| 亚洲精品日本国产第一区| 久久狼人影院| 如日韩欧美国产精品一区二区三区| 国产精品一区二区免费欧美 | 国产成人精品在线电影| 美女主播在线视频| 精品第一国产精品| 国产男女超爽视频在线观看| 亚洲,欧美精品.| 欧美黄色片欧美黄色片| 十八禁网站网址无遮挡| 亚洲,欧美,日韩| 丝袜美腿诱惑在线| 亚洲av国产av综合av卡| 成年人黄色毛片网站| 亚洲精品乱久久久久久| 日日摸夜夜添夜夜爱| 老司机在亚洲福利影院| 啦啦啦啦在线视频资源| 国产午夜精品一二区理论片| 高清视频免费观看一区二区| 免费观看人在逋| 熟女av电影| 在线看a的网站| 久9热在线精品视频| 久久这里只有精品19| 丰满人妻熟妇乱又伦精品不卡| 欧美久久黑人一区二区| 91精品伊人久久大香线蕉| 在现免费观看毛片| 久久性视频一级片| 国产成人免费观看mmmm| 50天的宝宝边吃奶边哭怎么回事| 国产精品久久久久久精品电影小说| 纯流量卡能插随身wifi吗| 国产精品国产av在线观看| 天天添夜夜摸| 性色av乱码一区二区三区2| 免费人妻精品一区二区三区视频| 婷婷色综合大香蕉| 高清av免费在线| 精品少妇内射三级| 天堂俺去俺来也www色官网| 日韩 欧美 亚洲 中文字幕| 叶爱在线成人免费视频播放| 国产亚洲欧美精品永久| 久久精品久久久久久久性| 国产精品.久久久| 成年女人毛片免费观看观看9 | 国产野战对白在线观看| 国产福利在线免费观看视频| 亚洲精品av麻豆狂野| 十八禁高潮呻吟视频| 日本a在线网址| 一级毛片电影观看| 啦啦啦啦在线视频资源| 亚洲伊人色综图| 国产一区亚洲一区在线观看| 99香蕉大伊视频| 欧美日韩福利视频一区二区| av福利片在线| 国产成人欧美在线观看 | 777久久人妻少妇嫩草av网站| 欧美97在线视频| 日韩av在线免费看完整版不卡| 亚洲欧美日韩高清在线视频 | 女人被躁到高潮嗷嗷叫费观| 久久人妻福利社区极品人妻图片 | 久久久久精品人妻al黑| 精品久久蜜臀av无| 久久久久久人人人人人| 亚洲一码二码三码区别大吗| 中文字幕高清在线视频| 国产91精品成人一区二区三区 | 国产色视频综合| 少妇猛男粗大的猛烈进出视频| 国产日韩欧美在线精品| 69精品国产乱码久久久| a 毛片基地| 亚洲,欧美精品.| 少妇人妻久久综合中文| 麻豆乱淫一区二区| 90打野战视频偷拍视频| 精品第一国产精品| 国产精品久久久av美女十八| 国产熟女午夜一区二区三区| 亚洲国产精品成人久久小说| 国产亚洲欧美在线一区二区| 欧美中文综合在线视频| 国产日韩欧美亚洲二区| 欧美精品一区二区免费开放| av不卡在线播放| 91麻豆精品激情在线观看国产 | 99久久综合免费| 国产精品久久久av美女十八| 久久精品久久久久久噜噜老黄| 老司机亚洲免费影院| 久久亚洲国产成人精品v| 欧美成狂野欧美在线观看| 9191精品国产免费久久| 欧美黑人精品巨大| 国产成人91sexporn| 黄色视频在线播放观看不卡| 久久久久精品人妻al黑| 丰满人妻熟妇乱又伦精品不卡| 91字幕亚洲| 久久99一区二区三区| 成人18禁高潮啪啪吃奶动态图| 男人舔女人的私密视频| 男女边摸边吃奶| 久久国产亚洲av麻豆专区| 午夜精品国产一区二区电影| 亚洲成人国产一区在线观看 | 国产一级毛片在线| 80岁老熟妇乱子伦牲交| 国产女主播在线喷水免费视频网站| 久久这里只有精品19| 真人做人爱边吃奶动态| 久久人人97超碰香蕉20202| 亚洲国产看品久久| 性色av乱码一区二区三区2| 亚洲精品乱久久久久久| 久久国产亚洲av麻豆专区| 热re99久久精品国产66热6| 亚洲精品国产av蜜桃| 人人妻,人人澡人人爽秒播 | 国产伦人伦偷精品视频| 波多野结衣一区麻豆| 一区二区三区乱码不卡18| 久久国产精品男人的天堂亚洲| 国产精品av久久久久免费| 少妇人妻 视频| 国产精品av久久久久免费| 熟女少妇亚洲综合色aaa.| 18禁观看日本| 成年人黄色毛片网站| 热99国产精品久久久久久7| 99re6热这里在线精品视频| 亚洲成国产人片在线观看| 超碰97精品在线观看| 国产亚洲精品久久久久5区| 我的亚洲天堂| 午夜福利一区二区在线看| 国产成人一区二区三区免费视频网站 | 亚洲精品在线美女| 男女下面插进去视频免费观看| 久久精品久久精品一区二区三区| 午夜免费男女啪啪视频观看| 大码成人一级视频| 亚洲精品中文字幕在线视频| 男女边摸边吃奶| 美国免费a级毛片| 久久av网站| 亚洲综合色网址| 在线观看www视频免费| 黄频高清免费视频| 丝袜美足系列| 国产伦理片在线播放av一区| 精品久久蜜臀av无| 国产日韩欧美亚洲二区| 成人黄色视频免费在线看| 在线 av 中文字幕| 亚洲九九香蕉| 9191精品国产免费久久| 五月开心婷婷网| 各种免费的搞黄视频| av国产精品久久久久影院| 日本午夜av视频| 人人妻人人澡人人看| 激情五月婷婷亚洲| 亚洲国产最新在线播放| 亚洲精品中文字幕在线视频| 人人妻人人澡人人爽人人夜夜| 性少妇av在线| 欧美黄色淫秽网站| 亚洲伊人久久精品综合| 欧美国产精品va在线观看不卡| 1024香蕉在线观看| 69精品国产乱码久久久| 丰满少妇做爰视频| 日韩欧美一区视频在线观看| 欧美人与性动交α欧美精品济南到| 99国产精品99久久久久| av欧美777| 国产欧美日韩综合在线一区二区| 欧美精品啪啪一区二区三区 | 男人爽女人下面视频在线观看| 精品少妇黑人巨大在线播放| 18禁裸乳无遮挡动漫免费视频| 亚洲中文字幕日韩| 尾随美女入室| 精品福利永久在线观看| 欧美大码av| 国产欧美日韩一区二区三区在线| 黄色视频不卡| 国产精品成人在线| 国产精品 欧美亚洲| 久久久久网色| av在线app专区| 精品久久久久久久毛片微露脸 | 99re6热这里在线精品视频| 日韩av在线免费看完整版不卡| 精品欧美一区二区三区在线| 精品卡一卡二卡四卡免费| 成年av动漫网址| 宅男免费午夜| 国产成人精品久久久久久| 亚洲免费av在线视频| 咕卡用的链子| 狠狠精品人妻久久久久久综合| www.999成人在线观看| 久久99精品国语久久久| 国产精品免费大片| 亚洲欧美中文字幕日韩二区| 高清视频免费观看一区二区| 成人黄色视频免费在线看| 国产成人av激情在线播放| 999精品在线视频| 国产在线免费精品| 久久精品久久久久久噜噜老黄| 精品少妇久久久久久888优播| a级毛片在线看网站| 日日夜夜操网爽| 亚洲 国产 在线| 国产免费福利视频在线观看| 日本av手机在线免费观看| 亚洲精品一区蜜桃| 男女边摸边吃奶| 丰满迷人的少妇在线观看| 女人被躁到高潮嗷嗷叫费观| 免费女性裸体啪啪无遮挡网站| www.精华液| 老司机深夜福利视频在线观看 | 成人国产一区最新在线观看 | 亚洲欧美清纯卡通| 久久精品熟女亚洲av麻豆精品| 18在线观看网站| 色播在线永久视频| 天天躁夜夜躁狠狠躁躁| 尾随美女入室| 久9热在线精品视频| 精品少妇内射三级| 日本欧美视频一区| 亚洲精品日韩在线中文字幕| 脱女人内裤的视频| 亚洲专区中文字幕在线| 夫妻性生交免费视频一级片| 亚洲成国产人片在线观看| 欧美精品亚洲一区二区| 岛国毛片在线播放| 精品熟女少妇八av免费久了| 丰满少妇做爰视频| 国产淫语在线视频| e午夜精品久久久久久久| 欧美日韩亚洲高清精品| 午夜av观看不卡| 久久精品久久久久久久性| 老鸭窝网址在线观看| 婷婷色综合www| 啦啦啦 在线观看视频| 黄色a级毛片大全视频| 亚洲人成网站在线观看播放| av网站在线播放免费| 国产野战对白在线观看| 精品欧美一区二区三区在线| 天天躁狠狠躁夜夜躁狠狠躁| 极品人妻少妇av视频| 亚洲国产成人一精品久久久| 亚洲美女黄色视频免费看| 欧美日韩精品网址| 大话2 男鬼变身卡| 免费日韩欧美在线观看| 国产精品麻豆人妻色哟哟久久| 久久久久久久久久久久大奶| 人人澡人人妻人| 一二三四在线观看免费中文在| 大陆偷拍与自拍| 亚洲国产最新在线播放| 成人亚洲欧美一区二区av| 国产激情久久老熟女| 女人被躁到高潮嗷嗷叫费观| 在线观看免费日韩欧美大片| 国产精品久久久久久精品古装| 又大又爽又粗| 久热爱精品视频在线9| 永久免费av网站大全| www日本在线高清视频| 看十八女毛片水多多多| 黄片播放在线免费| 国产精品九九99| 精品第一国产精品| 一本一本久久a久久精品综合妖精| 多毛熟女@视频| 午夜福利一区二区在线看| av网站在线播放免费| 国产精品久久久av美女十八| 男女边吃奶边做爰视频| 久久天堂一区二区三区四区| 美女扒开内裤让男人捅视频| 蜜桃在线观看..| 在线av久久热| 久久精品久久久久久久性| 人人妻人人添人人爽欧美一区卜| 中文字幕精品免费在线观看视频| 美女视频免费永久观看网站| 欧美日韩亚洲综合一区二区三区_| 大码成人一级视频| 国产日韩欧美视频二区| 捣出白浆h1v1| 一级毛片 在线播放| 久久久精品区二区三区| 国产一区二区激情短视频 | 久久久久视频综合| 日韩视频在线欧美| www.熟女人妻精品国产| 免费在线观看完整版高清| 久久综合国产亚洲精品| 成人免费观看视频高清| 99久久99久久久精品蜜桃| 少妇裸体淫交视频免费看高清 | 亚洲国产欧美日韩在线播放| 婷婷色综合大香蕉| 亚洲av在线观看美女高潮| 欧美黄色淫秽网站| 成年动漫av网址| 国产高清videossex| 欧美老熟妇乱子伦牲交| 脱女人内裤的视频| 夫妻性生交免费视频一级片| 免费在线观看视频国产中文字幕亚洲 | 伊人亚洲综合成人网| 欧美日韩精品网址| 免费人妻精品一区二区三区视频| 纯流量卡能插随身wifi吗| 黄色片一级片一级黄色片| 亚洲伊人色综图| 最新在线观看一区二区三区 | av片东京热男人的天堂| 国产精品麻豆人妻色哟哟久久| 亚洲综合色网址| 午夜免费男女啪啪视频观看| 高潮久久久久久久久久久不卡| 成人免费观看视频高清| 自线自在国产av| 国产精品久久久久久人妻精品电影 | 啦啦啦在线观看免费高清www| 国产免费又黄又爽又色| 精品一区在线观看国产| 19禁男女啪啪无遮挡网站| 91精品国产国语对白视频| 性高湖久久久久久久久免费观看| 一本久久精品| 亚洲精品自拍成人| 免费在线观看影片大全网站 | 每晚都被弄得嗷嗷叫到高潮| 亚洲欧洲国产日韩| 国产野战对白在线观看| 一级毛片电影观看| 精品少妇黑人巨大在线播放| 丰满少妇做爰视频| 精品福利永久在线观看| 欧美亚洲日本最大视频资源| 一区二区av电影网| 国产精品香港三级国产av潘金莲 | 看十八女毛片水多多多| 色婷婷久久久亚洲欧美| 欧美精品一区二区大全| 美女视频免费永久观看网站| 色婷婷av一区二区三区视频| 久久狼人影院| 人人澡人人妻人| 亚洲成色77777| 国产成人精品久久二区二区免费| 永久免费av网站大全| 麻豆乱淫一区二区| 久久这里只有精品19| 国产成人系列免费观看| 欧美少妇被猛烈插入视频| 捣出白浆h1v1| av电影中文网址| 日韩av不卡免费在线播放| 免费看av在线观看网站| 国产97色在线日韩免费| 国产av一区二区精品久久| 欧美日韩视频高清一区二区三区二| 国产在线免费精品| 国产老妇伦熟女老妇高清| 一级,二级,三级黄色视频| 欧美成人精品欧美一级黄| 精品国产一区二区久久| 国产日韩欧美在线精品| 人人澡人人妻人| 国产成人精品在线电影| 国产精品99久久99久久久不卡| 成人手机av| 女人高潮潮喷娇喘18禁视频| 亚洲欧洲日产国产| 国产三级黄色录像| 国产精品久久久久久精品电影小说| 免费人妻精品一区二区三区视频| 亚洲伊人色综图| 大片电影免费在线观看免费| 国产精品二区激情视频| 国产99久久九九免费精品| 男女床上黄色一级片免费看| 亚洲欧美日韩高清在线视频 | 在线精品无人区一区二区三| 人人妻人人澡人人看| 纯流量卡能插随身wifi吗| 国产黄频视频在线观看| 曰老女人黄片| 国产av精品麻豆| 好男人视频免费观看在线| 国产在线免费精品| 成人影院久久| 91麻豆精品激情在线观看国产 | 久久av网站| 两个人看的免费小视频| 成人免费观看视频高清| 777久久人妻少妇嫩草av网站| 午夜av观看不卡| 国产精品麻豆人妻色哟哟久久| 中文字幕最新亚洲高清| 久久女婷五月综合色啪小说| 9热在线视频观看99| 国产片特级美女逼逼视频| 国产成人影院久久av| 午夜精品国产一区二区电影| 久久久久国产一级毛片高清牌| 亚洲男人天堂网一区| 久久精品国产综合久久久| a级毛片在线看网站| 91字幕亚洲| 大片电影免费在线观看免费| 捣出白浆h1v1| 不卡av一区二区三区| 久久精品亚洲av国产电影网| av天堂在线播放| www.熟女人妻精品国产| 成人亚洲精品一区在线观看| 一二三四在线观看免费中文在| 欧美日韩福利视频一区二区| 在线观看免费视频网站a站| 亚洲欧美日韩高清在线视频 | 国产一区二区三区综合在线观看| 91九色精品人成在线观看| 亚洲精品日韩在线中文字幕| av天堂在线播放| 欧美国产精品一级二级三级| 色94色欧美一区二区| 亚洲一区中文字幕在线| 中文字幕人妻熟女乱码| 久久狼人影院| 日日爽夜夜爽网站| 日韩av不卡免费在线播放| 国产高清视频在线播放一区 | 亚洲精品国产av成人精品| 黄频高清免费视频| 亚洲精品av麻豆狂野| 国产成人a∨麻豆精品| 午夜福利一区二区在线看| 日韩av免费高清视频| 日本91视频免费播放| 亚洲国产av新网站| 国产爽快片一区二区三区| 欧美日韩成人在线一区二区| 欧美精品亚洲一区二区| 最近最新中文字幕大全免费视频 | 久久久精品免费免费高清| 久久久久久亚洲精品国产蜜桃av| 免费少妇av软件| 亚洲精品国产一区二区精华液| 亚洲国产看品久久| 亚洲欧洲精品一区二区精品久久久| 亚洲中文av在线| 超碰成人久久| 观看av在线不卡| 久久国产精品男人的天堂亚洲| 免费在线观看日本一区| 国产免费福利视频在线观看| 国产无遮挡羞羞视频在线观看| 一级片'在线观看视频| 国产欧美日韩精品亚洲av| av不卡在线播放| 99热国产这里只有精品6| 日韩电影二区| 精品高清国产在线一区| 久久免费观看电影| 少妇粗大呻吟视频| 男女边吃奶边做爰视频| 性高湖久久久久久久久免费观看| 黄色视频在线播放观看不卡| 国产精品秋霞免费鲁丝片| 在线观看免费视频网站a站| 好男人视频免费观看在线| 1024视频免费在线观看| 十八禁高潮呻吟视频| 两个人看的免费小视频| 亚洲欧美一区二区三区黑人| 亚洲 国产 在线| 国产精品 欧美亚洲| 国产熟女欧美一区二区| 国产亚洲一区二区精品| 2018国产大陆天天弄谢| 国产三级黄色录像| 亚洲五月色婷婷综合| 成年女人毛片免费观看观看9 | av天堂久久9| 99国产综合亚洲精品| 久久久久久免费高清国产稀缺| 国产男女内射视频| 女性生殖器流出的白浆| 国产亚洲一区二区精品| 亚洲综合色网址| 久久国产精品大桥未久av| 日韩一区二区三区影片| 国产精品人妻久久久影院| 国产三级黄色录像| 一边摸一边做爽爽视频免费| 亚洲综合色网址| www.av在线官网国产| 亚洲熟女毛片儿| 可以免费在线观看a视频的电影网站| 啦啦啦 在线观看视频|