青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Coder

HCP高性能計(jì)算架構(gòu),實(shí)現(xiàn),編譯器指令優(yōu)化,算法優(yōu)化, LLVM CLANG OpenCL CUDA OpenACC C++AMP OpenMP MPI

C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
  98 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

#

http://blog.csdn.net/bendanban/article/details/7673951

1、Release不能編譯成功,提示無法解析的外部變量,或者無法找到**.lib鏈接庫(kù)

解決方法是在項(xiàng)目-->屬性-->連接器-->常規(guī)-->附加庫(kù)目錄,將內(nèi)容修改為:..\..\..\common\$(PlatformName)\$(ConfigurationName);$(HMPP_PATH)\lib

 

2、大家有沒有覺得時(shí)間及時(shí)不大對(duì)呀?

呵呵,這個(gè)是真的。在lab中,將

fprintf( stdout, "CPU time             : %.2f ms(best)\n", best_measure/10e3);  

改為

 fprintf( stdout, "CPU time             : %.2f ms(best)\n", best_measure/1e3);

,實(shí)際上就是一個(gè)數(shù)量級(jí)的問題。

為了不改變CAPS HMPP labs的原有結(jié)構(gòu),后面的講解中將重新搭建項(xiàng)目。希望大家關(guān)注奧。。微笑



posted @ 2012-10-21 11:47 jackdong 閱讀(291) | 評(píng)論 (0)編輯 收藏

CAPS OpenACC網(wǎng)絡(luò)培訓(xùn)班8月起免費(fèi)開班,每周四下午3點(diǎn),可以去看看奧。奮斗

http://www.caps-entreprise.com.cn/many-core/webinar-openacc-1.html

posted @ 2012-10-21 11:45 jackdong 閱讀(329) | 評(píng)論 (0)編輯 收藏

     摘要: http://blog.csdn.net/bendanban/article/details/7674674一步步做程序優(yōu)化【1】講一個(gè)用于OpenACC優(yōu)化的程序 很經(jīng)典的例子,矩陣的乘法。呵呵。。。 分析下A,B,C為三個(gè)矩陣,A為m*n維,B為n*k維,C為m*k維,用A和B來計(jì)算C,計(jì)算方法是:C = alpha*A*B + beta*C。它的程序如下: Code highlight...  閱讀全文
posted @ 2012-10-21 11:42 jackdong 閱讀(1659) | 評(píng)論 (0)編輯 收藏

http://blog.csdn.net/bendanban/article/details/7769907

幾個(gè)很簡(jiǎn)單的步驟奧:

1)首先你應(yīng)該下載到軟件安裝包,http://www.caps-entreprise.com.cn/wp-content/plugins/download-monitor/download.php?id=24  (你要注冊(cè)才行額)

網(wǎng)站上提供的是最新的64位的Linux版本,

2) 然后是解壓,找到那個(gè)可執(zhí)行文件,雙擊執(zhí)行下,根據(jù)提示一步步安裝,成功!


3)執(zhí)行下$source [HMPP 安裝目錄]/bin/*.sh

你可以先修改這個(gè)sh文件里的第24行為MANPATH=:${HMPP_MAN_PATH}:${HMPP_HOME}/doc/hmpprt-doxygen/cxx/man

這樣做是為了兼容Ubuntu

$hmpp --licenses

會(huì)出現(xiàn)一些信息,你只要把這些信息發(fā)送到apac-support@caps-entreprise.com 就可以了,CAPS會(huì)在幾個(gè)工作日內(nèi)把License發(fā)給你。(這個(gè)是人工審核的,如果你幸運(yùn)的話,只需要幾個(gè)小時(shí)就可以了,相信我沒錯(cuò)的!)


4)拿到License后,你把它拷貝到HMPP安裝目錄下的licenses目錄下,然后在執(zhí)行下$hmpp --licenses

你會(huì)看到你可以使用的內(nèi)容了。


5)隨便寫個(gè)C程序,然后用它編譯下,看看效果吧。。

先用這個(gè)編譯:

$hmpp --codelet-required gcc [any options] [you code .c]

posted @ 2012-10-21 11:32 jackdong 閱讀(284) | 評(píng)論 (0)編輯 收藏

http://blog.csdn.net/bendanban/article/details/7662583

1、  什么是HMPP

    HMPPHybrid Multicore Parallel Programming的英文縮寫。HMPP提供了一些指令,這些指令致力于將可以并行的程序移植到協(xié)處理器(協(xié)處理器(co-processor)在HMPP中常被稱為硬件加速器(Hardware Accelerator HWA))上執(zhí)行。目前比較熟悉的加速器是GPU以及MIC

    使用HMPP可以有幾個(gè)好處:

    ① 程序員可以不關(guān)心您的程序是在什么類型的硬件加速器上執(zhí)行,盡管很多情況下大家都知道自己用的是什么加速器。

    ② 如果你的機(jī)器沒有加速器或者你的加速器不可用,那么你的程序可以繼續(xù)以原有的方式執(zhí)行,這樣就保證了程序能繼續(xù)執(zhí)行。

    ③ 使用HMPP,你只需要幾句指令你的程序就可以移植了,再也不用學(xué)習(xí)什么CUDAOpenCLCg之類的東西了。給大家減輕了負(fù)擔(dān)。

2、  如何獲得HMPP

    需要到CAPS的官方網(wǎng)站去登記(http://www.caps-entreprise.com.cn/download/hmpp-openacc-compiler這個(gè)網(wǎng)站將主要用于亞洲用戶的下載),然后才可以下載HMPP編譯器,目前最新的版本是3.1,這個(gè)版本只有支持Linux 64位的版本,支持Windows的版本將在晚些時(shí)候發(fā)布。新的版本加入對(duì)OpenACC1.0標(biāo)準(zhǔn)的全部支持。可以同時(shí)使用HMPP以及OpenACC的指令,當(dāng)然我們需要滿足一定的規(guī)則。這些規(guī)則將會(huì)在我后續(xù)的文章中逐漸講到。期待大家的關(guān)注奧。

3、如何安裝HMPP

    在Windows下安裝。只需要你雙擊軟件安裝包就可以了。然后根據(jù)提示安裝就可以了。

    在Linux下安裝。各位可以參考http://blog.csdn.net/bendanban/article/details/7769907

4、如何使用HMPP

    因?yàn)?span style="font-family: Calibri">HMPP不會(huì)把語(yǔ)言編譯的所有活都干完,他需要你有額外的編譯器。所以在windows下你最好有Visual Studio,并且推薦VS2008VS9.0)。Fortran語(yǔ)言的話在Windows下推薦使用Intel FORTRAN Compiler

    下面我用VisualStudio2008來配置編譯自己的C程序的整個(gè)過程。這里假設(shè)各位已經(jīng)安裝好了HMPPVisualStudio2008。下面直接配置吧。

          編譯環(huán)境的配置過程!

       Step1  在你下載的壓縮文件中會(huì)有類似這樣命名的文件:HMPPWorkbench-*.*.*_WindowsTutorial.zip。把他解壓,在解壓出的文件夾中(labs/common/)找到一個(gè)名為HMPP.rules的文件。把這個(gè)文件拷貝到[Visual Studio 安裝目錄]\VC\VCProjectDefaults\目錄下。

       Step2 下面使用VS建立自己的工程。打開VS,如圖4-1所示建立一個(gè)空的工程。

 

 

圖4-1

       Step3 在新工程中添加代碼文件。你可以拷貝我下面的代碼。:-)

 

#include <stdio.h>
int main(int argc, char **argv)
{
    printf(
"Hello HMPP\n");
    getchar();
    
return 0;
}

 

 Step4 添加自定義生成規(guī)則搭建所需環(huán)境。如圖4-2到圖4-6所示。

 

 

圖4-2

 

 

圖4-3

 

 

圖4-4

 

 

圖4-5

 

 

圖4-6

       走到這一步,各位不要著急去編譯自己的程序奧。你要確保自己有權(quán)利使用HMPP編譯器奧。現(xiàn)在唯一的途徑就是去CAPS的官方網(wǎng)站去登記,然后獲得試用版的license才行奧。下面假設(shè)你已經(jīng)獲得了License文件。講述如何成功編譯第一個(gè)Hello HMPP程序。

       編譯權(quán)限的配置過程! 

Step1 首先將你獲得的.lic拷貝到HMPP安裝目錄下的licensens文件夾下。 

Step2 按照?qǐng)D4-7打開控制臺(tái),按照?qǐng)D4-8所示執(zhí)行命令。千萬注意,一定不要在需要使用HMPP編譯時(shí)關(guān)閉你剛剛打開的控制臺(tái)。 

完成上面這兩大部分之后,就可以編譯執(zhí)行第一個(gè)HMPP編譯出的程序了!!圖4-9展示了執(zhí)行結(jié)果。

 

 

 

圖4-7

 

 

圖4-8

 

 

圖4-9

      

參考文獻(xiàn):

[1] HMPPWorkbench-2.5_HMPP_Directives_ReferenceManual[M/OL].


posted @ 2012-10-21 11:31 jackdong 閱讀(386) | 評(píng)論 (0)編輯 收藏

http://blog.csdn.net/bendanban/article/details/6435314

VisualStudio2010據(jù)說完美支持CUDA4.0,我研究了一下,下面將我的配置過程呈獻(xiàn)給大家,希望對(duì)大家有所幫助。

第一步:下載CUDA4.0 Driver,toolkit,SDK,這些不在提了,只要各位去Nvidia的官網(wǎng)下載并且一次安裝就是了,不過各位在安裝前必須將以前的版本卸載掉。當(dāng)然VisualStudio2010是必須的,各位必須要安裝它,要不我的文章題目就沒意義了。一切安裝就緒后,下面開始配置。

第二步:打開VS2010,新建一個(gè)Win32控制臺(tái)應(yīng)用程序(英文是Win32ConsoleApplication)。

clip_image002

圖1 新建Win32控制臺(tái)程序

確定后,在向?qū)е羞x擇空項(xiàng)目:

clip_image004

圖2 空項(xiàng)目

第三步:添加CU文件,右擊項(xiàng)目-》“添加”-》“新建項(xiàng)”

clip_image006

圖3 添加CU文件

第四步:為“test.cu”添加生成規(guī)則

右擊項(xiàng)目,選擇“自定義生成”,會(huì)跳出圖4框,如圖所示操作。

clip_image008

圖4選擇自定義生成規(guī)則

右擊你添加的CU文件,選擇屬性,然后按圖示操作。

clip_image010

圖5 修改CU文件的生成規(guī)則為CUDA C/C++

clip_image012

圖6 應(yīng)用后的結(jié)果

第五步:添加附加依賴項(xiàng)cuda.lib;cudart.lib。右擊項(xiàng)目,選擇屬性,然后按圖示操作。

clip_image014

圖7 添加附加依賴項(xiàng)

第六步:測(cè)試。在CU問價(jià)中添加如下代碼:(很假單的代碼,呵呵)

#include <cuda.h>

#include <cuda_runtime_api.h>

int main(int argc, char *argv[])

{

float *device_f = NULL;

cudaMalloc((void**)&device_f, 10*sizeof(float));

//

cudaFree(device_f);

return 0;

}

生成:

clip_image016

圖8生成結(jié)果

重要提醒:程序最好不要放在含有漢字的目錄下,如果提示有規(guī)則錯(cuò)誤,先關(guān)閉VS,然后把解決方案目錄下的那個(gè)數(shù)據(jù)庫(kù),Debug文件夾刪除。項(xiàng)目目錄下的Debug也刪除。這主要是由于兩家公司(Nvidia、Microsoft)的問題。

為了讓你相信我的配置是成功的,我把我的一個(gè)圖像處理結(jié)果貼出來。

clip_image018

Lenna原圖

clip_image020

Lenna銳化結(jié)果

 

很需要的額外的兩步:

一、將SDK目錄下:…/NVIDIA GPU Computing SDK 4.0/C/doc/syntax_highlighting/visual_studio_8 。將此目錄下的usertype.dat拷貝到…/Microsoft Visual Studio 10.0/Common7/IDE目錄下。

二、在菜單欄中選擇“工具”->“選項(xiàng)”。然后按照?qǐng)D示操作就行了。操作完后,記得重啟VS2010。

clip_image022

posted @ 2012-10-21 11:28 jackdong 閱讀(527) | 評(píng)論 (0)編輯 收藏

http://blog.csdn.net/bendanban/article/details/7928744
引言:

    什么是基于指令的移植方式呢?首先我這里說的移植可以理解為把原先在CPU上跑的程序放到像GPU一樣的協(xié)處理器上跑的這個(gè)過程。在英文里可以叫Porting。移植有兩種方式:一種是使用CUDA或者OpenCL來重新設(shè)計(jì)代碼,然后使用硬件廠商提供的編譯器來編譯;一種是使用OpenACC或者OpenHMPP提供的指令集添加到你想使用GPU計(jì)算的源代碼中的某個(gè)位置,讓編譯器來編譯出GPU上執(zhí)行的代碼。后一種方式就是基于指令的移植方式。   

     例如,下面一個(gè)簡(jiǎn)單的循環(huán):

for (i=0; i<n;i++)
{
    dosomething(i);
}

 

如果你想把這個(gè)循環(huán)放到GPU上,讓每個(gè)線程計(jì)算一次i的話,可以這樣做:

#pragma acc kernels

 

for (i=0; i<n;i++)
{
    dosomething(i);
}

網(wǎng)格化(gridification):
    這樣,編譯器拿到加了OpenACC指令的那段代碼后,就會(huì)把你的循環(huán)放到GPU或者其他硬件加速器(例如MIC)上。編譯器分析了#pragma acc kernels下面的那個(gè)循環(huán),就會(huì)根據(jù)循環(huán)的次數(shù)來分配線程數(shù)量,這個(gè)過程就叫網(wǎng)格化。為什么說是網(wǎng)格化呢?可以這樣理解,因?yàn)镚PU可以啟動(dòng)很多線程,這些線程就像一張漁網(wǎng)一樣,可以認(rèn)為一個(gè)網(wǎng)格代表一個(gè)線程,所以我就干脆叫這個(gè)過程為“網(wǎng)格化”了。

 內(nèi)核(kernel)

    在OpenACC里可以這樣理解內(nèi)核:內(nèi)核就是在協(xié)處理器(例如GPU)上被多個(gè)線程同時(shí)執(zhí)行的一段代碼。如果每個(gè)線程都做一個(gè)活,豈不是沒意思了么?當(dāng)然不是這樣的,他們執(zhí)行的代碼是一樣的,但是每個(gè)線程可以根據(jù)自己的ID號(hào)來針對(duì)不同的數(shù)據(jù)做同樣的工作,這也就是數(shù)據(jù)并行的含義。

 

codelet

    使用CAPS的HMPP Workbench編譯加了OpenACC指導(dǎo)語(yǔ)句的源代碼時(shí),編譯器會(huì)告訴你codelet產(chǎn)生了。實(shí)際上產(chǎn)生了一個(gè)CUDA或者OpenCL的源文件,這個(gè)源文件中包含了根據(jù)你的指導(dǎo)語(yǔ)句生成的CUDA或者OpenCL的源代碼。那什么是codelet呢?可以認(rèn)為codelet就是數(shù)據(jù)管理+內(nèi)核。一個(gè)codelet要干的事情包括兩部分:申請(qǐng)和管理CPU和協(xié)處理器之間的存儲(chǔ),還有就是啟動(dòng)在協(xié)處理上執(zhí)行的代碼。

 

work-sharing

    這個(gè)詞可以理解為名詞“共享工作”。如果在協(xié)處理器上的線程們執(zhí)行的工作時(shí)work-sharing的,那么每個(gè)線程可以根據(jù)自己的ID在不同的數(shù)據(jù)上干了相似的工作。這個(gè)詞是在使用OpenACC或者OpenHMPP移植代碼的時(shí)候遇到的,它描述的是CPU的串行代碼中的狀態(tài),例如:

 

for (i=0; i<n; i++)
{
    a[i] 
= i;
}

在這段代碼中,a[i]的計(jì)算與a[i]之外的a的元素沒有依賴性,所以,每次循環(huán)的i可以使獨(dú)立的完成的,像這樣的狀態(tài)就是work-sharing的。還有例如規(guī)約,

= 0;
for (i=0; i<n; i++)
{
   s
+=a[i];
}

雖然s的計(jì)算與i相關(guān),但是細(xì)想一下,加法在數(shù)學(xué)上市滿足交換律的,s的每次加a[i]實(shí)際上不相關(guān)的,你不管以什么順序加和a[i]到s,解結(jié)果總是一樣的。所以規(guī)約也可以理解為是worksharing 的。就說這么多吧。如果大家有什么問題,歡迎給我留言?shī)W。

posted @ 2012-10-21 11:23 jackdong 閱讀(537) | 評(píng)論 (0)編輯 收藏

CAPS發(fā)布了自己的HMPP編譯器3.1版本,全部支持OpenACC特性。大家來圍觀把。。

下面是官方的中文網(wǎng)站。

http://www.caps-entreprise.com.cn/many-core/product-hmpp-v3-1.html
posted @ 2012-10-21 11:21 jackdong 閱讀(260) | 評(píng)論 (0)編輯 收藏


在西雅圖超級(jí)計(jì)算大會(huì)(SC11)上發(fā)布了新的基于指令的加速器并行編程標(biāo)準(zhǔn),既OpenACC這個(gè)開發(fā)標(biāo)準(zhǔn)的目的是讓更多的編程人員可以用到GPU計(jì)算,同時(shí)計(jì)算結(jié)果可以跨加速器使用,甚至能用在多核CPU上
出于顯而易見的原因,NVIDIA在大力推廣和支持OpenACC。但事實(shí)上PGI和Cray才是最早推動(dòng)這項(xiàng)技術(shù)商業(yè)化的公司。PGI已經(jīng)推出了一組非常類似的加速器指令,目前也成為了OpenACC標(biāo)準(zhǔn)的基礎(chǔ)部分之一。Cray公司正在開發(fā)自己的OpenACC編譯器,并且他的XK6客戶如橡樹嶺國(guó)家實(shí)驗(yàn)室和瑞士國(guó)家超級(jí)計(jì)算機(jī)中心,預(yù)計(jì)將成為該技術(shù)的第一批超級(jí)計(jì)算機(jī)用戶。
簡(jiǎn)而言之,OpenACC指令與OpenMP指令工作方式很類似,但前者特別適用于高度數(shù)據(jù)并行代碼。它們可插入標(biāo)準(zhǔn)的C,C + +和Fortran程序直接指導(dǎo)編譯器進(jìn)行某些代碼段的并行。編譯器會(huì)特別注意數(shù)據(jù)在CPU和GPU(或其他)之間來回轉(zhuǎn)移的邏輯關(guān)系,并將計(jì)算映射到適當(dāng)?shù)奶幚砥魃稀?/font>
這樣,開發(fā)人員就可以在現(xiàn)存的或者新的代碼上做相對(duì)小的改動(dòng)以標(biāo)示出加速并行區(qū)域。由于指令設(shè)計(jì)適用于一個(gè)通用并行處理器,這樣相同的代碼可以運(yùn)行在多核CPU、GPU或任何編譯器支持的其他類型的并行硬件上。這種硬件的獨(dú)立性對(duì)于HPC的用戶來說特別重要,因?yàn)樗麄儾辉敢饨邮苣欠N受供應(yīng)商限制的,非便攜式編程環(huán)境。
站在NVIDIA的角度,目標(biāo)就是將GPU計(jì)算帶入后CUDA時(shí)代。今天,CUDA C和CUDA Fortran廣泛用于GPU編程。但是這個(gè)底層技術(shù)屬于NVIDIA,對(duì)于GPU計(jì)算提供了一個(gè)相對(duì)低階的軟件模型,因此想較于對(duì)一般編程人員或者研究人員,CUDA的使用對(duì)于計(jì)算科學(xué)類型而言受限制程度越來越明顯
受NVIDIA、AMD等支持的OpenCL同樣也提供了GPU和其他加速器的并行編程框架。與CUDA不一樣的是,OpenCL是個(gè)真正開放的標(biāo)準(zhǔn)。 但與CUDA相似的是,OpenCL相對(duì)底層,需要對(duì)目標(biāo)處理器的內(nèi)部結(jié)構(gòu)有一定了解。因此與CUDA一樣,使用OpenCL對(duì)于計(jì)算機(jī)科學(xué)家來說有很大的局限性。  
NVIDIA公司估計(jì)這個(gè)星球上有超過10萬的CUDA程序員和比較多的的OpenCL開發(fā)人員,但他們也意識(shí)到如果能夠使GPU編程更加開放且開發(fā)界面更加友好,就會(huì)有一個(gè)更大的潛在觀眾。從本質(zhì)上講,他們認(rèn)為OpenACC將能夠被數(shù)以百萬計(jì)的科學(xué)家和研究人員使用,這些人不需要關(guān)心和涉足處理器架構(gòu),也不需要關(guān)心芯片與芯片之間通信
NVIDIA的Tesla業(yè)務(wù)部門的首席技術(shù)官Steve Scott總結(jié)了OpenACC目標(biāo):“我們確實(shí)想在這一點(diǎn)上做到大幅提高適用性和人們利用GPU的廣度和深度。”
Scott表示作為高層OpenACC不會(huì)影響執(zhí)行性能。這來自于他以前在Cray公司做首席技術(shù)官的經(jīng)驗(yàn),他遇到了基于加速器的指令代碼只比手工CUDA編碼的性能低5%到10%而已。據(jù)他介紹,這是相當(dāng)?shù)湫偷摹cott說,有些應(yīng)用程序甚至做的比他們用CUDA編程要好,這受益于編譯器在對(duì)某些代碼進(jìn)行優(yōu)化的能力超越了凡人。在任何情況下,OpenACC的目的是要利用CUDA進(jìn)行互操作,因此如果需要的話,可以手工調(diào)整內(nèi)核,并與指令代碼做無縫連接。
除了PGI和Cray公司,法國(guó)的多核軟件工具的開發(fā)者CAPS公司,也簽署了協(xié)議支持新的指令。這三家廠商預(yù)計(jì)在2012年上半年推出支持OpenACC的編譯器。值得注意的是OpenACC支持者列表中缺少了英特爾和AMD,不過這也不會(huì)阻止PGI、CAPS或者Cray建立支持英特爾和AMD硬件的OpenACC編譯器。
PGI和NVIDIA目前向開發(fā)人員推出了30天免費(fèi)試用PGI的加速指令編譯器。活動(dòng)宣傳說可以在四周之內(nèi)將應(yīng)用性能翻倍。上百位研究人員已經(jīng)注冊(cè)了申請(qǐng)?jiān)囉茫?/font>
不過對(duì)于OpenACC的支持者來說真正終結(jié)這場(chǎng)游戲的是將指令納入到OpenMP標(biāo)準(zhǔn)。因?yàn)镺penACC的一部分工作來源于OpenMP,所以就意味著這件事情發(fā)生的可能性很高,不過目前沒有時(shí)間表,但最有可能結(jié)合的時(shí)間是在2012年某時(shí)OpenMP 4.0發(fā)布的時(shí)候。
posted @ 2012-10-21 11:11 jackdong 閱讀(1600) | 評(píng)論 (0)編輯 收藏

WIN8  注冊(cè) 卸載dll
報(bào)錯(cuò):

模塊"xxxx.dll"已加載,但對(duì)DllRegisterServer的調(diào)用失敗,錯(cuò)誤代碼為 XXXXXXXXX

解決方法:

若為安裝,首先要保證XXX.dll在system32中,或者給出DLL的完整路徑。

運(yùn)行  輸入 cmd  會(huì)顯示cmd.exe 右鍵  “以管理員身份運(yùn)行” 注冊(cè)dll

 

在cmd界面:

輸入  regsvr32  %systemroot%/system32/XXX.ocx (XXX.dll) 回車

 

卸載控件:
 
在cmd界面:
輸入 regsvr32 /u  ****.dll   回車
輸入 regsvr32 /u  ****.ocx  回車
posted @ 2012-10-20 16:39 jackdong 閱讀(3510) | 評(píng)論 (0)編輯 收藏

僅列出標(biāo)題
共10頁(yè): First 2 3 4 5 6 7 8 9 10 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            老牛嫩草一区二区三区日本| 一区二区三区色| 亚洲国内欧美| 国内免费精品永久在线视频| 亚洲视频综合在线| 亚洲天堂激情| 欧美日韩国产bt| 亚洲免费观看| 亚洲女同在线| 国产日韩精品一区二区| 亚洲欧美视频一区| 久久久久国产精品一区三寸 | 一本色道久久综合精品竹菊 | 国产在线精品成人一区二区三区 | 欧美日韩精品一区二区| 亚洲免费观看在线视频| 在线亚洲自拍| 欧美午夜宅男影院| 一区二区欧美日韩| 欧美一区二区三区男人的天堂 | 欧美日韩1区| 日韩视频在线你懂得| 中文一区在线| 国产精品免费小视频| 亚洲欧美中文日韩v在线观看| 久久超碰97中文字幕| 精品动漫3d一区二区三区| 久久综合色88| 91久久在线| 亚洲影院免费观看| 国产欧美在线播放| 久久综合一区二区| 亚洲乱码国产乱码精品精| 午夜精品国产| 狠狠色狠狠色综合系列| 欧美福利电影网| av不卡在线观看| 久久久久九九九九| 一本色道88久久加勒比精品| 国模一区二区三区| 欧美大片免费观看| 99国产精品99久久久久久| 国产精品啊v在线| 亚洲女同性videos| 噜噜噜噜噜久久久久久91| 一区二区三区不卡视频在线观看| 国产精品久久久久久亚洲调教| 欧美在线视频在线播放完整版免费观看| 女同性一区二区三区人了人一| 中国女人久久久| 国产视频一区在线观看| 女人色偷偷aa久久天堂| 亚洲午夜精品一区二区三区他趣| 久久久www成人免费精品| 99re66热这里只有精品3直播| 国产日韩一区欧美| 欧美美女日韩| 久久久综合精品| 亚洲免费影视第一页| 亚洲国产导航| 久久精品国产99精品国产亚洲性色| 亚洲精品国产日韩| 国产一区二区三区在线免费观看| 欧美另类变人与禽xxxxx| 久久成人亚洲| 亚洲午夜精品久久久久久浪潮| 亚洲大片av| 久久午夜电影| 午夜在线a亚洲v天堂网2018| 日韩亚洲精品视频| 尤物精品在线| 国产一区二区三区丝袜| 国产精品腿扒开做爽爽爽挤奶网站| 欧美极品欧美精品欧美视频| 久久国产日韩| 午夜精品一区二区三区四区| 一区二区三区欧美| 日韩视频在线观看| 亚洲欧洲日产国码二区| 欧美福利视频在线| 久久三级视频| 欧美在线free| 香蕉久久一区二区不卡无毒影院| 亚洲一区二区三区精品在线| 99re热这里只有精品视频| 亚洲欧洲在线播放| 最新日韩在线| 亚洲国产成人精品女人久久久| 一区二区三区在线免费视频| 国产日韩欧美二区| 国产日韩欧美中文| 国产亚洲精品一区二555| 国产欧美日韩不卡| 国产人妖伪娘一区91| 国产欧美一区二区精品婷婷| 国产日韩综合一区二区性色av| 国产欧美va欧美不卡在线| 国产美女诱惑一区二区| 国产精品综合色区在线观看| 国产精品亚发布| 国产精品午夜视频| 国产九色精品成人porny| 国产欧美亚洲精品| 狠狠v欧美v日韩v亚洲ⅴ| **性色生活片久久毛片| 黑人一区二区| 亚洲人成小说网站色在线| 99综合在线| 亚洲综合日韩在线| 欧美在线不卡视频| 久久综合给合| 亚洲电影观看| 一区二区电影免费在线观看| 亚洲免费综合| 久久免费偷拍视频| 欧美激情精品久久久久久蜜臀 | 美女爽到呻吟久久久久| 麻豆国产精品va在线观看不卡 | 亚洲在线不卡| 欧美一区二区精品久久911| 午夜欧美理论片| 久久精品九九| 欧美黄色免费| 欧美视频中文在线看| 国产日产亚洲精品| 一区二区三区在线免费观看| 亚洲欧洲精品天堂一级| 99精品视频免费| 亚洲在线视频免费观看| 欧美一区二区三区在线播放| 欧美自拍偷拍| 欧美成人激情视频| 99视频有精品| 欧美专区亚洲专区| 欧美a级片网| 国产精品成人播放| 黄色成人在线观看| 一本久道久久久| 久久精精品视频| 亚洲精品日韩久久| 久久本道综合色狠狠五月| 欧美成人一区在线| 国产手机视频一区二区| 亚洲精品国产精品国自产在线| 欧美一区91| 欧美激情一区二区三区蜜桃视频| 亚洲一区二区三区午夜| 欧美va天堂在线| 国产日韩精品视频一区二区三区| 99国产精品久久久久久久| 一区二区免费在线观看| 久久狠狠久久综合桃花| 亚洲第一黄色| 亚洲欧美激情视频| 老司机午夜精品视频| 国产精品va在线| 亚洲黄色高清| 欧美中文字幕| 亚洲精品一区中文| 久久久久久午夜| 国产精品免费电影| 亚洲精品中文字幕在线观看| 久久精品成人一区二区三区| 99国产精品久久久久老师 | 一区二区三区高清在线| 免费欧美日韩| 狠狠色综合色综合网络| 亚洲一区二区视频在线| 欧美激情无毛| 久久久精品999| 国产精品自拍小视频| 亚洲深夜福利视频| 欧美成人蜜桃| 久久蜜桃精品| 国产精品亚洲人在线观看| 在线综合亚洲欧美在线视频| 亚洲第一天堂av| 久久久精品日韩欧美| 国产区亚洲区欧美区| 午夜精品免费| 中文国产一区| 欧美日韩影院| 一区二区三区你懂的| 亚洲激情二区| 牛夜精品久久久久久久99黑人| 在线观看三级视频欧美| 久久免费视频这里只有精品| 午夜精品久久久久久久男人的天堂| 国产精品国产福利国产秒拍| 这里只有精品电影| 亚洲免费激情| 欧美日韩在线一区二区三区| 日韩视频永久免费观看| 欧美华人在线视频| 欧美成人一区二区三区在线观看| 亚洲精品久久7777| 亚洲激情视频在线播放| 欧美aaa级| 洋洋av久久久久久久一区| 亚洲精品激情|