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

C++ Coder

HCP高性能計算架構,實現,編譯器指令優化,算法優化, LLVM CLANG OpenCL CUDA OpenACC C++AMP OpenMP MPI

C++博客 首頁 新隨筆 聯系 聚合 管理
  98 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

#

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

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

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

 

2、大家有沒有覺得時間及時不大對呀?

呵呵,這個是真的。在lab中,將

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

改為

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

,實際上就是一個數量級的問題。

為了不改變CAPS HMPP labs的原有結構,后面的講解中將重新搭建項目。希望大家關注奧。。微笑



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

CAPS OpenACC網絡培訓班8月起免費開班,每周四下午3點,可以去看看奧。奮斗

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

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

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

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

幾個很簡單的步驟奧:

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

網站上提供的是最新的64位的Linux版本,

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


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

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

這樣做是為了兼容Ubuntu

$hmpp --licenses

會出現一些信息,你只要把這些信息發送到apac-support@caps-entreprise.com 就可以了,CAPS會在幾個工作日內把License發給你。(這個是人工審核的,如果你幸運的話,只需要幾個小時就可以了,相信我沒錯的?。?/p>


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

你會看到你可以使用的內容了。


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

先用這個編譯:

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

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

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

1、  什么是HMPP

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

    使用HMPP可以有幾個好處:

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

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

    ③ 使用HMPP,你只需要幾句指令你的程序就可以移植了,再也不用學習什么CUDA、OpenCL、Cg之類的東西了。給大家減輕了負擔。

2、  如何獲得HMPP

    需要到CAPS的官方網站去登記(http://www.caps-entreprise.com.cn/download/hmpp-openacc-compiler這個網站將主要用于亞洲用戶的下載),然后才可以下載HMPP編譯器,目前最新的版本是3.1,這個版本只有支持Linux 64位的版本,支持Windows的版本將在晚些時候發布。新的版本加入對OpenACC1.0標準的全部支持??梢酝瑫r使用HMPP以及OpenACC的指令,當然我們需要滿足一定的規則。這些規則將會在我后續的文章中逐漸講到。期待大家的關注奧。

3、如何安裝HMPP

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

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

4、如何使用HMPP

    因為HMPP不會把語言編譯的所有活都干完,他需要你有額外的編譯器。所以在windows下你最好有Visual Studio,并且推薦VS2008VS9.0)。Fortran語言的話在Windows下推薦使用Intel FORTRAN Compiler

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

          編譯環境的配置過程!

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

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

 

 

圖4-1

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

 

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

 

 Step4 添加自定義生成規則搭建所需環境。如圖4-2到圖4-6所示。

 

 

圖4-2

 

 

圖4-3

 

 

圖4-4

 

 

圖4-5

 

 

圖4-6

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

       編譯權限的配置過程! 

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

Step2 按照圖4-7打開控制臺,按照圖4-8所示執行命令。千萬注意,一定不要在需要使用HMPP編譯時關閉你剛剛打開的控制臺。 

完成上面這兩大部分之后,就可以編譯執行第一個HMPP編譯出的程序了?。D4-9展示了執行結果。

 

 

 

圖4-7

 

 

圖4-8

 

 

圖4-9

      

參考文獻:

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


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

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

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

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

第二步:打開VS2010,新建一個Win32控制臺應用程序(英文是Win32ConsoleApplication)。

clip_image002

圖1 新建Win32控制臺程序

確定后,在向導中選擇空項目:

clip_image004

圖2 空項目

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

clip_image006

圖3 添加CU文件

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

右擊項目,選擇“自定義生成”,會跳出圖4框,如圖所示操作。

clip_image008

圖4選擇自定義生成規則

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

clip_image010

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

clip_image012

圖6 應用后的結果

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

clip_image014

圖7 添加附加依賴項

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

#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生成結果

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

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

clip_image018

Lenna原圖

clip_image020

Lenna銳化結果

 

很需要的額外的兩步:

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

二、在菜單欄中選擇“工具”->“選項”。然后按照圖示操作就行了。操作完后,記得重啟VS2010。

clip_image022

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

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

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

     例如,下面一個簡單的循環:

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

 

如果你想把這個循環放到GPU上,讓每個線程計算一次i的話,可以這樣做:

#pragma acc kernels

 

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

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

 內核(kernel)

    在OpenACC里可以這樣理解內核:內核就是在協處理器(例如GPU)上被多個線程同時執行的一段代碼。如果每個線程都做一個活,豈不是沒意思了么?當然不是這樣的,他們執行的代碼是一樣的,但是每個線程可以根據自己的ID號來針對不同的數據做同樣的工作,這也就是數據并行的含義。

 

codelet

    使用CAPS的HMPP Workbench編譯加了OpenACC指導語句的源代碼時,編譯器會告訴你codelet產生了。實際上產生了一個CUDA或者OpenCL的源文件,這個源文件中包含了根據你的指導語句生成的CUDA或者OpenCL的源代碼。那什么是codelet呢?可以認為codelet就是數據管理+內核。一個codelet要干的事情包括兩部分:申請和管理CPU和協處理器之間的存儲,還有就是啟動在協處理上執行的代碼。

 

work-sharing

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

 

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

在這段代碼中,a[i]的計算與a[i]之外的a的元素沒有依賴性,所以,每次循環的i可以使獨立的完成的,像這樣的狀態就是work-sharing的。還有例如規約,

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

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

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

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

下面是官方的中文網站。

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


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

WIN8  注冊 卸載dll
報錯:

模塊"xxxx.dll"已加載,但對DllRegisterServer的調用失敗,錯誤代碼為 XXXXXXXXX

解決方法:

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

運行  輸入 cmd  會顯示cmd.exe 右鍵  “以管理員身份運行” 注冊dll

 

在cmd界面:

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

 

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

僅列出標題
共10頁: 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>
            国内成+人亚洲| 西西人体一区二区| 久久精品亚洲国产奇米99| 国产精品日韩精品| 午夜精品久久久| 亚洲一区国产一区| 一区二区三区精密机械公司 | 尤物99国产成人精品视频| 国产精品久久9| 国产精品影音先锋| 亚洲国产精品一区二区第四页av| 国产午夜精品久久久久久久| 国产日韩av一区二区| 国产偷国产偷亚洲高清97cao| 国产欧美丝祙| 亚洲国产精品高清久久久| 亚洲卡通欧美制服中文| 亚洲国产三级网| 一本不卡影院| 亚洲综合视频一区| 母乳一区在线观看| 欧美精品成人91久久久久久久| 欧美视频三区在线播放| 国产欧美日本| 亚洲国产老妈| 久久久久久69| 这里只有视频精品| 蜜臀av一级做a爰片久久| 欧美激情网友自拍| 国产精品视频导航| 亚洲日本成人在线观看| 香蕉久久夜色精品国产| 亚洲国产精品www| 亚洲精选91| 免费看的黄色欧美网站| 国产精品日韩欧美一区二区三区 | 久久裸体艺术| 一区二区三区免费网站| 久久嫩草精品久久久精品一| 国产精品日韩一区二区三区| 亚洲精品1区| 亚洲福利在线视频| 欧美不卡在线视频| 在线欧美一区| 欧美高清不卡在线| 久久夜精品va视频免费观看| 国产在线播放一区二区三区| 欧美一区二区视频97| 亚洲深夜福利视频| 国产精品激情| 欧美尤物巨大精品爽| 亚洲欧美春色| 在线观看福利一区| 亚洲无限av看| 日韩视频永久免费| 国产精品嫩草影院一区二区| 欧美综合77777色婷婷| 久久精品99国产精品日本| 影音先锋中文字幕一区| 亚洲麻豆一区| 欧美在线一区二区| 在线精品视频在线观看高清| 欧美成人久久| 国产精品午夜在线| 亚洲福利视频网| 国产精品a久久久久| 欧美一级网站| 欧美精品一区二区蜜臀亚洲| 欧美一区二区三区视频在线观看| 久久这里只有精品视频首页| 亚洲午夜在线观看视频在线| 久久精品国产亚洲aⅴ| 亚洲欧美视频在线观看视频| 欧美日本簧片| 亚洲精品国产品国语在线app| 国产日本欧美视频| 亚洲视频在线观看| 性久久久久久| 韩国欧美一区| 欧美专区在线观看一区| 久久久久9999亚洲精品| 久久野战av| 一本色道久久综合亚洲精品按摩 | 在线一区二区日韩| 99在线|亚洲一区二区| 久久九九热免费视频| 香蕉久久a毛片| 久久在线免费观看视频| 亚久久调教视频| 亚洲国产精品va在看黑人| 欧美激情第一页xxx| 国产精品高清网站| 亚洲激情中文1区| 在线国产日韩| 欧美一区观看| 久久久久五月天| 久久蜜桃av一区精品变态类天堂| 欧美新色视频| 欧美成人四级电影| 伊人春色精品| 久久亚洲精品一区二区| 久久精品一级爱片| 国产精品久久网| 亚洲精品久久嫩草网站秘色| 在线免费观看日本一区| 欧美有码视频| 久久久久久网| 亚洲视频在线观看三级| 99热免费精品在线观看| 久久riav二区三区| 久色成人在线| 一区二区视频欧美| 最新日韩在线视频| 一本大道久久a久久综合婷婷| 欧美日韩一区国产| 久久黄色级2电影| 免费在线日韩av| 亚洲午夜久久久久久久久电影网| 欧美日韩国产免费| 欧美一区2区三区4区公司二百| 久久人人爽国产| 欧美日韩精品久久| 香港久久久电影| 亚洲国产精品va| 国产九九精品| 模特精品在线| 在线一区二区视频| 老司机精品视频网站| 欧美日韩另类在线| 午夜精品久久久久久99热软件| 欧美精品一区二区三区在线播放| 99精品福利视频| 亚洲日韩中文字幕在线播放| 久久久精品性| 亚洲成色777777女色窝| 久久久久久久久久久久久久一区 | 欧美性感一类影片在线播放| 亚洲综合成人婷婷小说| 日韩午夜激情av| 久久免费少妇高潮久久精品99| 精品盗摄一区二区三区| 国产精品高清免费在线观看| 欧美剧在线免费观看网站| 亚洲一区在线观看免费观看电影高清| 亚洲剧情一区二区| 亚洲精品在线观看免费| 久久精品国产一区二区三区免费看| 欧美三级小说| 欧美午夜不卡视频| 欧美一区日韩一区| 欧美在线免费看| 亚洲欧美一区二区激情| 在线中文字幕一区| 亚洲在线一区| 久久精品导航| 久久久久国产精品www| 欧美日本一道本| 国产精品毛片| 欧美日韩国产在线播放| 国产精品无码永久免费888| 蜜桃久久av一区| 国产精品卡一卡二卡三| 在线精品国精品国产尤物884a| 一区二区高清视频| 国产日韩一区二区三区| 欧美黄色免费网站| 国产一区二区三区久久 | 欧美日韩亚洲一区在线观看| 欧美日韩一区在线观看视频| 国产一区二区三区电影在线观看| 在线日韩精品视频| 午夜久久久久| 一区二区三区高清| 蜜臀a∨国产成人精品| 欧美手机在线| 中文网丁香综合网| 欧美a一区二区| 久久国内精品自在自线400部| 国产精品视频一区二区高潮| 亚洲图片在区色| 欧美一二三视频| 亚洲精品久久嫩草网站秘色| 亚洲欧美久久久久一区二区三区| 欧美日本亚洲视频| 亚洲午夜激情网页| 亚洲天堂久久| 国产精品理论片| 久热精品在线视频| 久久久.com| 亚洲国产视频a| 亚洲精品极品| 欧美天天在线| 校园春色综合网| 久久综合五月| 久久婷婷国产综合国色天香| 国产一区二区三区四区老人| 欧美成人综合网站| 欧美日韩一区二区三区在线| 欧美在线二区| 欧美老女人xx|