久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

DeepGEMM:基于 Hopper Tensor Core 的 FP8 矩陣乘法內(nèi)核優(yōu)化實(shí)踐

DeepGEMM:基于 Hopper Tensor Core 的 FP8 矩陣乘法內(nèi)核優(yōu)化實(shí)踐 很多搞深度學(xué)習(xí)的朋友都有過這種體驗(yàn)GPU 利用率監(jiān)控看著沒毛病可訓(xùn)練吞吐就是上不去排查鏈路轉(zhuǎn)了一圈才發(fā)現(xiàn)時(shí)間幾乎全耗在同一類運(yùn)算上——矩陣乘法。我之前做模型性能剖析時(shí)統(tǒng)計(jì)過從 embedding 到輸出層GEMM 類算子能占到整體耗時(shí)的七成以上。這也是我后來動(dòng)手寫 DeepGEMM 這套 FP8 矩陣乘法內(nèi)核的根本原因與其在框架層反復(fù)做圖優(yōu)化不如直接吃透最底層這塊硬骨頭。DeepGEMM 的目標(biāo)很單純——利用 Hopper 架構(gòu) GPU 上 Tensor Core 與 TMA 的能力實(shí)現(xiàn)一個(gè)針對(duì) FP8 輸入、FP32 累加的矩陣乘法內(nèi)核。它不是一個(gè)要替代工業(yè)級(jí)內(nèi)核庫的通用方案更像是我對(duì)自己的一次摸底GEMM 到底怎么設(shè)計(jì)才能在特定 shape、特定精度下把硬件算力吃干凈。這篇文章會(huì)從為什么自研、底層原理、實(shí)現(xiàn)路徑、性能調(diào)優(yōu)到一次完整的排錯(cuò)過程都攤開來講適合正在優(yōu)化自有算子、或者單純想搞清楚 Tensor Core 內(nèi)部邏輯的工程師和研究者。1. 為什么自己寫 GEMM模型跑得慢不一定怪 GPU1.1 先算一筆賬一次 Transformer 前向里的 GEMM 占比隨便拿出一個(gè)中等規(guī)模的 Transformer 模型前向計(jì)算里最重頭的部分就是四個(gè)映射矩陣乘法Q、K、V 的投影是一次大 GEMMattention score 的計(jì)算是一次 batched GEMMscore 對(duì) V 的加權(quán)又是一次 batched GEMMFFN 兩層則貢獻(xiàn)了剩余兩次超大矩陣乘。再加上 softmax、LayerNorm 這些逐元素算子和歸一化操作整個(gè) forward 的 GEMM 占比很容易超過 70%。訓(xùn)練場景還多一個(gè)反向傳播矩陣乘的數(shù)量直接翻倍這個(gè)比例只會(huì)更高。所以當(dāng)你在性能剖析工具里看到某個(gè) GEMM 算子耗時(shí)異常別急著懷疑數(shù)據(jù)加載或者并行通信先檢查算子本身的實(shí)現(xiàn)效率。這也是自研 GEMM 內(nèi)核最直接的收益點(diǎn)你可以精確控制每一字節(jié)的訪問路徑和每條硬件指令的調(diào)度而不是被迫接受別人預(yù)設(shè)的策略。我見過好幾次換庫版本后推理提速的案例本質(zhì)就是新版本對(duì)某些 shape 選擇了更合適的 tile 切分而不是什么玄學(xué)優(yōu)化。1.2 cuBLAS 和 CUTLASS 都很好為什么還要有 DeepGEMM官方庫封裝得越徹底對(duì)調(diào)用者來說黑盒程度就越高。cuBLAS 確實(shí)在絕大多數(shù) shape 上表現(xiàn)優(yōu)秀但它不會(huì)把內(nèi)核實(shí)現(xiàn)的細(xì)節(jié)暴露給你一旦遇到非標(biāo)準(zhǔn) shape 或特定精度需求你只能按它提供的預(yù)估接口去猜性能行為。CUTLASS 項(xiàng)目給了高度靈活的模板組合理論上可以拼出各種內(nèi)核策略但它概念繁多、模板深度很重想在里面改一條 TMA 加載路徑或調(diào)整 swizzle 策略學(xué)習(xí)成本相當(dāng)高。DeepGEMM 的定位就是輕量定制內(nèi)核。它不需要覆蓋所有硬件平臺(tái)和所有矩陣 shape只需要在自己的目標(biāo)機(jī)器上做到足夠快。這種取舍帶來兩個(gè)直接好處一是代碼量小、可讀性強(qiáng)每一條關(guān)鍵路徑都能很快定位二是遇到性能問題時(shí)可以拿官方庫做基準(zhǔn)對(duì)照從 profiling 數(shù)據(jù)中反推差距在哪個(gè)環(huán)節(jié)真正把性能優(yōu)化的能力握在自己手里。如果你的業(yè)務(wù)只是定期跑幾類固定矩陣規(guī)模自研內(nèi)核完全有理由比通用庫更貼合你的計(jì)算模式。1.3 DeepGEMM 的目標(biāo)邊界FP8、Hopper 與工程妥協(xié)做任何內(nèi)核項(xiàng)目都要先劃清邊界否則會(huì)因?yàn)槭裁炊枷胫С侄萑霟o盡復(fù)雜度。DeepGEMM 的初始范圍如下精度A、B 矩陣輸入為 FP8E4M3/E5M2 可配累加器用 FP32硬件僅針對(duì) Hopper 架構(gòu) GPU 做優(yōu)化重點(diǎn)使用其 TMA、wgmma 和分布式共享內(nèi)存能力Shape面向超大矩陣M、N 在 2048 以上做滿波優(yōu)化小矩陣則退回到簡單路徑不做過深調(diào)優(yōu)擴(kuò)展性后端預(yù)留了 BF16 路徑主要用于精度對(duì)照實(shí)驗(yàn)不作為默認(rèn)主線。這個(gè)邊界意味著我不需要處理 Ampere 等舊架構(gòu)的兼容性可以把精力全部投入到大矩陣、批量加載、深流水線這一條主路上。工程上做減法和劃邊界是同樣的道理方案越單純?cè)饺菀追治龀鲂阅芷款i范圍一旦蔓延調(diào)試時(shí)會(huì)發(fā)現(xiàn)每個(gè)符號(hào)都可能是錯(cuò)的。2. GEMM 內(nèi)核的底層邏輯從最樸素循環(huán)到 Tensor Core 的關(guān)鍵躍遷2.1 最簡單的 GEMM 內(nèi)核長什么樣寫一個(gè)在 CPU 上可以跑通的樸素版 GEMM只需要三重循環(huán)對(duì)每個(gè)輸出元素 C[i][j]累加 A 的第 i 行與 B 的第 j 列的內(nèi)積。拿到 GPU 上如果也照這個(gè)邏輯寫結(jié)果就是災(zāi)難每個(gè)線程反復(fù)從全局內(nèi)存讀取同一段數(shù)據(jù)復(fù)用率趨近于零帶寬瞬間成為瓶頸。一個(gè) GPU 上有幾千個(gè)并發(fā)線程如果它們都在串行讀同一批 A 元素緩存會(huì)被完全沖垮。// 最樸素的 GEMM 思路每個(gè)線程算一個(gè)輸出元素 // 不考慮任何復(fù)用、布局、向量化僅作為反面教材 __global__ void naive_gemm_kernel(const float* A, const float* B, float* C, int M, int N, int K) { int row blockIdx.y * blockDim.y threadIdx.y; int col blockIdx.x * blockDim.x threadIdx.x; if (row M || col N) return; float sum 0.0f; for (int k 0; k K; k) { sum A[row * K k] * B[k * N col]; } C[row * N col] sum; }這段代碼每個(gè)線程要讀 K 個(gè) A 元素和 K 個(gè) B 元素如果一個(gè) warp 的 32 個(gè)線程各自負(fù)責(zé)相鄰 row 但相同 colB 的讀取在緩存層面還能有一定復(fù)用A 的讀取則完全重復(fù)。數(shù)據(jù)量稍微一漲DRAM 吞吐就直接封頂。真正高性能的 GEMM 內(nèi)核必須解決兩個(gè)核心問題數(shù)據(jù)復(fù)用結(jié)構(gòu)怎么設(shè)計(jì)計(jì)算指令怎么選擇。2.2 計(jì)算強(qiáng)度FLOPs 再高也怕帶寬卡脖子判斷一個(gè)計(jì)算任務(wù)是否訪存密集還是計(jì)算密集關(guān)鍵看計(jì)算強(qiáng)度——單位字節(jié)的數(shù)據(jù)能支撐多少次浮點(diǎn)運(yùn)算。一個(gè) MNKn 的方陣乘法總計(jì)算量是 2n^3 FLOPs輸入數(shù)據(jù)量是 3n^2A、B、C 各一次讀寫。把兩者相除計(jì)算強(qiáng)度等于 2n/3。n1024 時(shí)約 680 FLOPs/Byte遠(yuǎn)高于現(xiàn)代 GPU 的算訪比比如某 Hopper GPU 的 FP8 算力若按 1900 TFLOPS、HBM 帶寬按 3.35 TB/s算訪比約 570意味著理論上是計(jì)算密集型。可現(xiàn)實(shí)中為什么很多 GEMM 跑不出峰值因?yàn)闆]有有效的數(shù)據(jù)復(fù)用結(jié)構(gòu)實(shí)際從 DRAM 搬運(yùn)的字節(jié)數(shù)是理論值的幾十上百倍。所以優(yōu)化的本質(zhì)就是通過分塊讓數(shù)據(jù)盡可能留在片上。一個(gè)數(shù)據(jù)元素被讀到寄存器后如果能參與多次乘累加DRAM 的壓力就成倍下降??紤] tiling 之后計(jì)算強(qiáng)度公式會(huì)變成一個(gè)關(guān)于 tile 尺寸的函數(shù)塊越大K 維循環(huán)中每個(gè)加載元素被使用的次數(shù)越多。2.3 三級(jí)存儲(chǔ)的 Tiling 協(xié)作寄存器、SMEM、GMEMGPU 芯片上的存儲(chǔ)層級(jí)可以類比成廚房的操作臺(tái)全局內(nèi)存相當(dāng)于倉庫共享內(nèi)存相當(dāng)于灶臺(tái)寄存器相當(dāng)于手邊已經(jīng)洗凈備用的配料。GEMM 內(nèi)核算法的核心就是設(shè)計(jì)一條從倉庫批量取貨、放到灶臺(tái)上、再在手里快速加工的流水線。傳統(tǒng) CUDA 手動(dòng)調(diào)度路徑里一個(gè) CTA 通常負(fù)責(zé)一個(gè)輸出 tile先在共享內(nèi)存鋪好 A 和 B 的塊再由各線程從 SMEM 讀取數(shù)據(jù)做乘累加。Tile 尺寸的選擇直接決定復(fù)用率和硬件資源占用。常見策略是每個(gè) CTA 負(fù)責(zé) 128x128 或 128x256 的輸出 tileK 維每次處理 16 或 32。計(jì)算一下 SMEM 占用就知道A 和 B 兩個(gè) tile 若都是 128x32且 A、B 都是 1 字節(jié)的 FP8需要的共享內(nèi)存約 8KB如果上雙緩沖翻倍到 16KB。這個(gè)數(shù)字相對(duì)于一塊 Hopper GPU 上 228KB 的 SMEM 來說非常充裕于是還可以進(jìn)一步加寬 N 方向的 tile用更多的片上數(shù)據(jù)換取更低的 DRAM 訪問頻率。A tile 128 x 32 -- FP8: 128*32 4096 字節(jié) B tile 32 x 256 -- FP8: 32*256 8192 字節(jié) 雙緩沖總占用: 2 * (4096 8192) 24576 字節(jié) Hopper SMEM 典型容量約 228KB留白充足這個(gè)算術(shù)題看起來很樸素但它決定了內(nèi)核能否在寄存器、SMEM、GMEM 之間保持足夠深的流水線。數(shù)據(jù)一旦能在片上多待一輪全局內(nèi)存的帶寬壓力就小一輪。3. DeepGEMM 的實(shí)現(xiàn)路徑FP8 格式、Tensor Core 與 warp 分工3.1 FP8 的 E4M3 與 E5M2兩個(gè)尾數(shù)位的取舍FP8 不是一個(gè)單一的浮點(diǎn)格式它有 E4M3 和 E5M2 兩種子格式。E4M3 用 4 位指數(shù)加 3 位尾數(shù)取值范圍相對(duì)窄但精度更高E5M2 用 5 位指數(shù)加 2 位尾數(shù)動(dòng)態(tài)范圍大但尾數(shù)噪聲更明顯。做矩陣乘法時(shí)通常把激活值用 E4M3 存儲(chǔ)權(quán)重則根據(jù)是否需要大動(dòng)態(tài)范圍在 E4M3 和 E5M2 之間選擇。格式符號(hào)位指數(shù)位尾數(shù)位最大值范圍適用場景E4M3143約 448激活值、權(quán)重的主選E5M2152約 57344梯度、中間動(dòng)態(tài)范圍大的數(shù)據(jù)FP8 本身不能直接用于精度要求高的累加。實(shí)際計(jì)算必須以 FP32 作為累加器同時(shí)給輸入乘一個(gè)縮放因子scale。DeepGEMM 在加載數(shù)據(jù)后、送入 Tensor Core 之前會(huì)先檢查數(shù)據(jù)的整體范圍將 FP8 值反量化到實(shí)際浮點(diǎn)范圍。這個(gè)過程不是每元素做一次除法而是提前算好 scale最后在輸出端乘回來。這個(gè)設(shè)計(jì)在代碼層看起來只是多了兩個(gè)乘法但它決定了整個(gè)量化誤差的分布形態(tài)。3.2 Tensor Core 指令形態(tài)從 mma.sync 到 wgmma要真正把 FP8 算力燒起來光靠普通的 FMA 指令是不夠的。Tensor Core 本質(zhì)上是一組專用的矩陣乘累加硬件單元需要通過特定指令驅(qū)動(dòng)。在 Ampere 時(shí)代最直接的編程方式是 mma.sync 指令族比如 m16n8k16 這樣的形狀表示一次讓一個(gè) warp 協(xié)同完成 16x8x16 的矩陣乘片段。Hopper 時(shí)代則提供了更強(qiáng)的 wgmma 指令它不再以一個(gè) warp 為單位而是以一個(gè) warp group 為單位一次可以處理更大的矩陣塊并且支持異步流水線。DeepGEMM 的核心計(jì)算路徑選擇 wgmma 作為主用路徑。使用 wgmma 的好處顯而易見一次指令能覆蓋更大的輸出范圍硬件調(diào)度也允許與數(shù)據(jù)搬運(yùn)輸送完全重疊。但也帶來了一個(gè)副作用——warp 之間的同步和描述符管理變得復(fù)雜。一條 wgmma 指令需要引用 A、B 矩陣在共享內(nèi)存中的地址布局描述符這些描述符由 Tensor Core 的 TMA 硬件讀取若描述符內(nèi)部的 stride 或 swizzle 參數(shù)寫錯(cuò)結(jié)果會(huì)非常離譜。3.3 生產(chǎn)者-消費(fèi)者分工TMA 搬運(yùn)與計(jì)算解耦Hopper 最值得利用的新特性之一就是 TMATensor Memory Accelerator。它允許你用一條指令把全局內(nèi)存中一個(gè) 2D 或 3D tile 直接搬到共享內(nèi)存還可以在搬運(yùn)過程中完成 swizzle 布局變換。這意味著傳統(tǒng)內(nèi)核里線程算地址、加載、再同步的模式被徹底改變了數(shù)據(jù)搬運(yùn)不再消耗計(jì)算線程的指令周期。DeepGEMM 把 warp 分成生產(chǎn)者和消費(fèi)者兩類。生產(chǎn)者的職責(zé)只有兩個(gè)準(zhǔn)備 TMA 描述符、發(fā)布搬運(yùn)請(qǐng)求消費(fèi)者的職責(zé)是等待數(shù)據(jù)到達(dá)共享內(nèi)存然后啟動(dòng) wgmma 計(jì)算。這個(gè)模型很像工廠里的采購員和裝配工采購員只管把原料運(yùn)進(jìn)倉庫裝配工不管原料怎么來的只等倉庫里有貨就開工。// 概念性偽代碼數(shù)據(jù)流水線主循環(huán) // 僅用于說明生產(chǎn)者-消費(fèi)者結(jié)構(gòu)不表示完整內(nèi)核實(shí)現(xiàn) for (unsigned k_step 0; k_step K / K_BLOCK; k_step) { if (k_step 1 K / K_BLOCK) { // 生產(chǎn)者角色預(yù)取下一塊 A、B 到另一個(gè)共享內(nèi)存緩沖 tma_load_to_smem(A_smem[1 - cur], A_global_desc); tma_load_to_smem(B_smem[1 - cur], B_global_desc); } // 消費(fèi)者角色等待當(dāng)前緩沖數(shù)據(jù)就緒后啟動(dòng) wgmma wgmma_async(acc_smem, A_smem[cur], B_smem[cur], ...); }這個(gè)示例里的雙緩沖結(jié)構(gòu)把搬下一塊和算當(dāng)前塊完全重疊只要 TMA 的搬運(yùn)速度大于 wgmma 的消費(fèi)速度流水線就能一直保持滿載。實(shí)際工程里緩沖深度還可以加到三份甚至四份換取更大的容忍波動(dòng)能力。3.4 分布式共享內(nèi)存跨 CTA 協(xié)作的進(jìn)階玩法Hopper 還有一個(gè)容易被忽視的能力集群內(nèi)的多個(gè) CTA 可以組成一個(gè)線程塊集群通過分布式共享內(nèi)存機(jī)制互相讀取對(duì)方在共享內(nèi)存中的數(shù)據(jù)。這意味著一個(gè) CTA 計(jì)算輸出 tile 時(shí)不需要把完整的 A 或 B tile 都裝進(jìn)自己那一份 SMEM 里而是可以讓相鄰 CTA 把自己的 A tile 分享出來。DeepGEMM 在部分 shape 上啟用了這個(gè)功能。比如一個(gè)大矩陣的 N 方向被切成很多窄條相鄰 CTA 所需的 B tile 完全一樣此時(shí)讓其中一個(gè) CTA 加載并廣播給其他 CTA能省掉重復(fù)的 DRAM 讀取。這個(gè)特性讓 tile 切分策略有了新的維度不再單純?yōu)榱藴p少全局訪問而把 SMEM 塞滿還可以通過集群通信實(shí)現(xiàn)數(shù)據(jù)共享。當(dāng)然分布式共享內(nèi)存也帶來同步復(fù)雜度???CTA 訪問數(shù)據(jù)必須用集群級(jí)的 barrier 保證順序稍有不慎就會(huì)出現(xiàn)讀到了半成品數(shù)據(jù)的問題。我的建議是第一版內(nèi)核先別碰這個(gè)特性等單 CTA 路徑跑穩(wěn)、性能基線確定后再作為進(jìn)階優(yōu)化加上去否則出現(xiàn)問題時(shí)會(huì)很難分清是 TMA 描述符寫錯(cuò)還是集群同步丟步。4. 性能調(diào)優(yōu)在 Nsight Compute 面前逐項(xiàng)逼出峰值4.1 第一輪先跑通基線版本記錄真實(shí)的短板任何優(yōu)化都離不開可量化的起點(diǎn)。DeepGEMM 第一版是直接照搬常見 CUTLASS 思路寫出來的基礎(chǔ)雙緩沖版本沒有做 swizzle也沒有分布式共享內(nèi)存。在這種狀態(tài)下絕大多數(shù)矩陣 shape 是能跑對(duì)結(jié)果的但性能大概只有硬件峰值的 30% 左右。此時(shí)最該做的事不是繼續(xù)加特性而是用分析器看清瓶頸到底在哪個(gè)硬件單元。Nsight Compute 里有幾個(gè)關(guān)鍵指標(biāo)值得重點(diǎn)看sm__pipe_tensor_cycles_active反映張量核心忙碌程度l1tex__data_bank_conflicts反映共享內(nèi)存 bank 沖突嚴(yán)重性dram__throughput反映顯存壓力。第一版實(shí)測數(shù)據(jù)中tensor 核心利用率不高同時(shí) bank conflict 告警非常密集。這說明當(dāng)前內(nèi)核的問題在數(shù)據(jù)供給路徑而不是計(jì)算單元本身。這個(gè)判斷把優(yōu)化方向從改計(jì)算指令引導(dǎo)到了改數(shù)據(jù)布局。4.2 第二輪SMEM 地址布局與 bank conflict 的博弈共享內(nèi)存按 bank 組織同一地址周期只能讓每個(gè) bank 輸出一份數(shù)據(jù)。如果多個(gè)線程同時(shí)訪問落在同一個(gè) bank 但不同地址的位置就會(huì)發(fā)生所謂的 bank conflict一次訪存被拆成多次。GEMM 這種高并發(fā)讀 SMEM 的負(fù)載對(duì) bank 布局極度敏感。最簡單的布局下A tile 按行連續(xù)排列一行 128 字節(jié)。如果一行正好跨越了 32 個(gè) bank 的兩個(gè)周期而 warp 里的線程又在讀同一列的數(shù)據(jù)沖突就會(huì)出現(xiàn)。解決辦法是給地址加上一層 swizzle讓每個(gè)線程讀到的邏輯位置映射到不同的物理 bank。以常見 128 字節(jié)行寬為例可以按 8 行一組做異或擾動(dòng)// 常見 swizzle 策略按行、列做 XOR 擾動(dòng) // 實(shí)際使用哪種模式取決于 tile 形狀和 SMEM 寬度 constexpr int SMEM_STRIDE 128; // 字節(jié) int swizzled_offset (row * SMEM_STRIDE) ^ ((col % 32) * 4);這行代碼看起來像是在亂改偏移但它把原本順序訪問的模式打散成了跨 bank 的均勻分布。實(shí)測在加了 8 行 XOR swizzle 后bank conflict 基本消失張量核心利用率直接提升了一截。這個(gè)階段最值得留意的是不要憑直覺猜 swizzle 公式而是每次調(diào)整后都重新跑分析器看沖突計(jì)數(shù)是不是真的下降。4.3 第三輪雙緩沖升級(jí)為深度流水線延遲隱藏更進(jìn)一步雙緩沖能解決搬一陣、停一陣的交替問題但還不能完全覆蓋 TMA 的啟動(dòng)延遲。TMA 搬運(yùn)一個(gè)大 tile 的延遲可能達(dá)幾百個(gè)周期如果流水線只有兩級(jí)消費(fèi)者等數(shù)據(jù)到達(dá)時(shí)仍會(huì)有明顯暫停。DeepGEMM 后續(xù)把緩沖數(shù)加到三份讓 TMA 始終在搬運(yùn)下一塊或下下一塊的數(shù)據(jù)消費(fèi)者計(jì)算當(dāng)前塊。從代碼結(jié)構(gòu)上講這需要維護(hù)一個(gè)下一塊指針隊(duì)列而不是簡單地切換 cur 和 next。偽代碼上表現(xiàn)為// 三級(jí)緩沖的索引管理環(huán)形隊(duì)列 unsigned buf_idx (k_step % 3); unsigned next_idx ((k_step 1) % 3); unsigned after_next_idx ((k_step 2) % 3);三級(jí)緩沖換來的是更高的流水線余量讓 wgmma 和 TMA 的時(shí)序抖動(dòng)被緩沖吸收。實(shí)測三級(jí)緩沖相比二級(jí)在超大 K 的矩陣上提升了大約 8% 到 10%。這是因?yàn)?K 越大每個(gè)輸出 tile 需要連續(xù)搬運(yùn)的數(shù)據(jù)塊越多流水線越深越不容易把空缺暴露出來。至于要不要繼續(xù)加到四級(jí)、五級(jí)取決于 SMEM 容量預(yù)算畢竟還要給 wgmma 的累加結(jié)果留位置。4.4 實(shí)測數(shù)據(jù)不同 shape 下 DeepGEMM 與官方庫對(duì)比以下是某塊 Hopper 架構(gòu) GPU 上的實(shí)測對(duì)照數(shù)據(jù)。需要說明的是官方庫的版本更新很快不同版本在同一 shape 上數(shù)據(jù)會(huì)浮動(dòng)這里只記錄當(dāng)時(shí)測試環(huán)境下的結(jié)果作為策略參考而非排名結(jié)論。矩陣規(guī)模 (M x N x K)實(shí)現(xiàn)方案耗時(shí) (ms)TFLOPS8192 x 8192 x 4096官方庫 BF160.86約 6408192 x 8192 x 4096DeepGEMM FP8 雙緩沖0.54約 10198192 x 8192 x 4096DeepGEMM FP8 三緩沖swizzle0.49約 11231024 x 4096 x 2048官方庫 FP80.041約 4191024 x 4096 x 2048DeepGEMM FP80.037約 464大矩陣規(guī)模下DeepGEMM 通過三緩沖和 swizzle 達(dá)到了硬件峰值的 50% 以上相比雙緩沖版本有明顯優(yōu)勢(shì)。但中小矩陣下差距就小很多了原因有兩個(gè)CTA 總數(shù)量不夠無法把所有 SM 都占滿TMA 的單次搬運(yùn)塊偏小延遲隱藏的空間有限。這也驗(yàn)證了之前定下的邊界主打超大矩陣小矩陣場景用簡單路徑就夠了。5. FP8 運(yùn)算的精度陷阱兩個(gè)尾數(shù)位省下來的成本5.1 為什么 FP32 累加器并不能解決所有問題FP8 的輸入只有 3 位尾數(shù)E4M3相乘結(jié)果的尾數(shù)位更是有限。即使 Tensor Core 支持 FP32 累加累加時(shí)的舍入順序依然會(huì)帶來浮點(diǎn)誤差。舉個(gè)例子連續(xù)累加幾千個(gè)數(shù)如果其中某個(gè)中間結(jié)果相對(duì)其他值大很多小值就會(huì)被大值完全淹沒這在浮點(diǎn)運(yùn)算中被稱為吸收消除。FP32 累加器可以緩解尾數(shù)截?cái)嗟珶o法修復(fù)輸入本身的量化噪聲。想進(jìn)一步提高數(shù)值穩(wěn)定性有兩條常用手段。其一是隨機(jī)舍入以數(shù)據(jù)低位為概率將結(jié)果向上下兩個(gè)方向隨機(jī)舍入這樣多次計(jì)算的平均誤差趨于零。其二是把累加順序做樹形規(guī)約在硬件允許范圍內(nèi)盡量讓相同量級(jí)的數(shù)先相加減少大數(shù)對(duì)小數(shù)的影響。DeepGEMM 的默認(rèn)路徑使用普通順序累加因?yàn)?Tensor Core 的硬件路徑已經(jīng)固定但在需要高精度的場景可以切換到隨機(jī)舍入模式。5.2 scale 設(shè)計(jì)per-tensor、per-channel 與在線量化scale 的選擇直接決定 FP8 的量化誤差。最簡單的 per-tensor 方案是拿整個(gè)矩陣的最大絕對(duì)值去除得到一個(gè)統(tǒng)一的 scale。實(shí)現(xiàn)簡單但如果激活值分布不均比如某些通道整體極小某些通道極大統(tǒng)一 scale 會(huì)讓小通道幾乎退化成零。策略開銷誤差特點(diǎn)DeepGEMM 支持情況per-tensor最低分布不均時(shí)誤差大默認(rèn)per-channel中等對(duì)權(quán)重效果好激活仍需謹(jǐn)慎可配per-group (128元素一組)較高誤差最平穩(wěn)訓(xùn)練場景建議訓(xùn)練場景中在線量化需要在每次前向時(shí)動(dòng)態(tài)統(tǒng)計(jì) scale這個(gè)操作本身又增加了一輪歸約計(jì)算。DeepGEMM 在推理路徑上采用離線校準(zhǔn)的方式把 scale 在部署前算好在訓(xùn)練路徑上則按 128 元素分組做動(dòng)態(tài)統(tǒng)計(jì)配合隨機(jī)舍入讓 FP8 的精度損失接近 BF16 結(jié)果。5.3 實(shí)測失真的對(duì)照實(shí)驗(yàn)我在一個(gè)中等規(guī)模的 Transformer 訓(xùn)練任務(wù)上對(duì)比了三種方案。BF16 基線訓(xùn)練到固定步數(shù)后 loss 為 0.32FP8 per-tensor 方案為 0.35訓(xùn)練曲線尾部有抖動(dòng)FP8 per-group 加隨機(jī)舍入方案回到 0.33 附近收斂曲線與 BF16 基本貼合。這說明 FP8 用在訓(xùn)練上完全可行前提是 scale 不能偷懶至少要做分組級(jí)的統(tǒng)計(jì)。推理階段相對(duì)寬松。固定權(quán)重的前提下per-tensor scale 帶來的精度損失可能只有幾個(gè)百分點(diǎn)對(duì)于大部分應(yīng)用可以接受。這里我給個(gè)實(shí)際建議如果你的部署模型對(duì)精度非常敏感先在驗(yàn)證集上同時(shí)跑 per-tensor 和 per-channel 兩組推理比較輸出分布的變化再?zèng)Q定是否需要更復(fù)雜的量化策略不要一上來就上最貴的方案。6. 排錯(cuò)實(shí)錄一次 K 維不對(duì)齊引發(fā)的 48 小時(shí)定位6.1 現(xiàn)象某些 shape 完全正常另一些隨機(jī)出錯(cuò)DeepGEMM 跑常規(guī) shape 時(shí)一直很穩(wěn)直到某次我測試 M6144、N6144、K1280 的矩陣乘法結(jié)果出現(xiàn)隨機(jī)性錯(cuò)誤。更奇怪的是M4096、N4096、K1024 時(shí)一切正常K1024 和 K1280 都是 32 的整數(shù)倍為什么一個(gè)對(duì)、一個(gè)錯(cuò)復(fù)現(xiàn)時(shí)還是概率性的有時(shí)連續(xù)跑五次錯(cuò)兩次有時(shí)全部正確非常折磨人。這種概率性出錯(cuò)通常指向兩種情況數(shù)據(jù)競爭或者越界寫入。如果只是算術(shù)邏輯錯(cuò)誤結(jié)果應(yīng)該是穩(wěn)定地錯(cuò)而不是隨機(jī)錯(cuò)。所以我第一時(shí)間把懷疑對(duì)象鎖定在 TMA 搬運(yùn)和共享內(nèi)存生命周期管理上而不是數(shù)學(xué)公式。6.2 排查鏈路從數(shù)據(jù)斷言到 TMA descriptor 邊界第一步是加數(shù)據(jù)斷言。我在每個(gè) k_step 之后用 CPU 復(fù)算同一塊輸出和 GPU 結(jié)果比對(duì)發(fā)現(xiàn)偏差出現(xiàn)在特定的 tile 組合上而且往往發(fā)生在后半段 K 循環(huán)。接著關(guān)閉雙緩沖把流水線退化成搬一塊、算一塊、再搬一塊錯(cuò)誤出現(xiàn)的概率降低但沒消失。這一步排除了純粹的雙緩沖競爭——若是生產(chǎn)者消費(fèi)者同步問題單緩沖下應(yīng)該完全消失。第二步是用內(nèi)存檢測工具跑同一 case。工具很快報(bào)出共享內(nèi)存越界寫入的警告指向一個(gè) CTA 在某次循環(huán)里寫到了自己 SMEM 范圍之外。順著這個(gè)線索我開始逐行檢查 TMA 描述符的邊界計(jì)算尤其是 K 維循環(huán)接近末尾時(shí)的 tile 尺寸處理。最后發(fā)現(xiàn)問題出在一個(gè)邊界分支里當(dāng) K 的剩余長度不足一個(gè) K_BLOCK 時(shí)代碼仍然用了完整的 K_BLOCK 去構(gòu)造描述符導(dǎo)致 TMA 讀取越界數(shù)據(jù)同時(shí)把共享內(nèi)存寫壞。6.3 根因tile 邊界的回卷寫覆蓋與同步缺失為什么 K1024 正常而 K1280 就出問題因?yàn)?1024 除以 32 得到 32 步循環(huán)干凈利落1280 除以 32 也是 40 步但某些 CTA 因?yàn)檩敵?tile 在 M、N 方向靠邊剩余的 A 或 B 數(shù)據(jù)不足 32走了退化路徑這時(shí)候計(jì)算 K 塊尺寸的偏移量出現(xiàn)了偏差。這個(gè)偏差在地址計(jì)算上表現(xiàn)為回卷某個(gè)索引在本應(yīng)結(jié)束的地方繼續(xù)向后延伸覆蓋了相鄰緩沖區(qū)的數(shù)據(jù)。修復(fù)方案有兩步。第一步是讓每個(gè) K 步都用實(shí)際剩余長度裁剪 TMA 描述符而不是盲信 K_BLOCK 常量第二步是給退化路徑單獨(dú)加一道 barrier確保最后一個(gè)未滿 K 塊在寫入 SMEM 后所有消費(fèi)者 warp 都能看到完整數(shù)據(jù)才啟動(dòng) wgmma。6.4 同類隱患L2 hint、原子累加與分配器對(duì)齊這次排錯(cuò)讓我意外收獲了一串同族隱患。第一個(gè)是 L2 緩存策略TMA 搬運(yùn)時(shí)可以指定數(shù)據(jù)在 L2 中的偏好如果對(duì)輸出 tile 設(shè)置了錯(cuò)誤的淘汰優(yōu)先級(jí)某些數(shù)據(jù)可能被過早逐出在后續(xù)重算時(shí)引發(fā)不一致。第二個(gè)是多個(gè) CTA 對(duì)同一輸出區(qū)域的原子累加FP32 原子加不保證順序結(jié)果浮點(diǎn)誤差會(huì)在不同 run 間波動(dòng)。第三個(gè)是共享內(nèi)存分配的對(duì)齊問題128 字節(jié)對(duì)齊和 4 字節(jié)對(duì)齊在 TMA 描述符眼里完全不同寫錯(cuò)一個(gè)字段就可能導(dǎo)致跨邊界讀。疑似問題排查手段結(jié)論雙緩沖競爭切換單緩沖復(fù)測排除數(shù)據(jù)取值邏輯CPU 復(fù)算分組比對(duì)定位到特定 tileSMEM 越界內(nèi)存檢測工具掃描確認(rèn)越界TMA 描述符邊界逐行檢查 K 剩余長度根因K 塊未裁剪如果你也遇到類似小矩陣沒問題、大矩陣偶發(fā)錯(cuò)的 case我的建議是直接運(yùn)行內(nèi)存檢測工具再配合單緩沖復(fù)測把手動(dòng)同步的變量排除干凈。這類問題最怕一上來就猜是浮點(diǎn)誤差把方向帶偏。拿到確鑿的越界報(bào)告后再回頭檢查所有描述符、指針、步長參數(shù)往往比自己盯著代碼發(fā)呆更高效。最后再分享一個(gè)實(shí)際觀察GEMM 內(nèi)核的調(diào)試和調(diào)優(yōu)要分開對(duì)待。調(diào)優(yōu)階段可以大膽試各種 swizzle 和緩沖深度因?yàn)殄e(cuò)誤是好觀測的但一旦進(jìn)入排錯(cuò)階段先復(fù)算簡單路徑、再上檢測工具、最后才動(dòng)代碼這個(gè)順序不要亂。跑大量邊界 shape 的矩陣乘法作為回歸用例比單點(diǎn)性能數(shù)據(jù)更值得長期維護(hù)——像 K 維不整除、N 方向剩余窄條這類隱蔽問題都是靠邊界用例抓出來的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99xav| 97色诱| www亚洲欧美| 欧美劲爆视频一区二区| 99热精品青草在线 | 超碰色美女| 视频在线观看一二三区| 超碰人人干| 一区在线精品中文字幕| 在线天堂资源亚洲| 亚洲综合色在线| 欧美一二三区四五区| 日本肉体xxxx裸交| 日本欧美亚洲高清在线看| 3PAV乱伦视频| 九九久久久| 96国产污污污丝袜| 和协无码影院| AV天堂丝袜| www.超碰在线| 超碰99在线观看| 亚洲一级特黄大片在线播放91| 久久久亚洲熟妇熟女| 亚洲国产一区二区三区四区国产| 麻豆天美传媒毛片| 97资源站日韩| 欧美中日韩XXXX| 免费国产| 久久视频,这里只有精品| 久热久| 日韩av熟女一区二区三区成人| 强奸xx国产| 亚洲精品啪视频| 丝袜剧情| 中文字幕在线观看丝袜| 青青草视频久久| 国产亚洲色婷婷久久99精品91| 国产AV久久野战精品| 国产精品一区二区久久精品| 奇米四色影视777久久久| 91操熟女| xxxx网站亚洲精品| 黄色人人| 狠狠操夜夜| 93人人操人人| www.婷婷| 日韩人体偷拍| 黄站在线免费观看| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产精品96久久久久久| 久久精品久| 九九九九AV| 天美传媒AV在线播放| 嗯嗯啊好大| 日日骚 av| 亚洲永久AV无码精品秋霞| 狠狠搞 亚洲91| 操香逼| 黄呦呦在线| 精品国产久久乱码| 国产成人五月天丁香花| 精品无码秘 人妻一区二区| 久久精品国产精品一区 | 91A欧美电影网站| 久久久四区| 久久草草亚洲蜜桃臀| 在线a v| 91人妻做a观看视频| 国产尤物AV尤物在线观看不卡| 国产AV激情无码久久无码 | 欧美天天综| 是还免费视频1727我| 日韩精品人妻中文字幕不卡乱码| 精品人妻一区二区三区免费视频| 欧美人体性爱互联网第一页婷婷日本| 狠狠色狠狠色狠狠五月| 欧美制服网站美腿丝袜| 97超碰总站| 色婷婷一区二区三区久久| 在线播放成人高清免费视频| 国产精点久久久成人| 天天摸,夜夜摸| 吉田爱美AV在线| 五十路熟女在线不卡观看一区二区| 青青草一区二区高清无码视频| 亚欧色图在线激情| 入口操逼网站| 久久久专区| 久久久91| 精品国产99| 九九久精品| 精品综合久久久久久五月天| 开心五月婷婷| 欧美成人精品欧美一级乱黄一区二…| 国产一区二区三区久久久精品| 激情五月天视频| 天天操天天看| 亚洲激情在线观看一区| 伊人991| 97爱| 人妻少妇一区二区| 人妖欧美一区二区| 曰韩成人免费视频| 欧美韩国你懂得在线 | 免费视频观看60秒| 国产精品久久久久无码AV会牛| 91亚洲青青草原精品1区| 欧美黑人日韩少妇色情| 日本在线播放不卡一区| 91天天爱| 黑人无码一区二区| 2019亚洲男人天堂| 亚洲天堂无码| 天海翼久久| 欧美A片中文字幕| 99ri视频| 香蕉精品二区二区| 噜噜噜狠狠色综合| 蜜臀99久久精品久久久久久| 一区二区三区 日韩欧美| 色欲色香天天天综合网www-亚洲综合国| 揉揉日日日日| 亚洲激情网一二三四区| 94色色电影网| 性性欧美| 91爆操视频| 丰满熟女一区二区三区在线播放| 干B| 亚洲综合91| 日本熟妇一区二区三区| 精品视频一区二区| 久久综合女优| 99在线无码精品秘 入口黑人| 99热在线不卡| 国产一级特黄大片处女| 欧洲自拍色图gif在线| 99老司机精品视频在线观看| 日本精品久久久久久久| 我爱大香蕉| 国产精品美女久久久久AⅤ国产馆| 一区二区三区日韩欧美| 在线观看成人性爱免费小视频| 亚洲少妇在线影音| 男人的天堂亚洲| 亚洲激情视频| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 五月激情小说| A级国产欧美激情在线| 欧美白嫩女HD| 偷窥自拍亚洲天堂网爆| 久久久无码视频| 日韩女优在线| 九色在线熟女国产黑人| 超碰色图| 欧美国产一区二区三区麻豆传媒| 爆操无码| 亚洲无码 国产无码| 欧美日韩青操| 激情五月天色色| 三级AV入口| 亚洲天堂少妇| 艾草av| 乱伦av.com| 亚洲乱妇p22| 九九拍拍精品视频在线播放 | 这里有精品| 亚洲色图综合| 97超级色碰碰| 少妇被玩视频二三区| 久草精品国产99| 性色av蜜臀av色欲aV| 欧美色97| 欧美色图 人妻| 日本午夜精品理论片A级APP发布| 欧美日韩在线视频网站| 欧美九一精品久久久熟妇| 日韩av乱伦| 中文字幕三四区| yy少妇精品久久| 激情久久av一区av二区av| 91色人妻| 久久天天艹| 精品一区二区三区蜜桃| 东京热熟女亚洲视频网站| 天天插天天射| 成人福利视频网| 91精品人| 免费看黄片现成| 久久精品超碰| 国产路线专区| 国产女主播视频在线观看| 色婷五月天| 久久久免费高清中文视频| 久久精品无码熟妇一区二区三区视频导航| 波多野结衣一级视频| 丝袜性亚洲| 日本黄色大片一级视频免费麻豆| 香蕉国产97| 久热超碰| 2020中文字幕在线观看| 67914在线精品观看| 鸡巴插逼视频| 综合亚洲欧美精品日韩?v| 国产亚洲色婷婷99精品91| 欧美日韩中文亚洲v在线综合| 78精品| 九九九影院| 男人天堂2019亚洲| 久久人人舔人人爽舔人人av片| 婷婷20月天青娱乐| 啊啊啊啊二区好大| 日本色色色色色视频| 免费操逼91| 欧美日韩中文字幕不卡| 青青草玖玖爱| 一本久久精品中文字| 人人色人人射人人妻| 久久精品美女一区| wwwcaobibi| 啪啪啪精品视频| 啪啪视频亚洲第一| 欧美黄色片在线播放| 激情综合网亚洲| 综合欧美亚洲| 激情黄色片在线观看| 91日韩国产欧美亚洲另类精盘州至城都| 国产精品盗摄 偷窥盗摄| 97视频免费在线| 欧美日韩亚洲电影| 伊人精品视频| 久久久精品久久| 啊啊啊啊啊啊啊啊啊啊在线观看| 国产精品网站www| 亚洲不卡不卡中文字幕不卡 | 国产日韩区| 国产亚洲欧美每日在线| 国产亚洲欧美每日在线| av午夜影院在线播放| 日韩欧美aⅴ综合网站发布| 99精品欧美一区二区三区桃色| 正在播放国产精品一区| 免费的黄片wwwwww| 五月天色图影视| 成人欧美一区二区三区黑人一| 天天爽天天爽| 麻豆一区在线| 老司机香蕉久久久久| 国产精品黑人一区二区三区| 精品人妻一区二区三区四区石在线| 超碰97人妻| 国产精品视频自拍在线| 亚洲午夜福利视频| 热久久91婷婷| 午夜九九| 国产人妖视频一区在线观看| 色综合色| 91高潮喷水美女| 久久久91| 在线看免费无码AV天堂的| 黑人精品成人一区二区三区| 亚洲色婷婷久久91| 国产专区第一页| 99热| 九九九九免费视频| AAAA欧美日韩| 超碰人人妻| 成人久久久精品| 操逼A∨| 啊啊啊好爽快点啊啊啊嗯嗯| 狠狠操狠狠燥| 久久精品中文字幕无码l| 无码heyzo高清一区| 欧美最婬乱婬爆婬牲视频| 囯戸精品高潮呻吟旡码| 91国产精品熟女| 少妇大屁屁| 熟女色综合久久| 人妻精品4K4K4K4K4| 女人久久久| av天天在线观看| 清纯唯美激情| 国产精品情侣啪啪| 亚洲 小说 欧美 激情 另类| 久久超碰免费的| 在线播放免费av福利片| 日韩欧美中文字| 亚洲精品啪视频| 大香交| 五月丁香成人网| 91精品国产一区三一| 国产欧美伊人| 亚洲激情在线观看一区| 9 9无尺码天堂网| a在线视频免费观看| 男人的天堂com| 艳美熟妇先锋一二三区| A片A5445444| 另类专区加勒比| 性色av一区二区| 精品美女少妇一区二区| 无码视频黄色网战| 天美麻花大全视频| 国产视频小说| 欧洲精品区| 国产第11页| 97蜜桃综合| 日韩去日本高清在| 9国产超碰| 老司机久久| 欧美少妇大量自拍视频在线观看| 亚洲国产成人福利在线观看| 欧美人妖内射| 国产乱子伦久久精品综合一区二区三| 成人aⅴ一区二区三区| 眼镜人妻101.com| 97中文天堂| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 国产又粗又长视频| 超碰人人超在线观看| 国模久久在线| 日韩AV无码中文一区二区| 大香蕉99热| 欧美性爱18观看| 91xingse| 欧美性视频二区三区| 亚洲中文字母在线播放| 黄色片一区二区三区四区五区| 久久av成人无码免费| 91综合色噜噜| 色妹子A V| 超碰欧美97| 蜜臀久久99精品久久久老,,| 国产丝袜欧美在线视频| 亚洲文学偷乱拍啪啪啪啪| 后入美女国产| 欧美成人色| 午夜120视频在线观看| 欧美激情亚洲色图| 国产精品不卡av免费在线观看| 欧美少妇性乱| 青青草在线视频播放器| www亚洲免费| 亚洲乱妇p22| 天天视频黄| 日本操大逼| 五月婷婷激情网| 蜜色网色哟哟| 无卡一区=区| 国产一区二区二区按摩精品啪视频| 精…码一二三区| 国产99精品一区二区三区免费| 97色婷婷| 五月天精品| 日韩精品免费高清视频在线| 国产女人91精品嗷嗷嗷嗷| 欧美日韩资源在线| 人妻人人做人人澡人人爽欧美一区| 欲女人妻性色av| 午夜亚洲国产理论秋霞| 国产探花精品在线| 欧美极品少妇交| 日本高清熟女久久一区| 精品国产Av无码久久久伦古装| 国产精品点击进入在线影院| 99亚亚热| 日韩中文字幕宗合在线| 成人五月天丁香激情综合| 欧美性爱一级操| 9超碰免费| 久久精品国产亚洲av水密被窝| 亚洲日韩在线a不卡99精品 | 亚洲黄色网址视频| 厕所偷拍在线| 天天久久| 99热在线观看| 亚洲小说视频| 蜜乳AV.COM| 欧美一区二区情色| 污色区网站| 亚洲春色激情小说| 日韩小电影| 婷婷九月色| 99热在线只有精品| 欧美性爱精品一区二区| 少妇人妻在线| 婷婷五月成人| 欧美大的香蕉有线电视视频| 久久女婷| 2024人人操人人摸| 熟女91网站| 超碰人人干| 狠狠躁伊人中文字幕| 黑丝少妇在线观看| 日本一级真人黄色性爱视频| 亚洲官网在线| 干日本人少妇午夜寂寞影院| 国产蜜臀在线| 亚洲另类综合欧美| 特级特黄一级毛片免费| 偷拍亚洲情色| 大香蕉免| 91一起操| q2午夜理论片夜色av| 无码天堂| 少妇内射www在线观看视频| 97精品熟女少妇一区| 蜜桃精品一区二区三区久在线| 无码高清专| 91成人国产综合久久精品蜜月| 青青草吊丝| 秋霞一级鲁丝片A片| 国产乱伦亚洲色图高清无码| 日韩99精品视频综合区| 亚洲天堂无码| 99久久9| 天天影视色香色欲| 青青草黑寡妇男人天堂| 久久婷婷欧美| 熟女熟妇一区二区三区视频| 亚洲 欧美 色图| 欧美日韩在线视频网站| 人妻 丝袜美腿 中文字幕| 视频在线观看免费一区二区三区| 国产97视频免费观看| 国产精品秘 福利姬在线观看| 能看的av| 亚洲自拍欧美色综合| 蜜桃香蕉久草精品在线| 国产偷拍网站| 综合欧美日本三级| 国产精品久久发布| 碰超人人在线一区二区三区| 久久久久久久久9| 天天92av| 久久成人午夜精品影院| 东京日日夜夜| 色天欧美| 91精品国产91久久青草| 国产色呦呦| 国产久久一区二区午夜| 91爱看| 亚洲情色视频| 国产高清在线观看欧美| 九九久久久九九| 亚洲男人天堂视频| 日本αv| 中文字幕av乱伦| 国产欧美一区二区| 啊啊啊水好多| 国产精品岛国片在线观看| 天天综合AV| 久久久成人免费av电影| 亚洲日韩视频二区| 中文字幕二区日韩天堂| 国产深喉| 精品一区二区人妖| 伊人久久久日韩一区| 日比av无码| 强奸乱伦麻豆| 欧色性第一页| 国产精品又黄又猛又粗| 亚洲 综合 欧美| 老司机午夜精品福利视频一区二区 | 久久超碰98| 一区AV| 99色色| 综合大香蕉美。| 欧美偷拍区| 亚洲免费精品一区| 天天澡天天爽日日AV| 激情小说五月天| 91精品婷婷国产综合久久| 中文字幕AV乱伦| 国产人伦精品一区二区三区| 密乳视频在线| 91n美女视频| 欧美日韩亚洲天堂| 五月香婷婷| 九九超碰综合网| 操逼操网| 熟女露脸激情自拍视频| 夜夜影视四色| 91九九九小逼| 手机午夜电影神马久久| 99热在线不卡| 成人97人人超碰人人| 日本女厕偷拍| 黄色大片免费在线| 97色涩| 尤物网址| 久久久少妇诱惑精品视频| 国产真实野战在线视频| 少妇人妻在线| 日韩操人| 久9无限国产| 夜夜嗨AV一区天天| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 日本在线不卡一二区| 亚洲蜜臀精品视频久久| 91久久久久久| 人妻一区二区三区四区视频| 操B久久| 岛国视频一二三区| 午夜操操操| 久久女婷| 中国农村熟妇毛片视频| 欧美国产视频| 成人av动漫在线观看| 在线欧美亚洲| 97中文字幕色| 在线视频免费播放一区| 久久午夜色播影院免费高清| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 欧美不卡在线美女| 97在线精品观看视频| 色呦色呦色精品| 四虎影院成年人片| 极品销魂美女一区二区| 国产欧美黑人丰满在线| 青青草日韩无码| 久久成人国产精品| 亚州五月| 亚洲免费日韩在线一区二区| 精品黑人一区二区| 国产综合色精品在线观看| 乱久久久| 97超碰色五月| 亚洲一区二区中文字幕| 91操熟女| 欧洲色综合| 啊好大好舒服| 天天插天天操| 亚洲av综合色区无码一| 超碰2017| 色99久草| 嗯嗯啊好大| 国产精品一二三区福利| 国产兽交视频在线播放| 四虎精品永久在线观看| 天天做天天爱天天爽AV| 人妻少妇久久久| 亚洲囯产精品女人久久久| 欧成人精品一区二区三区| 国产精品久久久九九九| 欧美日韩免费专区在线| 色色五月婷| 手机在线视频国内精品| 一级婬片120分钟试看| 久久精品噜噜噜成人看免欧美大片| 色诱中文字幕| 欧美夜夜狠| 综合激情婷婷| 日本一级二级三级网站| 国产亚洲精品美女久久久久久2021| 先锋女优在线观看视频| 东京热,男人的天堂| julia中文字幕在线观看| 欧美九九爱| 久久久久久亚洲精品不卡人乳| 欧亚乱色熟女一区二区| 欧美不卡二区| 欧美日韩大香蕉| 综合色好色| 99re这里只有| 清纯唯美激情| 欧洲亚洲少妇| 欧美91变态| 久久久久久久久久9| 欧美97网| 天天欧美| 亚州欧美色图| 激情小说亚洲| 日本一区二区亚洲综合| 亚洲熟伦熟妇AV无码春色| 91亚洲综合| 在线综合网| 超碰免费97| 无码人妻精品酒店| 久久久久国色αv免费观看| 超碰九7免费| 人人搞人人插人人操| 国产自制av蜜乳| 久久久97| 欧美性生活男人的天堂| 中国少妇XXXX做受| 亚洲成人性爱在线观看| 乱伦熟女区| 日日操天天操| 久jiu久神马影院| 青青草在线成人视频| 日本日日色视频| 97频视在线| 伊人在线大香蕉视频久久| 97操碰| 91肉片| 成人aⅴ一区二区三区| 最新日日夜夜天天干干| 好色综合| 一级久久性爱视频| 精品久久在线区一区| 日han少妇无码| 中亚黄色三级大片| 美女91网| 福利视频香蕉免费一区二区在线| 免费1级a做爰片观看| 國產尤物AV尤物在線觀看 | 蜜臀亚洲中文| 久久综合久色欧美综合狠狠| 色欲久久99国产精品久久久久久| 啪啪视频免费在线观看| 国产精品久久久久中文字幕| 91碰碰碰| 精品人妻一区二区免费蜜桃| 亚洲丨在线| 日韩欧美性爱电影在线观看| 青娱乐国产精品| 日韩AV电影网站| 97精品中文字幕| 欧美日韩亚洲天堂| 啪啪啪精品| 国产成人网站在线观看| 中文字幕片| 欧美草草高清日韩视频| 一区二区三区亚洲| 天天干,夜夜爽| 噜噜噜亚洲精品| 欧美少妇色图| 久久亚洲婷婷| 中文字幕综合人妻| 亚洲美女AV无码| 久久鲁干| 久久亚洲色图中文字幕| 日韩成年人性爱视频| 亚洲AV无码黄色强奸| 国产精品午夜成人福利| 久久伊人影院| 日韩一性一交一A片俄罗斯| 丁香五月综合| 亚洲图片视频小说| 欧美丰满少妇xx高潮| juliaann精品熟女一区| 久久久久成人网| 激情啪啪拍91| 精品美女久久一二三| 大香蕉一级黄色片久久| 9999久久久久| 97在线播放 | 欧美天天谢综合网| 97免费在线观看| 凹凸视频特色日本特黄| 中文字幕AV片| 久久免费99精品久久久久久| 欧色综合| 日本性感人妻91| 116美女午夜| 不卡在线观看视频| 亚洲天天艹| 97在线免费看视频| 91欧美| 高颜值美女口爆高潮浪叫| 亚洲成熟国产精品美女| 欧美第一页| 国产 热久久久久国产精品| 日韩钢筋无码高清啾啾啾| 亚洲欧美国产中文视频| av在线人气| 69精品| 亚洲少妇色图自慰直播| AV和黑人在线播放| 亚洲无限观看| 日韩丝袜二区| 竹菊一区二区三区AV线| 香蕉综合网| 东北女人操逼| 国产精品色哟哟| 秋霞成人一级在线观看| 亚洲日韩东京热一区| 黄色AAAAAAAAAAA大片| 久久伦理视频久久大香蕉视频| 欧美日韩激情无码专区| 人妻大香蕉| 美日韩成人| 婷婷10月天青娱乐| 精品婷婷| a亚洲欧美色欲| 蜜臀久久久| 一区二区三区 日韩欧美| 青青草在线视频美女| 七久久久| 蜜乳av一区二区| 五十路成人在线视频二区三区| 无套内射性感少妇视频| 大肥女高潮bbwbbwhd视频| 欧美熟女激情| 激情接吻视频久久久久久| 在线欧美亚洲| 一区二区三区 丝袜高跟| 亚洲啪啪性视频| 91内射| 啊嗯嗯啊好大好爽| 亚欧精品久久久久久久久久久| 老司机福利青青草| 日本黄页视频在线观看| 人人色97| 乱伦av.com| 97视频网站| 天天草AV| 日韩AV中文字幕电影| 日本一区二区成人在线| 蜜桃久久一区| 狠狠躁天天躁日日躁97| 色哟哟国产精品免费网址| a片久久久久久久久久久久| 久久九精品| 亚洲综合色男人网| 日韩人成网站在线播放| 超碰九7| 中文在线视频| 亚洲欧美性生活| 乱色视频中文字幕| 精品久久久久久中文字幕三区| 国产suv一区二区三区6| 亚洲成人妻日韩在线| 天综合网| 婷婷在线精品| 黄片不用下载在线观看| 久久综合国产精品国产| 天天操熟妇| 一区二区蜜臀| 冬京热男人的天堂| 26uuu国产| 操逼视频亚洲| 青青草中文字幕| 91美女国产在线| 久久最新视频免费观看| 欧美熟女少妇| 日日爽夜夜爽| 久久精品国产免费观看99| 日韩性爱视频在线免费观看| 精品人妻中文字幕高清| 欧成人精品一区二区三区| 亚洲美女黄色| 精品176精品2| 人妻人人澡人人爽人人| 久久久久久久少妇| 艹我哪美一区无码| 五月天综合| 欧美黄色片AAAAA| 国产乱伦性爱区| 亚洲国产精品有声| 岛国激情视频在线观看| 操啊国产| 草莓精品视频在线免费观看| 在线毛片片免费观看| 日韩三级伦理中文字幕| 国产精品美女视频诱惑| 人妻少妇久久中文字幕一区二区 麻豆| 偷偷人人精品女女久久| 蜜区区视频79 | 国产乱伦亚洲| 大香蕉一区二区在线观看.| 超碰午夜| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 日逼逼免费看| 亚洲国产一区二区日韩专区| 我要色综合网| 日本国产亚洲一区在线观看| 青青操网| A级国产欧美激情在线| 综合伊人激情| 久久久久国产一区二| 国产精品一区二区黄片| 激情五月综合网| 欧美黑人XXXⅩ高潮交| 国产精品女同| 性色国产东北露脸精品视频| 狠狠躁天天躁日日躁97| 中出20p| 亚洲欧美碰碰| 久久国产精品一区二区| 亚洲无码超碰免费| 色婷婷视频| 狠狠综合网| 校园春色综合| 手机久操欧美综合色码| 91网站在线播放| 亚洲天堂电影网99999| 亚州男人天堂| AV一起草在线| 国产专区第一页| 志村玲子视频一区二区| 4141514逼喷水三级片| 好看的久久不射无码影视影院| 福利大香蕉| 亚洲综合首页| 日韩国产不卡在线视频| 十八禁视频网站| 欧美第一页性| 伊人久久亚洲色欲综合网站 | 欧亚久久偷拍视频| 亚洲风情综合网| 日本成人在线不卡一区二区三区| 波多野42部无码喷潮在线观看| 日韩免费性爱视频在线观看| 久9久| 亚洲在钱| 中文字幕第2页| 日韩欧美俄罗斯A片| 国产欧美美女免费观看视频| 午夜福利在线合集| av网站免费看| 国产一区二区三区影片| 一区麻豆 高清中文字幕| 欧美一区二区三熟女剧情| 欧美精品成人一区二区在线观看| 99热只有这里有精品| 久9久| 欧美日韩大陆黑人少妇99| 国产又黄又爽| 亚洲欧美精品福利在线| ai欧美亚洲小说| 97这里只有精品| www.av在线观看| 四虎视频在线观看| 高清国产精品福利网站| 色欲天天综合网| 久久伦理视频久久大香蕉视频| 91 偷| 91一区二区三区蜜桃| 色欧美天天| 日本2020一区二区| 久久91精品国产9丨久久分亭 | 日韩精品资源专区二区| HEYZO高无码国产精品227| 日韩欧美中文字| wwwxxx日本爽| 国产传媒日本欧美专区| 亚洲色阁| www.夜夜操| 天天性射网| 激情久久久| 欧美综合色综合| 啪啪啪精品视频| 婷婷15月天青娱乐| 亚洲天堂男人天堂| 久久综合久久综合人久久夜精品| 2017天天操| 女优免费一区二区永久| 天综合网欧美| 日本午夜精品理论片A级APP发布| 免费成人在线熟妇网| 加勒比在线观看一区二区| 久久伊人网视频一区二区三区| 成·人免费午夜在线观看| 91爱综合| 99999精品| 国产又黄又猛又粗又爽的网站| 欧美 亚洲精品首页| 丁香五月偷拍| 欧美亚洲激情| 精彩国产视频播放1区2区| 视频国产成人精品日本亚洲18| 97视频在线观看播放与子乱对白在线……| 91人妻在线视频| 富二代亚洲精品99| 婷婷干黄色| 偷拍综合亚洲| 亚洲欧综合另类无码一区| Aa东京男人的天堂| 中文字幕性感少妇av| 黑丝制服中文字幕| 五月丁香综合激情| 九九九九精品| 亚洲欧洲色情高清| 99婷婷一区二区| 内射黑丝袜| 综合久久婷婷| 97视频免费在线观看| 亚洲美欧999| 亚洲天堂中文字| 婷婷五月天色网| 日本三级中国三级99人妇网站| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 国产偷人妻精品一区二区在线| 久久无码电影| 国产精品网址| 青女在线| 欧美精品999| 国产成年女黄特黄| 久久夜精品一区二区三区| 熟女视频久久| 色九久| 天堂资源站| 小泽玛利亚一二三| 欧美特大AA级黄片| 超碰 欧美| 亚洲少妇诱惑| 99re国产中文字幕| 97超碰精品图片| 熟女天天干| 操逼日韩无码 | 91无遮挡| 97超碰中文字幕| 91狠狠综合久久久久久| 欧美亚洲尤物久久| 最新制服中文第一页| 综合网欧| 亚洲少妇色| 亚洲91在线播放影院| 亚洲天堂2020| 欧美亚洲综合999| 欧美最婬乱婬爆婬性视频| 日本一区二区成人在线| 富女玩鸭子一级毛片| 全国男人天堂网| 久久蜜色情在线视频xxx免费观看| 天美精品av| 成年人一级黄色毛片大全在线观看| 日日骚AV| 超碰色美女| 亚洲熟久久| 欧美亚男人的天堂| 五月天伊人| 亚洲色色探花| 伊人网免费视频| 亚洲欧美在线丝袜| 日日A∨| 精品亚州18| 久久久久久久久久久久久久9999| 欧美成人午夜免费福利785| 一级成人性爱| 日韩性爱啪啪视频| 欧美日韩欧美| 黑人精品欧美一区二区蜜桃| 97国产精品久久久久| 亚码人妻| 美女毛片999| 嗯嗯啊啊亚欧精品| 91在线页| 无码免费一区二区三区啪啪| 国内毛片无码一级毛片| a在线视频免费观看| 国产亚州高清国产拍精| 第四色奇米影视777| 欧美亚洲国产91在线| 操国产高清| 天天伊人| 久久97超碰| 久久午夜神马| 神马久久久久久| 91精品老女人| 久久久久久性爱免费视频| 久久大香蕉97| 中文字幕视频二区| 欧美宗合网| 97天天操| 好涩综合| 亚洲男人的天堂va亚洲男人社| 密臀在线视频| 久久国产精品m码| 青青在线视频免费| 欧美天天射| 97精品免费视频网站| 欧美色欧美| 人人干人人操人人爱| 久草尤物| 十八禁的黄污污免费网站| 2021久久国产综合精品青草| 国产尹人在线视频免费| 艹我哪美一区无码| 夜夜操av亚洲一区二区| 麻豆性爱视频在线播放| 日韩欧美资源| 97色欧洲| 欧美日韩1234| 无码动漫av中文字幕| 亚洲色图尤物视频| 强奸乱伦资源| 超碰在线91| 91国产丝袜足交精品视频| 91网18| 1204av韩国| 高精欧美色| 97超碰人人模人人拍人人| heyZO天然素人无码AⅤ专区| 夜嗨影院| 欧美熟女少妇| 性欧美另类高清| 熟妇高潮精品一区二区三区下载| av草草在线电影| 高清孕妇孕交 交| 久久只有精品| 神马久久久久久伦理片| 99ri视频| 久超超碰| 久久999久| 日本三级A片网站com| 日韩成人人妻网站| 十八禁网站在线| www.色婷婷色综合| 亚洲成A∨人影院在线欢看| 久久婷婷一区二| 人妻铁牛TV| 思思热在线| 天天做天天爱| 中文字幕 人妻不满 在线视频| 91热| 香蕉婷婷| 人妻少妇精品久久久久久久| 久99视频| 欧美色自拍| 人人做,人人操,人人摸| 久久国产精品,久久国产| 国产精品人妻无码久久久互動交流 | 国产麻豆一区二三区| 97精品熟女少妇一区| 五月天激情国产综合婷婷婷| 色欲av国内精品久久久久久| 这里只有精品久久| 日本三级精品| 日韩熟妇二区| 91综合网站| 丁香五月影院| 日韩欧无码一区二区三区免费不卡 | 亚洲激情色片| 五月婷网站| 欧美在线 亚洲| 操www| 欧美后入式| 亚洲va综合va国产va中文| 青娱乐黄色录像| 亚洲春色激情小说| 美女裸体无遮挡永久免费观看网站| 亚洲精品97在线| 以及麻豆国产入口在线观看免费| 久久偷拍人| 中文字幕一区二区韩| 呻吟 欧美 日本 中出| 韩国三级理论在线| 亚洲国产熟妇综合色专区| 久jiu久神马影院| 亚洲图片色图欧美另类| 日本性一区| 久久婷婷视频| 免费人成毛片乱码| 97久久久精品| 操逼视频亚洲| 久久超碰com| 欧美久久毛片基地| 国产精品女aA片爽爽视频| 人妻少妇久久中文| 五月丁香六月婷综合成人综合| 亚洲欧美97| 蜜桃视频一区二区三区在线观看| 三级特黄60分钟播放| 夜夜操中文字幕| 麻豆60秒| 18禁美女裸体无遮挡啪啪| 丝袜美腿丝袜| 爽爽爽免费视频| 青娱乐国产盛宴视频| 欧美色999| 无码人妻系列少妇| 大香蕉伊人色偷偷在线| 在线有码中文字幕| 国产蜜臀精品一区二区尤物| 欧美日韩国产电影| 国产原创剧情在线丝袜| 欧美片第一页| 亚州高清AV| 青青草啪啪网| 久久人人妻| 久久久久国产精品喷潮免费观看臀 | 国产激情久久久| 伊人黄色片| 夜夜 中文视频rt| 欧美激情 日韩精品| 免费在线观看AV无码网站| 国产毛片毛片4p懂色| 91天天美女| 亚洲综合113页| 亚洲影视综合网| 亚洲欧洲日韩国产自在线| 一区二区三区国产在线播放 | 99丝袜福利在线播放| 99久久精品无码一区二区| 三上悠亚在线毛片91| 天天综合站| 天天干2019| 天天干天天爽| 伦理片秋霞免费影院| 日本东京热久久久电影| 欧美BT 亚洲色图| 歐美一級亂黃99在綫精品| 蜜桃成人1区2区3区| 91free福利| 成人性爱视频在线看| 欧美人黑A片无码免视费| 美女91色黄18| 69久久久久久久久久久久久| 久久色一区| 男人天堂2019亚洲| 麻豆国产96在线| 中文字幕aⅴ在线视频| 中文字幕高清精品一区| 在线不欧美| 久久久啊啊啊| 日日噜噜夜夜久久亚洲一区二区| 黄呦呦在线| 中文字幕乱碼在线| 校园春色制服丝袜中文字亚洲| 久久久久婷婷| 天天干美少妇一区| 亚洲天堂 视频你懂的| 91快色色色色色| 日本免费中文字幕在线| 9999久久久| 亚洲无码com| 青娱乐休闲视频在线观看| 熟女精品日韩一区二区三区 | 国产亚洲一黄| 精品人妻伦一二三区久久| 亚洲第一成人影院色播| 大色综合网| www.色操逼| 国产成人精品亚洲日本| 亚洲一本大道中文字幕无码在线| 欧美日韩一区二区三区四区蜜桃| 人妻天天爽天天爽三区| 久久久久久亚洲Av无码精| 91丨国产丨白浆秘 洗澡动漫| 性色A∨91| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 久久麻豆一区二区| 亚州色交| 大稥蕉免费视频这里只有精品| 黑丝少妇在线观看| 色欲日韩欧美在线一区| 五月天激情小说| 一区二区偷拍拍视频| 精品无码久久久久久国产浪潮| 亚洲日本加勒比在线| 综合熟女| 成人精品电影| 欧美五区| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲人妻色图| 国产精品诱惑| 中国一级操逼视频| 亚洲 一区二区 自拍| 国产高清成人传媒影视| 激情丁香五月| 一二三啪啪专区| oumeizonghese,www| 国产中午字一暮区| 好涩综合| 青青草久草| 家庭乱伦性爱av| 九九色逼| 色女网日韩|