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

    基于多GPU的大型線性和非線性方程組的求解

    2011-05-05 22:55:32沙1鐘誠(chéng)文1陳效鵬3
    關(guān)鍵詞:葉柵計(jì)算中心西北工業(yè)大學(xué)

    劉 沙1 鐘誠(chéng)文1,2 陳效鵬3

    (1.西北工業(yè)大學(xué)翼型葉柵空氣動(dòng)力學(xué)國(guó)防科技重點(diǎn)實(shí)驗(yàn)室,西安,710072,中國(guó);2.西北工業(yè)大學(xué)高性能計(jì)算中心,西安,710072,中國(guó);3.西北工業(yè)大學(xué)力學(xué)與土木工程學(xué)院,西安,710072,中國(guó))

    INTRODUCTION

    Mathematical modeling of engineering problems often leads to systems of linear or nonlinear equations.The solution of such resulting equations utilizing numerical tools via digital computational devices is usually of very time-consuming,because most real-world engineering applications are often of extremely large size for computation.In this paper,with the Inexact Newton method and the preconditioned bi-conjugate gradient stable(PBi-CGstab)method,linear and nonlinear solvers based on muti graphic processunits(GPUs)are proposed for large scale problems.

    General purpose GPU(GPGPU)technique denotes the implementation of general purpose computing by using programmable GPUs[1].It has been widely applied in many computational areas owing to its more powerful floating calculation abilities and wider bandwidth compared with the traditional CPU[2-3].Furthermore,the inherent single-instruction-multiple-data (SIMD)mechanism for GPGPU operation renders this technique suitable for massively loaded calculations.

    A serial of GPU-based linear algebra operations were proposed by Krüger et al in 2003[4].T he first GPU-based conjugate gradient solver for unstructured matrices was proposed by Bolz et al[5].Buatois et al proposed a general sparse linear solver using CG method in 2 0 0 9[6].Cevahir et al developed a fast CG based on GPUs with some novel optimization techniques[7].These articles show great speedup ratio of GPU to CPU.

    In early work,Zhong and Liu proposed a fast solver which has a great speedup ratio about 30 on single GPU[8].In this paper,multi-GPUs are used to obtain more data storage space that large size problems need.In the case of linear solver,the Bi-CGstab method can afford to solve the sys-tem of linear equations with non-symmetric matrix which cannot be solved by the CG method.A better convergence of the method is achieved by using the precondition strategy.For the nonlinear solver,Inexact Newton method is utilized.T he grid generation project in computational fluid dynamics is used to test the practicability of linear and nonlinear solvers,in which systems of linear and nonlinear equations are solved in order to obtain the coordinates of grid nodes.

    1 COMPUTE UNIFIED DEVICE ARCHITECTURE

    The compute unified device architecture(CUDA)[9]is a GPU architecture manufactured by NVIDIA.CUDA GPU contains a number of SIMD multiprocessors. Each multiuprocessor contains its own shared memory,read-only constant,and texture caches that are accessible by all processors on the multiprocessor.GPU has a device memory which is accessible by all multiprocessors.

    CUDA GPU devices run a high number of threads in parallel.Threads are grouped together as thread blocks.Each block of threads is executed on the same multiprocessor and can communicate through fast shared memory.

    Threads in different blocks can communicate only through device memory.Access to the device memory is very slow compared with the shared memory.Device memory accesses should be as refrained as possible,and these accesses should be coalesced to attain high performance.Coalescing is possible if the threads access consecutive memory addresses of 4,8 or 16 bytes and the base address for such a coalesced access should be multiple of 16(half warp[9])times size of the aforementioned memory types accessed by each thread.

    2 SYNCHRONIZATION

    Using Win64 API,a thread is created for each GPU on board in the program.Each thread manages the data input and output of GPU,and calls the GPU kernel functions and synchronizes with other threads.When creating and ending threads,CUDA codes"cutStartT hread"and"cutWaitForThreads"based on Win64 API can also be used for simplification.

    T he multi-GPUs solver works as this pattern:Firstly,CPU distributes data and tasks to GPUs;T hen,set barriers to GPU managing threads.A GPU managing thread to run in front of its barrier means that its GPU has finished computational work,renewed its own data on device memory along with its host memory counterpart,and now,it is waiting for the data needed to be renewed by other GPUs.When all threads have run in front of their barriers,the barriers are released,then,each GPU obtains renewed data that they want and continues to work.The whole process consisting of setting and releasing barriers is one time of synchronization.

    In this paper,the semaphores are used to manage the synchronization among threads.The synchronization process is shown in Fig.1.Define an array of semaphores(Sem[GPU-NUM])for GPU managing threads with initial value 0 and activation value GPU-NUM:

    HANDLE Sem[GPU-NUM];

    Sem[device-num]= CreateSemaphore(NULL,0,GPU-NUM,NULL)

    When a thread reaches barrier, its semaphore is activated by adding GPU-NUM to initial value 0:

    ReleaseSemaphore (Sem [device-num],GPU-NUM,NULL)

    T hen the thread waits for the activation of semaphores corresponding to other threads:

    WaitForMultipleObjiect(GPU-NUM,Sem,true,INFINIT E)

    T he first parameter of this function is the number of semaphores.The second parameter is"Sem",the first word address of semaphores.T he third parameter is set"true",it means the function cannot return until all semaphores are activated.T he fourth parameter is the maximum waiting time,which is set to"INFINIT E"to insure the logic correctness of multi-GPUs solvers.When the demand of this function is fulfilled,the synchronization process is finished.

    Fig.1 Threads controlling muti-GPUs and their synchronization

    3 LINEAR SOLVER

    3.1 PBi-CGstab method

    Bi-CGStab is an iterative algorithm for solving a large,sparse,non-symmetric system of linear equations Ax=f.The method attempts to find approximate solutions in Krylov subspaces[10]appropriately generated by A and initial residual r0=f-Ax0.Bi-CGstab combines the advantages of both the Bi-CG and the general minimal residual(GMRES)methods[11],which basically follows the Bi-CG procedure while the residual is minimized in each step by using the GMRES method.The Bi-CG converges fastly but exhibits somehow numerical instability.T he main goal of Bi-CGstab is to retain,in attempt to keep the fast rate of convergence,the coefficients resulted from the Bi-CG method while improving the numerical stability by absorbing the GMRES advantage in its numerical stability.As demonstrated in Ref.[12],the Bi-CGstab method has achieved both fast convergence and numerical stability.

    The idea of preconditioning for a system of linear equations is elementary:Precondition of the system for any non-singular matrix M means to pre-multiply both sides by the inverse of the matrix M(the left preconditioning matrix is precise),i.e.,M-1Ax=M-1f,which delivers a system with the same solution.The convergence of the iterative solution of M-1Ax=M-1f depends on the properties of M-1A instead of A.The preconditioner should be chosen in orderthat M-1Ax=M-1f may be solved more rapidly than Ax=f.In this paper,the Jacobi preconditioner is chosen for convenience of parallel computing[13].T he process of PBi-CGstab method is shown as follows:

    3.2 Data blocking on multi-GPUs

    T he data is blocked and the blocking information is recorded in multi-GPUs solvers as shown in Fig.2.The functions of threads managing GPUs allow transmitting only one parameter.So the blocking information is stored in an architecture body named Solverplan:

    Fig.2 Packed matrix and vector blocking process

    T he thread can use the information that"Solverplan"provides to exchange data with other threads.In the solver,a vector A stored in blocks is defined like this

    So"array d-vectorA[n]"is the nth partition of vector A.The thread function is coded carefully to ensure it can be called by all GPU-managing threads.Defining vector in such a manner will fit the generality of the thread function.T he more complex matrix blocking will be presented in Section 4.2 along with matrix generation.

    3.3 Linear solver on multi-GPUs

    The aforementioned thread function that can be applied to all GPU-managing threads is the core algorithm of the solvers.This paper presents the detail of it for the linear solver.Fig.3 shows the process of thread function called by the nth thread.

    InFig.3,d-f[n],d-r[n],d-r 0[n],d-p[n],d-v[n],d-t[n],d-s[n]are the nth partition of vectors f,r,r0,p,Ap*,As*,and s.They are stored in the nth GPU.Their lengths are all equal to plan[n].dataN shown in Fig.2.Part algorithm of kernel function of product of y=Ax is shown as follows:

    Fig.3 PBi-CGstab on GPUs

    In the above algorithm,the vectors x,p*,s*are needed by matrix-vector multiply,so theyare stored in entire lengths without blocking.But they are updated on the nth GPU only the nth partition.So,when they need to be updated,all threads should be synchronized.Then the data of updated partition can be exchanged.temp[n],temp2[n]and roub[n]are used to save the dot products of the nth partition of vectors temporarily.sum-temp,sum-temp2and sum-roub are the summation of them.Before calculate sum-temp,sum-temp2 and sum-roub,threads need to be synchronized.T here are five synchronization barriers in thread function shown in Fig.3.

    There are three kinds of kernels(functions processing on GPU)which can be called by all thread functions in the solver.These kernels named MVP,IP,VSP are utilized to do the four matrix-vector products,four inner products,six vector summations shown in Fig.3.When thread functions calling kernels,the elements of Solverplan are transferred to them in order to specify which part of data they are dealing with.

    4 NONLINEAR SOLVER

    4.1 Inexact Newton method

    In practice,a system of nonlinear equations should first be linearized,and then,iteration methods are employed to seek the solutions of the set of linearized equations.T hislinearization strategy is widely used in engineering applications for its proved effectiveness and usefulness[14-16].The Newton method serves as basis of the linearization approaches.T he procedure of Newton iteration method is as follows.

    For a set of nonlinear equations

    where f=(f1,f2,…,fn)T,x=(ξ1,ξ2,…,ξn)T.Its tensor form is fi(ξ1,ξ2,…,ξn)=0(i=1,2,3,…,n).T he equations can be expanded at xk(value of x at kth iteration step)using the T aylor′s series,and only the 1st order terms of the series are retained

    T he solution of the system of linearized equations,xk+1,is sought in an iterative manner as follows

    where xk+1is the new solution vector of the system of nonlinear equations.The vector x is updated using Eq.(4)until the convergence is satisfactory.

    It is computationally expensive to obtain the accurate solution of the system of linear equations since the number of variables is usually fairly large in practical engineering applications.The solution of the system of linear equations resulted from the Newton method is only an intermediate step of the entire process for solving a system of nonlinear equations.Therefore,one might not always seek an accurate solution of the system of linear equations intermediately encountered.This leads to the Inexact Newton method practically sharing the same form of the original Newton method.T he Inexact Newton method has been routinely used in many engineering applications.As reported in Refs.[17-19],the Inexact Newton method can achieve a satisfactory balance between the solution accuracy of the system of linear equations and the computational cost incurred by the solution process,thus eventually yielding the solution of the system of nonlinear equations to a satisfactory degree of accuracy.

    4.2 Nonlinear solver based on multi-GPUs

    In engineering application problems,after linearizating,the resultant coefficient matrix is usually a sparse matrix that needs a formatted storage forstorage efficiency. Such process should be mapped to GPUs.

    Almost every nonlinear function fi(x)in the system of nonlinear equations f(x)=0 has the same form in engineering applications.For example,when using the finite difference method for solving nonlinear partial differential equations,each fi(x)is a polynomial and all of fi(x)s share an identical structure,except a limited number of fi(x)that describe the boundary conditions.T herefore,when the program deals with the generation and the formatted storage of the coefficient matrix,only a few branch predictions are required.It becomes obvious that the processes used for generation and formatted storage of the coefficient matrix ideally fit the mechanism of SIMD of GPU.

    The generation and formatted storage of a n*n matrix is carried out through n threads divided by several GPUs.Each row of the matrix corresponds to a thread.The non-zero elements in a row are counted,and then such non-zero values are sequentially placed into the matrix for formatted storage use.

    The formatted storage matrix owns the same number of rows as the original coefficient matrix.The number of columns of the formatted storage matrix is set equal to the non-zero element number of the row which has the most non-zero elements.Hence,some zero-elements might remain in the formatted storage matrix.T his arrangement facilitates all threads in the SIMD mechanism of GPUs by providing threads of GPUs with an identical addressing pattern.It can be noted that,in most cases,the loss of computational resources because the space used for storage of zero-elements is of minor nature.

    Since the multiplication of matrix and vector is involved in the computation,the column-wise storage appears more advantageous for coalescing to attain high performance[9,20],which leads to the formatted matrix eventually stored in the form of a vector.In this work,all non-zeros in the matrix are shifted to the left.Nonzero values of the compressed matrix are stored in an array in column order.Corresponding column indices of each nonzero in the original matrix are written in another array.Fig.4 depicts a formatting example with col-ind standing for column indices and the two arrays are divided into three parts stored on different GPUs.

    A core part of kernel function of matrix-vector product y[n]=A[n]x[n]for a sub-matrix of A with plan[device-num].dataN rows and m columns are shown in the algorithm in Section 3.3,which is needed in the PBi-CGstab method.After the coefficient matrix A is generated,PBi-CGstab method based linear solver is used to solve the system of linear equations.And then generate the matrix again,keep doing this until achieving convergence.

    5 EXPERIMENT

    5.1 Computation platform

    In this paper,Intel(R)Xeon(R)E5520 2.27 GHz CPU is chosen.DRAM is 12 GB.Four chips of NVIDIA QUADRO FX 3700 graphic card,with video memory of 512 MB,core frequency of 500 MHz, are chosen and driver version is 6.14.11.9038.OS is Windows Server 2003 X64.Statistics is done based on different number of GPUs for comparison use.

    5.2 Experiment and data analysis

    In this paper the grid generation project[21-23]in computational fluid dynamics is used to test the practicability of linear and nonlinear solvers.A NACA0012 airfoil is utilized in the numerical experiment in Fig.5.T he speed up ratio in different scales is tested.Using same solvers,an O-type grid is generated for a cross-section out of a F6 body-wing configuration with more industrial interests in Fig.6 to ensure the correctness of solvers.

    5.3 Linear solver

    Fig.5 Grids around NACA0012airfoil

    Fig.6 Grids around cross-section out of F6 body-wing

    T he average time cost of one iteration in linear solver versus the number of variables on one,two and four GPUs is shown in Fig.7.In this grid generation project,the coefficient matrix is non-symmetric with a maximum row length of nine elements.

    Fig.7 Time per step versus number of variables

    The factors impacting on one iteration time cost are mainly the data exchanging between the host memory(memory)and the device memory(video memory),the utilization ratio of GPU units and the consumption of synchronization.With the enlargement of scales the multiprocessors are given more data blocks and utilization ratio of GPU rises correspondingly.When there is sufficient computing time,the consumption of data exchanging and synchronization become insignificance.T he limitation scale of gird generation problem on one GPU is about 2 800 000,so the speed up ratios of multi-GPUs are calculated under this limitation . When scale is below 2 000 000,there are only a few GPU resources utilized for two GPUs and four GPUs cases,so the scale-dependent blocking process will induce some fluctuation in the speed up ratio calculations in Fig.8.For instance,when scale is 1 605 632,the speed up ratio is relatively low compared with the results of other scales.In spite of this fluctuation,the rising trend of speed up ratio is evident and the stable ratios are:Two GPUs speed up one GPU by 1.5 and four GPUs by 2.2 as shown in Fig.8.

    Fig.8 Linear solver speed up ratio of multi-GPUs to single-GPU

    5.4 Nonlinear solver

    In each iteration ofthe Inexact Newton method for nonlinear solver,the coefficient matrix is generated and a system of linear equations is solved.T ime consumptions of the two parts are compared in Fig.9:T he time cost of matrix generation and preconditioning time is 9%of the time of one loop of linear solving step.This test is specially taken on two NVIDIA T esla C1060 GPUs with lager video memory to illustrate the result of wild range of variable numbers.It also implies that Jacobi preconditioner fits the multi-GPUs solvers well.

    Fig.9 Time consumptions per linear solve step and matrix generation versus number of variables

    T he average time cost of one iteration in nonlinear solver versus the variable number on one,two and four GPUs is shown in Fig.10.Similar to the linear case,the speed up ratio rises with the enlargement of scales.The stable ratios are that two GPUs speed up one GPU by 1.6 and four GPUs by 2.5 as shown in Fig.11.

    Fig.10 Time per step versus number of variables

    Fig.11 Nonlinear solver speed up ratio of multi-GPUs to single-GPU

    6 CONCLUSION

    In this paper,multi-GPUs linear and nonlinear solvers using the PBi-CGstab method with Jacobipreconditionerand the InexactNewton method are proposed and computational fluid dynamics(CFD)grid is generated by the proposed methods.With multi-GPUs on board,engineering application problems with large scales are able to be solved.Multi-GPUs also provide excellent speed up to single-GPU.

    T his paper focuses on managing GPUs on single board.It also can be anticipated that using the Ethernet network connecting computers with multi-GPUs on board can achieve huge computing capability.And with the development of GPU chip and GPGPU technique,more optimized solvers can be proposed.

    [1] Luebke D,Mark H,Govidaraju N,et al.GPGPU:general-purpose computation on graphics hardware[C]∥Proceedings of the 2006 ACM/IEEE Conference on Supercomputing.New York,USA:Association forComputing Machinery,2006:10.114/1198555.1198765.

    [2] Liu Y Q,Liu X H,Wu E H.Real-time 3D fluid simulation on GPU with complex obstacles[J].Journal of Software,2006,17(3):568-576.

    [3] Zhou J F,Zhong C W,Xie J F,et al.Multiple-GPUs algorithm for lattice Boltzmann method[C]∥International Symposium on Information Science and Engineering.New York,USA:IEEE,2008:793-796.

    [4] Krüger J,Westermann R.Linear algebra operators for GPU implementation of numerical algorithms[J].ACM T ransactions on Graphics,2003,22(3):908-916.

    [5] Bolz J,Farmer I,Grinspun E,et al.Sparse matrix solvers on the GPU:conjugate gradients and multigrid[J].ACM Transactions on Graphics,2003,22(3):917-924.

    [6] Buatois L,Caumon G,Levy B.Concurrent number cruncher:a GPU implementation of a general sparse linear solver[J].International Journal of Parallel,Emergent and Distributed Systems,2009,24(3):205-223.

    [7] Cevahir A,Nukada A,Matsuoka S.Fast conjugate gradients with multiple GPUs[C]∥Computational Science, ICCS.Heidelberg,Germany:Springer,2009,5544:893-903.

    [8] Liu S,Zhong C W,Chen X P,et al.A GPU implementation of fast solver for large scale nonlinear e-quations[C]∥2010International Colloquium on Computing,Communication,Control,and Management. Hongkong, China: Intelligent Information T echnology Application Research Association,2010:23-26.

    [9] NVIDIA Corporation.NVIDIA CUDA compute unified device architecture programming guide[EB/OL].www.nvidia.com,2009.

    [10]Van der Vorst H A.A fast and smoothly converging variant of BI-CG for the solution of nonsymmetric linear systems[J].SIAM Journal on Scientific and Statistical Computing,1992,13(2):631-644.

    [11]Saad Y,Schultz M H.GMRES:a generalized minimal residual algorithm for solving nonsymmetric linear systems[J].SIAM Journal on Scientific and Statistical Computing,1986,7(3):856-869.

    [12]Sogabe T,Sugihara M,Zhang S L.An extension of the conjugate residual method to nonsymmetric linear systems[J].Journal of Computational and Applied M athematics,2009,226:103-113.

    [13]Mansfield L.Damped jacobi preconditioning and coarse grid deflation for conjugate gradient iteration on parallel computers[J].SIAM Journal on Scientific and Statistical Computing,1991,12(6):1314-1323.

    [14]Fokkema D R,Sleijpen G L G,Van der Vorst H A.Accelerated inexact Newton schemes for large systems of nonlinear equations[J].SIAM Journal on Scientific,1998,19(2):657-674.

    [15]Martí nez J M,Qi L.Inexact Newton methods for solving nonsmooth equations[J].Journal of Computational and Applied Mathematics,1995,60(1/2):127-145.

    [16]Kalashnykova N I,Kalashnikov V V,Franco A A.Inexact Newton algorithm to solve nonlinear complementarity problems[C]∥8th International Conference on Intelligent Systems Design and Applications,ISDA.T aiwan China:[s.n.],2008,3:67-71.

    [17]Elias R N,Coutinho A L G A,M artins M A D.Inexact Newton-type methods for non-linear problems arising from the SU PG/PSPG solution of steady incompressible navier-stokes equations[J].Journal of the Brazilian Society of Mechanical Sciences and Engineering,2004,26(3):330-339.

    [18]Rizzoli V,M astri F,Cecchetti C,et al.Fast and robust Inexact Newton approach to the harmonic-balance analysis of nonlinear microwave circuits[J].IEEE M icrowave and Guided Wave Letters,1997,7(10):359-361.

    [19]Hwang F N,Cai X C.A parallel nonlinear additive Schwarz preconditioned inexact Newton algorithm for incompressible Navier-Stokesequations[J].Journal of Computational Physics,2005,204(2):666-691.

    [20]Harris M.Optimizing parallel reduction in CUDA[EB/OL].http:∥www.nvidia.com,2007/2010-9.

    [21]Sorenson R L.A computer program to generate two-dimensional grids about airfoils and other shapes by the use of poisson′s equation[R].NASA TM 81198,1980.

    [22]Zhang Z,Tsai H M.Comparison of Eca′s method with Hilgenstock′s method in 2-D grid generation[C]∥10th ISGG Conference on Numerical Grid Generation.New York,USA:Curran Associates Inc.,2007:59-75.

    [23]T hompson J F,Weatherill N P.Aspects of numerical grid generation:current science and art[R].AIAA-93-3539-CP,1993.

    猜你喜歡
    葉柵計(jì)算中心西北工業(yè)大學(xué)
    中國(guó)—東盟人工智能計(jì)算中心正式發(fā)布
    亞聲速壓氣機(jī)平面葉柵及其改型的吹風(fēng)試驗(yàn)
    面向反應(yīng)堆設(shè)計(jì)的高性能計(jì)算中心建設(shè)及應(yīng)用
    騰訊云首個(gè)5G邊緣計(jì)算中心正式對(duì)外開放
    作品三
    作品一
    西北工業(yè)大學(xué)學(xué)報(bào)2016年第34卷總目次(總第157期~總第162期(2016年)
    西部最大規(guī)模云計(jì)算中心啟動(dòng)
    西北工業(yè)大學(xué)動(dòng)力與能源學(xué)院
    超音速透平葉柵造型設(shè)計(jì)及分析
    色精品久久人妻99蜜桃| 亚洲欧美日韩东京热| 99热精品在线国产| 中文字幕av在线有码专区| 亚洲一区二区三区不卡视频| 欧美日本视频| 亚洲午夜理论影院| 激情在线观看视频在线高清| 亚洲电影在线观看av| 国内精品美女久久久久久| 国产高清视频在线播放一区| 精品电影一区二区在线| 最好的美女福利视频网| av中文乱码字幕在线| 3wmmmm亚洲av在线观看| 色噜噜av男人的天堂激情| 欧美午夜高清在线| 精品乱码久久久久久99久播| 亚洲无线在线观看| 极品教师在线免费播放| 99国产综合亚洲精品| 国产伦人伦偷精品视频| av视频在线观看入口| 一边摸一边抽搐一进一小说| 毛片女人毛片| 很黄的视频免费| 亚洲欧美精品综合久久99| 欧美中文综合在线视频| 中文字幕久久专区| 国产aⅴ精品一区二区三区波| av专区在线播放| 一个人看视频在线观看www免费 | 国产蜜桃级精品一区二区三区| 男人舔女人下体高潮全视频| 日韩欧美一区二区三区在线观看| 久久久精品欧美日韩精品| 欧美日韩乱码在线| 国产精品久久视频播放| 亚洲欧美日韩高清专用| aaaaa片日本免费| 成人亚洲精品av一区二区| 日韩欧美国产在线观看| 看黄色毛片网站| 又黄又粗又硬又大视频| 亚洲色图av天堂| 欧美日韩黄片免| 亚洲av成人不卡在线观看播放网| 一级a爱片免费观看的视频| 香蕉av资源在线| 久久久久久国产a免费观看| 亚洲七黄色美女视频| 性色avwww在线观看| 美女 人体艺术 gogo| 亚洲人成网站在线播| 免费一级毛片在线播放高清视频| a级一级毛片免费在线观看| 国产伦在线观看视频一区| 麻豆成人av在线观看| 身体一侧抽搐| 人人妻人人澡欧美一区二区| 国产精品一及| 俄罗斯特黄特色一大片| www.www免费av| 很黄的视频免费| 一本精品99久久精品77| 在线播放无遮挡| 久久香蕉精品热| 精品人妻1区二区| 一进一出好大好爽视频| 久久久国产精品麻豆| 狠狠狠狠99中文字幕| 给我免费播放毛片高清在线观看| 国产亚洲欧美98| 男女那种视频在线观看| 国产精品亚洲美女久久久| 在线天堂最新版资源| 国产三级在线视频| 国产成年人精品一区二区| 在线观看美女被高潮喷水网站 | 国产私拍福利视频在线观看| 97超视频在线观看视频| 久久久久久国产a免费观看| 欧美黑人巨大hd| 一进一出抽搐动态| 午夜福利成人在线免费观看| 怎么达到女性高潮| 一个人看的www免费观看视频| 999久久久精品免费观看国产| 亚洲国产精品sss在线观看| 国产精品一区二区三区四区久久| 国产伦人伦偷精品视频| 欧美日韩福利视频一区二区| 成人三级黄色视频| 2021天堂中文幕一二区在线观| 免费av毛片视频| 黄色视频,在线免费观看| 久久精品91无色码中文字幕| 狂野欧美白嫩少妇大欣赏| 亚洲久久久久久中文字幕| 啦啦啦观看免费观看视频高清| 国产精品亚洲美女久久久| 亚洲电影在线观看av| www日本黄色视频网| 美女高潮喷水抽搐中文字幕| 日本免费a在线| 真人一进一出gif抽搐免费| 国产真实乱freesex| 美女高潮的动态| 精品一区二区三区av网在线观看| 两性午夜刺激爽爽歪歪视频在线观看| 三级国产精品欧美在线观看| 91av网一区二区| 午夜a级毛片| 国产成人福利小说| 亚洲国产精品成人综合色| 欧美色视频一区免费| 国产欧美日韩一区二区精品| 欧美丝袜亚洲另类 | 一进一出好大好爽视频| 国产精品精品国产色婷婷| 狠狠狠狠99中文字幕| 久久九九热精品免费| 成年免费大片在线观看| 制服人妻中文乱码| 看黄色毛片网站| 国产高潮美女av| 最新中文字幕久久久久| 久久久久久久午夜电影| 国产亚洲精品久久久com| 欧美色欧美亚洲另类二区| 精品99又大又爽又粗少妇毛片 | 观看美女的网站| 亚洲成av人片免费观看| 欧美色欧美亚洲另类二区| 国产成人啪精品午夜网站| 可以在线观看毛片的网站| 国内精品一区二区在线观看| 国产精品亚洲一级av第二区| 国产一区二区在线观看日韩 | 成人一区二区视频在线观看| 日本与韩国留学比较| av视频在线观看入口| 中文在线观看免费www的网站| 国产高清视频在线播放一区| 夜夜爽天天搞| 可以在线观看毛片的网站| 久久人人精品亚洲av| 欧美激情在线99| 国产又黄又爽又无遮挡在线| 亚洲精品在线观看二区| 久久天躁狠狠躁夜夜2o2o| 亚洲在线观看片| 国产三级中文精品| 丝袜美腿在线中文| 成人欧美大片| 国内揄拍国产精品人妻在线| 午夜激情福利司机影院| 免费av不卡在线播放| 五月玫瑰六月丁香| 老司机午夜福利在线观看视频| 日本成人三级电影网站| 精品久久久久久久毛片微露脸| 特大巨黑吊av在线直播| 午夜福利高清视频| 免费搜索国产男女视频| 国产激情偷乱视频一区二区| 热99在线观看视频| 国产淫片久久久久久久久 | 三级男女做爰猛烈吃奶摸视频| 中文字幕人妻丝袜一区二区| 老司机午夜十八禁免费视频| 99视频精品全部免费 在线| 19禁男女啪啪无遮挡网站| 最新在线观看一区二区三区| 成年女人看的毛片在线观看| 九九热线精品视视频播放| 99久国产av精品| 中文亚洲av片在线观看爽| 国产精品日韩av在线免费观看| 国产成人欧美在线观看| 两性午夜刺激爽爽歪歪视频在线观看| 啦啦啦免费观看视频1| 欧美一区二区国产精品久久精品| 亚洲七黄色美女视频| 精品午夜福利视频在线观看一区| 9191精品国产免费久久| 日本与韩国留学比较| 少妇裸体淫交视频免费看高清| 免费观看的影片在线观看| 真人一进一出gif抽搐免费| 草草在线视频免费看| 99国产综合亚洲精品| 成人av在线播放网站| 日韩欧美在线二视频| 欧美绝顶高潮抽搐喷水| 欧美一区二区精品小视频在线| 深夜精品福利| 免费观看的影片在线观看| 国产aⅴ精品一区二区三区波| 国产乱人伦免费视频| av国产免费在线观看| 免费大片18禁| 免费在线观看成人毛片| av专区在线播放| 欧美一区二区精品小视频在线| 亚洲熟妇中文字幕五十中出| 久久性视频一级片| xxx96com| 全区人妻精品视频| 黄片小视频在线播放| 免费看十八禁软件| 99久久成人亚洲精品观看| 99久久九九国产精品国产免费| 大型黄色视频在线免费观看| 日韩欧美在线二视频| 欧美乱码精品一区二区三区| 悠悠久久av| 久久久久久久久久黄片| 美女cb高潮喷水在线观看| 好看av亚洲va欧美ⅴa在| 黄片小视频在线播放| 97超级碰碰碰精品色视频在线观看| 欧美激情久久久久久爽电影| 露出奶头的视频| 国产精品久久电影中文字幕| 亚洲专区中文字幕在线| 青草久久国产| h日本视频在线播放| 丰满乱子伦码专区| 黄色丝袜av网址大全| 亚洲精品在线观看二区| 国产精华一区二区三区| 亚洲av五月六月丁香网| 国产一区二区三区在线臀色熟女| 日韩欧美国产在线观看| 亚洲 国产 在线| 欧美成人一区二区免费高清观看| 内射极品少妇av片p| 久久久久久久久久黄片| 丰满人妻熟妇乱又伦精品不卡| 久久欧美精品欧美久久欧美| 欧美xxxx黑人xx丫x性爽| 国产欧美日韩精品一区二区| 最好的美女福利视频网| 老司机深夜福利视频在线观看| 精品国产亚洲在线| 一进一出好大好爽视频| 午夜老司机福利剧场| 国产亚洲精品一区二区www| www.999成人在线观看| 欧美另类亚洲清纯唯美| 亚洲精品日韩av片在线观看 | a级一级毛片免费在线观看| 久久亚洲精品不卡| 国产单亲对白刺激| 人人妻人人澡欧美一区二区| 男插女下体视频免费在线播放| 国产精品乱码一区二三区的特点| 中文字幕熟女人妻在线| av专区在线播放| 欧美午夜高清在线| 欧美国产日韩亚洲一区| 国产一区二区在线观看日韩 | 身体一侧抽搐| 久久性视频一级片| 精品不卡国产一区二区三区| 欧美zozozo另类| 一区二区三区国产精品乱码| 免费高清视频大片| 国产aⅴ精品一区二区三区波| 18禁黄网站禁片免费观看直播| 在线观看日韩欧美| 国产精品久久久久久久电影 | 不卡一级毛片| 亚洲精品久久国产高清桃花| 日韩精品中文字幕看吧| 少妇裸体淫交视频免费看高清| 窝窝影院91人妻| 男女做爰动态图高潮gif福利片| 国内精品久久久久久久电影| 国产三级中文精品| 一进一出抽搐动态| 国内少妇人妻偷人精品xxx网站| 一区二区三区免费毛片| h日本视频在线播放| 免费观看人在逋| av专区在线播放| 99热只有精品国产| 久久伊人香网站| 亚洲精品日韩av片在线观看 | 人妻夜夜爽99麻豆av| 午夜福利在线观看吧| 欧美精品啪啪一区二区三区| 一个人免费在线观看电影| 丁香六月欧美| 国产欧美日韩精品亚洲av| 日本在线视频免费播放| 草草在线视频免费看| 99久国产av精品| av中文乱码字幕在线| 亚洲人成电影免费在线| 动漫黄色视频在线观看| 99riav亚洲国产免费| 白带黄色成豆腐渣| 啪啪无遮挡十八禁网站| 国内精品一区二区在线观看| 亚洲七黄色美女视频| 亚洲国产日韩欧美精品在线观看 | 内射极品少妇av片p| or卡值多少钱| 久久精品国产综合久久久| 国产一区二区亚洲精品在线观看| 免费在线观看日本一区| 99精品欧美一区二区三区四区| 国产精品 欧美亚洲| 欧美在线黄色| 亚洲精品456在线播放app | 人妻夜夜爽99麻豆av| a在线观看视频网站| 国产精品一区二区三区四区免费观看 | 午夜激情福利司机影院| 此物有八面人人有两片| 99riav亚洲国产免费| netflix在线观看网站| 午夜福利欧美成人| 久久6这里有精品| 亚洲不卡免费看| 色哟哟哟哟哟哟| 叶爱在线成人免费视频播放| 国产精品 欧美亚洲| 国内精品美女久久久久久| 俄罗斯特黄特色一大片| 国产av一区在线观看免费| 亚洲一区二区三区色噜噜| 深爱激情五月婷婷| 法律面前人人平等表现在哪些方面| 久久香蕉精品热| 国产成年人精品一区二区| 在线看三级毛片| 网址你懂的国产日韩在线| 有码 亚洲区| 欧美另类亚洲清纯唯美| 在线观看免费视频日本深夜| 国产av不卡久久| 欧美一级毛片孕妇| 成人特级黄色片久久久久久久| 黄色视频,在线免费观看| 黄色丝袜av网址大全| 嫩草影视91久久| 国产精品久久久久久人妻精品电影| 亚洲av成人不卡在线观看播放网| 亚洲国产精品久久男人天堂| ponron亚洲| 久久香蕉国产精品| 婷婷丁香在线五月| 亚洲国产高清在线一区二区三| 黄片小视频在线播放| 夜夜夜夜夜久久久久| 三级男女做爰猛烈吃奶摸视频| 成人特级av手机在线观看| 精品99又大又爽又粗少妇毛片 | 久久精品国产亚洲av涩爱 | av中文乱码字幕在线| 日韩欧美精品免费久久 | 无限看片的www在线观看| 免费av毛片视频| 亚洲aⅴ乱码一区二区在线播放| 老汉色∧v一级毛片| 国产99白浆流出| 天天添夜夜摸| 最新美女视频免费是黄的| 午夜免费成人在线视频| 男人的好看免费观看在线视频| 免费av观看视频| 国产精品久久久久久精品电影| 熟女人妻精品中文字幕| 天天一区二区日本电影三级| 制服人妻中文乱码| 老司机深夜福利视频在线观看| 亚洲,欧美精品.| 久久精品国产99精品国产亚洲性色| 一区二区三区激情视频| 一个人免费在线观看电影| 亚洲在线观看片| 中文字幕人成人乱码亚洲影| tocl精华| 99国产精品一区二区三区| 哪里可以看免费的av片| 精品午夜福利视频在线观看一区| 国产高潮美女av| 中亚洲国语对白在线视频| 小蜜桃在线观看免费完整版高清| 99久久精品热视频| 非洲黑人性xxxx精品又粗又长| 女同久久另类99精品国产91| 嫩草影院精品99| 一本精品99久久精品77| 国产真实伦视频高清在线观看 | 亚洲美女黄片视频| 禁无遮挡网站| 亚洲va日本ⅴa欧美va伊人久久| 综合色av麻豆| 久久国产精品人妻蜜桃| 无遮挡黄片免费观看| 欧美成狂野欧美在线观看| 亚洲av五月六月丁香网| 听说在线观看完整版免费高清| 中文字幕人妻熟人妻熟丝袜美 | 桃色一区二区三区在线观看| 午夜两性在线视频| 偷拍熟女少妇极品色| 真实男女啪啪啪动态图| 在线视频色国产色| 国产精品美女特级片免费视频播放器| h日本视频在线播放| 国产伦人伦偷精品视频| 高潮久久久久久久久久久不卡| 神马国产精品三级电影在线观看| 十八禁人妻一区二区| 无限看片的www在线观看| 美女黄网站色视频| 色综合欧美亚洲国产小说| 精品电影一区二区在线| 午夜老司机福利剧场| 亚洲va日本ⅴa欧美va伊人久久| 欧美日韩中文字幕国产精品一区二区三区| 亚洲不卡免费看| 亚洲国产精品sss在线观看| 日韩有码中文字幕| 日本黄色视频三级网站网址| 精品久久久久久久末码| 在线播放无遮挡| 天堂√8在线中文| 国产精品永久免费网站| 99国产极品粉嫩在线观看| 搡老熟女国产l中国老女人| 色综合亚洲欧美另类图片| 国产在线精品亚洲第一网站| 麻豆国产97在线/欧美| 小蜜桃在线观看免费完整版高清| 男女之事视频高清在线观看| 性色avwww在线观看| 午夜福利在线观看免费完整高清在 | 国产精品久久久久久人妻精品电影| av天堂中文字幕网| av女优亚洲男人天堂| 亚洲精品亚洲一区二区| 欧美中文日本在线观看视频| 他把我摸到了高潮在线观看| 成人一区二区视频在线观看| 亚洲av一区综合| 日韩精品中文字幕看吧| 给我免费播放毛片高清在线观看| 神马国产精品三级电影在线观看| 欧美极品一区二区三区四区| 亚洲av美国av| 午夜日韩欧美国产| 免费观看人在逋| 国产乱人伦免费视频| 青草久久国产| 亚洲精品一区av在线观看| 国产v大片淫在线免费观看| 他把我摸到了高潮在线观看| 免费一级毛片在线播放高清视频| 男女之事视频高清在线观看| 久久香蕉精品热| 一进一出抽搐动态| 日韩 欧美 亚洲 中文字幕| 国产aⅴ精品一区二区三区波| 国产一区二区激情短视频| 特级一级黄色大片| 十八禁人妻一区二区| 亚洲专区中文字幕在线| 色综合欧美亚洲国产小说| 丰满人妻一区二区三区视频av | 午夜福利18| 内地一区二区视频在线| 亚洲18禁久久av| 一级毛片高清免费大全| 超碰av人人做人人爽久久 | 亚洲av电影在线进入| 国产探花极品一区二区| www.www免费av| 91字幕亚洲| 欧美3d第一页| 美女黄网站色视频| 亚洲国产日韩欧美精品在线观看 | 国产精品综合久久久久久久免费| 日本黄色片子视频| 久久婷婷人人爽人人干人人爱| 99热这里只有是精品50| 成年女人永久免费观看视频| 国产免费男女视频| 免费观看的影片在线观看| av天堂在线播放| 亚洲国产精品久久男人天堂| 国产一区二区激情短视频| 在线十欧美十亚洲十日本专区| 成人无遮挡网站| 欧美一区二区精品小视频在线| 蜜桃亚洲精品一区二区三区| 免费电影在线观看免费观看| 中文字幕高清在线视频| 丝袜美腿在线中文| 国产高潮美女av| 中出人妻视频一区二区| 五月玫瑰六月丁香| 一个人看视频在线观看www免费 | 午夜福利18| 一本精品99久久精品77| 国产一区二区三区在线臀色熟女| 国内精品一区二区在线观看| 99在线视频只有这里精品首页| 亚洲国产精品sss在线观看| 真实男女啪啪啪动态图| 免费大片18禁| 精品国产亚洲在线| 性欧美人与动物交配| 国产精品久久久人人做人人爽| 真人做人爱边吃奶动态| 欧美性感艳星| 国产亚洲精品久久久久久毛片| av女优亚洲男人天堂| 五月伊人婷婷丁香| 免费人成在线观看视频色| 超碰av人人做人人爽久久 | 一个人观看的视频www高清免费观看| 精品国产超薄肉色丝袜足j| 国产日本99.免费观看| 国产欧美日韩一区二区三| 午夜日韩欧美国产| 午夜老司机福利剧场| av天堂在线播放| www.熟女人妻精品国产| 天天添夜夜摸| 一区二区三区激情视频| 欧美中文日本在线观看视频| 亚洲成人中文字幕在线播放| 亚洲久久久久久中文字幕| 久久婷婷人人爽人人干人人爱| 熟女少妇亚洲综合色aaa.| 国产真人三级小视频在线观看| 国产v大片淫在线免费观看| 国产一区二区在线观看日韩 | 小说图片视频综合网站| 免费观看的影片在线观看| 成人av一区二区三区在线看| 欧美日韩一级在线毛片| 伊人久久大香线蕉亚洲五| 免费在线观看成人毛片| 国产午夜精品久久久久久一区二区三区 | 久久久久久久精品吃奶| 日韩精品中文字幕看吧| 久久天躁狠狠躁夜夜2o2o| 在线天堂最新版资源| 1024手机看黄色片| 国产乱人视频| 99久久精品国产亚洲精品| 美女免费视频网站| 成熟少妇高潮喷水视频| 久久精品夜夜夜夜夜久久蜜豆| 法律面前人人平等表现在哪些方面| 国产精品久久久久久精品电影| 国产成人a区在线观看| 中文字幕人妻丝袜一区二区| 丁香六月欧美| 免费大片18禁| 白带黄色成豆腐渣| 免费观看的影片在线观看| 久久久久久人人人人人| 国产日本99.免费观看| www日本黄色视频网| 国产av一区在线观看免费| 亚洲18禁久久av| 亚洲中文日韩欧美视频| 少妇裸体淫交视频免费看高清| 婷婷亚洲欧美| 成人无遮挡网站| ponron亚洲| 日本撒尿小便嘘嘘汇集6| 国产真人三级小视频在线观看| 国产精品永久免费网站| 中文字幕人妻丝袜一区二区| 国产精品电影一区二区三区| 淫秽高清视频在线观看| 又黄又粗又硬又大视频| 国产精品 国内视频| 熟女电影av网| 麻豆成人午夜福利视频| 国产男靠女视频免费网站| aaaaa片日本免费| 男人舔女人下体高潮全视频| 蜜桃久久精品国产亚洲av| 精品乱码久久久久久99久播| 天堂影院成人在线观看| 亚洲国产欧美人成| netflix在线观看网站| 午夜亚洲福利在线播放| 国产精品98久久久久久宅男小说| 亚洲av免费高清在线观看| 91字幕亚洲| 人妻久久中文字幕网| 宅男免费午夜| 午夜视频国产福利| 国产高清有码在线观看视频| 久久香蕉精品热| 精品熟女少妇八av免费久了| 亚洲欧美日韩无卡精品| 日本在线视频免费播放| 国产成人福利小说| 两性午夜刺激爽爽歪歪视频在线观看| 母亲3免费完整高清在线观看| 亚洲国产高清在线一区二区三| 无人区码免费观看不卡| 色噜噜av男人的天堂激情|