日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(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í)的朋友都有過(guò)這種體驗(yàn)GPU 利用率監(jiān)控看著沒(méi)毛病可訓(xùn)練吞吐就是上不去排查鏈路轉(zhuǎn)了一圈才發(fā)現(xiàn)時(shí)間幾乎全耗在同一類運(yùn)算上——矩陣乘法。我之前做模型性能剖析時(shí)統(tǒng)計(jì)過(guò)從 embedding 到輸出層GEMM 類算子能占到整體耗時(shí)的七成以上。這也是我后來(lái)動(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)核庫(kù)的通用方案更像是我對(duì)自己的一次摸底GEMM 到底怎么設(shè)計(jì)才能在特定 shape、特定精度下把硬件算力吃干凈。這篇文章會(huì)從為什么自研、底層原理、實(shí)現(xiàn)路徑、性能調(diào)優(yōu)到一次完整的排錯(cuò)過(guò)程都攤開(kāi)來(lái)講適合正在優(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 占比很容易超過(guò) 70%。訓(xùn)練場(chǎng)景還多一個(gè)反向傳播矩陣乘的數(shù)量直接翻倍這個(gè)比例只會(huì)更高。所以當(dāng)你在性能剖析工具里看到某個(gè) GEMM 算子耗時(shí)異常別急著懷疑數(shù)據(jù)加載或者并行通信先檢查算子本身的實(shí)現(xiàn)效率。這也是自研 GEMM 內(nèi)核最直接的收益點(diǎn)你可以精確控制每一字節(jié)的訪問(wèn)路徑和每條硬件指令的調(diào)度而不是被迫接受別人預(yù)設(shè)的策略。我見(jiàn)過(guò)好幾次換庫(kù)版本后推理提速的案例本質(zhì)就是新版本對(duì)某些 shape 選擇了更合適的 tile 切分而不是什么玄學(xué)優(yōu)化。1.2 cuBLAS 和 CUTLASS 都很好為什么還要有 DeepGEMM官方庫(kù)封裝得越徹底對(duì)調(diào)用者來(lái)說(shuō)黑盒程度就越高。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ī)器上做到足夠快。這種取舍帶來(lái)兩個(gè)直接好處一是代碼量小、可讀性強(qiáng)每一條關(guān)鍵路徑都能很快定位二是遇到性能問(wèn)題時(shí)可以拿官方庫(kù)做基準(zhǔn)對(duì)照從 profiling 數(shù)據(jù)中反推差距在哪個(gè)環(huán)節(jié)真正把性能優(yōu)化的能力握在自己手里。如果你的業(yè)務(wù)只是定期跑幾類固定矩陣規(guī)模自研內(nèi)核完全有理由比通用庫(kù)更貼合你的計(jì)算模式。1.3 DeepGEMM 的目標(biāo)邊界FP8、Hopper 與工程妥協(xié)做任何內(nèi)核項(xiàng)目都要先劃清邊界否則會(huì)因?yàn)槭裁炊枷胫С侄萑霟o(wú)盡復(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)化小矩陣則退回到簡(jiǎn)單路徑不做過(guò)深調(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 最簡(jiǎn)單的 GEMM 內(nèi)核長(zhǎng)什么樣寫一個(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è)核心問(wèn)題數(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ì)算密集型??涩F(xiàn)實(shí)中為什么很多 GEMM 跑不出峰值因?yàn)闆](méi)有有效的數(shù)據(jù)復(fù)用結(jié)構(gòu)實(shí)際從 DRAM 搬運(yùn)的字節(jié)數(shù)是理論值的幾十上百倍。所以優(yōu)化的本質(zhì)就是通過(guò)分塊讓數(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)于倉(cāng)庫(kù)共享內(nèi)存相當(dāng)于灶臺(tái)寄存器相當(dāng)于手邊已經(jīng)洗凈備用的配料。GEMM 內(nèi)核算法的核心就是設(shè)計(jì)一條從倉(cāng)庫(kù)批量取貨、放到灶臺(tái)上、再在手里快速加工的流水線。傳統(tǒng) CUDA 手動(dòng)調(diào)度路徑里一個(gè) CTA 通常負(fù)責(zé)一個(gè)輸出 tile先在共享內(nèi)存鋪好 A 和 B 的塊再由各線程從 SMEM 讀取數(shù)據(jù)做乘累加。Tile 尺寸的選擇直接決定復(fù)用率和硬件資源占用。常見(jiàn)策略是每個(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 來(lái)說(shuō)非常充裕于是還可以進(jìn)一步加寬 N 方向的 tile用更多的片上數(shù)據(jù)換取更低的 DRAM 訪問(wèn)頻率。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ù)題看起來(lái)很樸素但它決定了內(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ù)位最大值范圍適用場(chǎng)景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è)過(guò)程不是每元素做一次除法而是提前算好 scale最后在輸出端乘回來(lái)。這個(gè)設(shè)計(jì)在代碼層看起來(lái)只是多了兩個(gè)乘法但它決定了整個(gè)量化誤差的分布形態(tài)。3.2 Tensor Core 指令形態(tài)從 mma.sync 到 wgmma要真正把 FP8 算力燒起來(lái)光靠普通的 FMA 指令是不夠的。Tensor Core 本質(zhì)上是一組專用的矩陣乘累加硬件單元需要通過(guò)特定指令驅(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 的好處顯而易見(jiàn)一次指令能覆蓋更大的輸出范圍硬件調(diào)度也允許與數(shù)據(jù)搬運(yùn)輸送完全重疊。但也帶來(lái)了一個(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)過(guò)程中完成 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è)模型很像工廠里的采購(gòu)員和裝配工采購(gòu)員只管把原料運(yùn)進(jìn)倉(cāng)庫(kù)裝配工不管原料怎么來(lái)的只等倉(cāng)庫(kù)里有貨就開(kāi)工。// 概念性偽代碼數(shù)據(jù)流水線主循環(huán) // 僅用于說(shuō)明生產(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è)線程塊集群通過(guò)分布式共享內(nèi)存機(jī)制互相讀取對(duì)方在共享內(nèi)存中的數(shù)據(jù)。這意味著一個(gè) CTA 計(jì)算輸出 tile 時(shí)不需要把完整的 A 或 B tile 都裝進(jìn)自己那一份 SMEM 里而是可以讓相鄰 CTA 把自己的 A tile 分享出來(lái)。DeepGEMM 在部分 shape 上啟用了這個(gè)功能。比如一個(gè)大矩陣的 N 方向被切成很多窄條相鄰 CTA 所需的 B tile 完全一樣此時(shí)讓其中一個(gè) CTA 加載并廣播給其他 CTA能省掉重復(fù)的 DRAM 讀取。這個(gè)特性讓 tile 切分策略有了新的維度不再單純?yōu)榱藴p少全局訪問(wèn)而把 SMEM 塞滿還可以通過(guò)集群通信實(shí)現(xiàn)數(shù)據(jù)共享。當(dāng)然分布式共享內(nèi)存也帶來(lái)同步復(fù)雜度???CTA 訪問(wèn)數(shù)據(jù)必須用集群級(jí)的 barrier 保證順序稍有不慎就會(huì)出現(xiàn)讀到了半成品數(shù)據(jù)的問(wèn)題。我的建議是第一版內(nèi)核先別碰這個(gè)特性等單 CTA 路徑跑穩(wěn)、性能基線確定后再作為進(jìn)階優(yōu)化加上去否則出現(xiàn)問(wèn)題時(shí)會(huì)很難分清是 TMA 描述符寫錯(cuò)還是集群同步丟步。4. 性能調(diào)優(yōu)在 Nsight Compute 面前逐項(xiàng)逼出峰值4.1 第一輪先跑通基線版本記錄真實(shí)的短板任何優(yōu)化都離不開(kāi)可量化的起點(diǎn)。DeepGEMM 第一版是直接照搬常見(jiàn) CUTLASS 思路寫出來(lái)的基礎(chǔ)雙緩沖版本沒(méi)有做 swizzle也沒(méi)有分布式共享內(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í)測(cè)數(shù)據(jù)中tensor 核心利用率不高同時(shí) bank conflict 告警非常密集。這說(shuō)明當(dāng)前內(nèi)核的問(wèn)題在數(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í)訪問(wèn)落在同一個(gè) bank 但不同地址的位置就會(huì)發(fā)生所謂的 bank conflict一次訪存被拆成多次。GEMM 這種高并發(fā)讀 SMEM 的負(fù)載對(duì) bank 布局極度敏感。最簡(jiǎn)單的布局下A tile 按行連續(xù)排列一行 128 字節(jié)。如果一行正好跨越了 32 個(gè) bank 的兩個(gè)周期而 warp 里的線程又在讀同一列的數(shù)據(jù)沖突就會(huì)出現(xiàn)。解決辦法是給地址加上一層 swizzle讓每個(gè)線程讀到的邏輯位置映射到不同的物理 bank。以常見(jiàn) 128 字節(jié)行寬為例可以按 8 行一組做異或擾動(dòng)// 常見(jiàn) swizzle 策略按行、列做 XOR 擾動(dòng) // 實(shí)際使用哪種模式取決于 tile 形狀和 SMEM 寬度 constexpr int SMEM_STRIDE 128; // 字節(jié) int swizzled_offset (row * SMEM_STRIDE) ^ ((col % 32) * 4);這行代碼看起來(lái)像是在亂改偏移但它把原本順序訪問(wèn)的模式打散成了跨 bank 的均勻分布。實(shí)測(cè)在加了 8 行 XOR swizzle 后bank conflict 基本消失張量核心利用率直接提升了一截。這個(gè)階段最值得留意的是不要憑直覺(jué)猜 swizzle 公式而是每次調(diào)整后都重新跑分析器看沖突計(jì)數(shù)是不是真的下降。4.3 第三輪雙緩沖升級(jí)為深度流水線延遲隱藏更進(jìn)一步雙緩沖能解決搬一陣、停一陣的交替問(wè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ì)列而不是簡(jiǎn)單地切換 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í)緩沖換來(lái)的是更高的流水線余量讓 wgmma 和 TMA 的時(shí)序抖動(dòng)被緩沖吸收。實(shí)測(cè)三級(jí)緩沖相比二級(jí)在超大 K 的矩陣上提升了大約 8% 到 10%。這是因?yàn)?K 越大每個(gè)輸出 tile 需要連續(xù)搬運(yùn)的數(shù)據(jù)塊越多流水線越深越不容易把空缺暴露出來(lái)。至于要不要繼續(xù)加到四級(jí)、五級(jí)取決于 SMEM 容量預(yù)算畢竟還要給 wgmma 的累加結(jié)果留位置。4.4 實(shí)測(cè)數(shù)據(jù)不同 shape 下 DeepGEMM 與官方庫(kù)對(duì)比以下是某塊 Hopper 架構(gòu) GPU 上的實(shí)測(cè)對(duì)照數(shù)據(jù)。需要說(shuō)明的是官方庫(kù)的版本更新很快不同版本在同一 shape 上數(shù)據(jù)會(huì)浮動(dòng)這里只記錄當(dāng)時(shí)測(cè)試環(huán)境下的結(jié)果作為策略參考而非排名結(jié)論。矩陣規(guī)模 (M x N x K)實(shí)現(xiàn)方案耗時(shí) (ms)TFLOPS8192 x 8192 x 4096官方庫(kù) BF160.86約 6408192 x 8192 x 4096DeepGEMM FP8 雙緩沖0.54約 10198192 x 8192 x 4096DeepGEMM FP8 三緩沖swizzle0.49約 11231024 x 4096 x 2048官方庫(kù) FP80.041約 4191024 x 4096 x 2048DeepGEMM FP80.037約 464大矩陣規(guī)模下DeepGEMM 通過(guò)三緩沖和 swizzle 達(dá)到了硬件峰值的 50% 以上相比雙緩沖版本有明顯優(yōu)勢(shì)。但中小矩陣下差距就小很多了原因有兩個(gè)CTA 總數(shù)量不夠無(wú)法把所有 SM 都占滿TMA 的單次搬運(yùn)塊偏小延遲隱藏的空間有限。這也驗(yàn)證了之前定下的邊界主打超大矩陣小矩陣場(chǎng)景用簡(jiǎn)單路徑就夠了。5. FP8 運(yùn)算的精度陷阱兩個(gè)尾數(shù)位省下來(lái)的成本5.1 為什么 FP32 累加器并不能解決所有問(wèn)題FP8 的輸入只有 3 位尾數(shù)E4M3相乘結(jié)果的尾數(shù)位更是有限。即使 Tensor Core 支持 FP32 累加累加時(shí)的舍入順序依然會(huì)帶來(lái)浮點(diǎn)誤差。舉個(gè)例子連續(xù)累加幾千個(gè)數(shù)如果其中某個(gè)中間結(jié)果相對(duì)其他值大很多小值就會(huì)被大值完全淹沒(méi)這在浮點(diǎn)運(yùn)算中被稱為吸收消除。FP32 累加器可以緩解尾數(shù)截?cái)嗟珶o(wú)法修復(fù)輸入本身的量化噪聲。想進(jìn)一步提高數(shù)值穩(wěn)定性有兩條常用手段。其一是隨機(jī)舍入以數(shù)據(jù)低位為概率將結(jié)果向上下兩個(gè)方向隨機(jī)舍入這樣多次計(jì)算的平均誤差趨于零。其二是把累加順序做樹(shù)形規(guī)約在硬件允許范圍內(nèi)盡量讓相同量級(jí)的數(shù)先相加減少大數(shù)對(duì)小數(shù)的影響。DeepGEMM 的默認(rèn)路徑使用普通順序累加因?yàn)?Tensor Core 的硬件路徑已經(jīng)固定但在需要高精度的場(chǎng)景可以切換到隨機(jī)舍入模式。5.2 scale 設(shè)計(jì)per-tensor、per-channel 與在線量化scale 的選擇直接決定 FP8 的量化誤差。最簡(jiǎn)單的 per-tensor 方案是拿整個(gè)矩陣的最大絕對(duì)值去除得到一個(gè)統(tǒng)一的 scale。實(shí)現(xiàn)簡(jiǎn)單但如果激活值分布不均比如某些通道整體極小某些通道極大統(tǒng)一 scale 會(huì)讓小通道幾乎退化成零。策略開(kāi)銷誤差特點(diǎn)DeepGEMM 支持情況per-tensor最低分布不均時(shí)誤差大默認(rèn)per-channel中等對(duì)權(quán)重效果好激活仍需謹(jǐn)慎可配per-group (128元素一組)較高誤差最平穩(wěn)訓(xùn)練場(chǎng)景建議訓(xùn)練場(chǎng)景中在線量化需要在每次前向時(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í)測(cè)失真的對(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 基本貼合。這說(shuō)明 FP8 用在訓(xùn)練上完全可行前提是 scale 不能偷懶至少要做分組級(jí)的統(tǒng)計(jì)。推理階段相對(duì)寬松。固定權(quán)重的前提下per-tensor scale 帶來(lái)的精度損失可能只有幾個(gè)百分點(diǎn)對(duì)于大部分應(yīng)用可以接受。這里我給個(gè)實(shí)際建議如果你的部署模型對(duì)精度非常敏感先在驗(yàn)證集上同時(shí)跑 per-tensor 和 per-channel 兩組推理比較輸出分布的變化再?zèng)Q定是否需要更復(fù)雜的量化策略不要一上來(lái)就上最貴的方案。6. 排錯(cuò)實(shí)錄一次 K 維不對(duì)齊引發(fā)的 48 小時(shí)定位6.1 現(xiàn)象某些 shape 完全正常另一些隨機(jī)出錯(cuò)DeepGEMM 跑常規(guī) shape 時(shí)一直很穩(wěn)直到某次我測(cè)試 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ù)競(jìng)爭(zhēng)或者越界寫入。如果只是算術(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)的概率降低但沒(méi)消失。這一步排除了純粹的雙緩沖競(jìng)爭(zhēng)——若是生產(chǎn)者消費(fèi)者同步問(wèn)題單緩沖下應(yīng)該完全消失。第二步是用內(nèi)存檢測(cè)工具跑同一 case。工具很快報(bào)出共享內(nèi)存越界寫入的警告指向一個(gè) CTA 在某次循環(huán)里寫到了自己 SMEM 范圍之外。順著這個(gè)線索我開(kāi)始逐行檢查 TMA 描述符的邊界計(jì)算尤其是 K 維循環(huán)接近末尾時(shí)的 tile 尺寸處理。最后發(fā)現(xiàn)問(wèn)題出在一個(gè)邊界分支里當(dāng) K 的剩余長(zhǎng)度不足一個(gè) K_BLOCK 時(shí)代碼仍然用了完整的 K_BLOCK 去構(gòu)造描述符導(dǎo)致 TMA 讀取越界數(shù)據(jù)同時(shí)把共享內(nèi)存寫壞。6.3 根因tile 邊界的回卷寫覆蓋與同步缺失為什么 K1024 正常而 K1280 就出問(wèn)題因?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í)際剩余長(zhǎng)度裁剪 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ù)可能被過(guò)早逐出在后續(xù)重算時(shí)引發(fā)不一致。第二個(gè)是多個(gè) CTA 對(duì)同一輸出區(qū)域的原子累加FP32 原子加不保證順序結(jié)果浮點(diǎn)誤差會(huì)在不同 run 間波動(dòng)。第三個(gè)是共享內(nèi)存分配的對(duì)齊問(wèn)題128 字節(jié)對(duì)齊和 4 字節(jié)對(duì)齊在 TMA 描述符眼里完全不同寫錯(cuò)一個(gè)字段就可能導(dǎo)致跨邊界讀。疑似問(wèn)題排查手段結(jié)論雙緩沖競(jìng)爭(zhēng)切換單緩沖復(fù)測(cè)排除數(shù)據(jù)取值邏輯CPU 復(fù)算分組比對(duì)定位到特定 tileSMEM 越界內(nèi)存檢測(cè)工具掃描確認(rèn)越界TMA 描述符邊界逐行檢查 K 剩余長(zhǎng)度根因K 塊未裁剪如果你也遇到類似小矩陣沒(méi)問(wèn)題、大矩陣偶發(fā)錯(cuò)的 case我的建議是直接運(yùn)行內(nèi)存檢測(cè)工具再配合單緩沖復(fù)測(cè)把手動(dòng)同步的變量排除干凈。這類問(wèn)題最怕一上來(lái)就猜是浮點(diǎn)誤差把方向帶偏。拿到確鑿的越界報(bào)告后再回頭檢查所有描述符、指針、步長(zhǎng)參數(shù)往往比自己盯著代碼發(fā)呆更高效。最后再分享一個(gè)實(shí)際觀察GEMM 內(nèi)核的調(diào)試和調(diào)優(yōu)要分開(kāi)對(duì)待。調(diào)優(yōu)階段可以大膽試各種 swizzle 和緩沖深度因?yàn)殄e(cuò)誤是好觀測(cè)的但一旦進(jìn)入排錯(cuò)階段先復(fù)算簡(jiǎn)單路徑、再上檢測(cè)工具、最后才動(dòng)代碼這個(gè)順序不要亂。跑大量邊界 shape 的矩陣乘法作為回歸用例比單點(diǎn)性能數(shù)據(jù)更值得長(zhǎng)期維護(hù)——像 K 維不整除、N 方向剩余窄條這類隱蔽問(wèn)題都是靠邊界用例抓出來(lái)的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久久久久久免费A片国产成a人亚洲精∨品无码| 91久久九九精品国产综合| 啪啪一区| 久久美女国产| 久热影视| 欧美一区二区男人天堂| 国产蜜臀在线| 久久精品视频28| 99热自拍| 蜜臀操逼黄色视频操的好爽| 亚洲午夜av| 99国产精品视频尤物| 91美女视频| 天堂精品一区| 九九九九九精品十六| 久久久婷婷| 亚洲 日本 国产 综合| 国产黄色剧情影片麻豆免费播放| 日日干日日摸| 国产人妻精品一区二区三区秋霞 | 91操熟妇| 99精品综合久久久久五月天| 久久人爽| 天天草AV| 欧美 亚洲 另类 综合| 67914亚洲精品| 中文字幕 国产 精品| 国产精品国产自产高清AV| 91老熟妇| 最新av中文字幕高清| 国产精品美女在线一区| 欧美gv在线观看| 国产精品96| 91色花堂| 成人羞羞视频国产| 久久久性| 日日操免费视频| 一起草高清无码| 东北少妇高潮zzzz| 91av熟女人妻| 精品在线观看视频在线| 日本亚洲熟女视频| www.99热| 少妇被玩视频二三区| 六月婷激情福利天堂69| 九九热精品在线| 夜夜中出国产| 吉川爱美亚洲二区在线| 欧美丰满少妇交换91欧美精品| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 精品视频久久| 91网站18| 九色精品视频导航1| 99re公开精品免费视频| 玖玖综合.com| 日韩午夜国产| 性色A∨91| a亚洲欧美色欲| 日韩成人性日韩成人性爱视频在线免费观看| 我要去看2个日本美女.com曹逼| av网站在线看| 国产高清26uuu| 国产欧美亚洲精品a第2页| 午夜人妻精品综合在线| 美女淫穴| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 色色色色综合网| 精品-91人妻子系列| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 欧美一级欧美三级在线观看| 日韩精品午夜操呦呦不卡影院| 草草草草视频| 亚洲无码久久久久久久| 亚洲色图超碰在线| 9长久久精品| 亚洲一区中文字幕| 9国产超碰| 色色色色日本| 嗯啊不要在线观看嗯啊| 亚洲日韩久久精品一区| 操婢日韩| 精品区9| 草伊人高潮喷水超碰| 色就色综合| 日本在线播放不卡一区| 久久久婷| 美女被啪到深处抽搐视频| 亚洲国产婷婷在线播放| 美女尤物福利视频| 国产夫妻性生活视频| 操逼A∨| 亚洲高清无码AAA久久久精品| 蜜臀av在线播放一区二区三区| 欧美亚洲20p| 综合色久欲| 91亚州| 中文字幕日本久久| 91强在线播放| Sekablack无码一区| 天堂8在线新版官网| 日本曲间由美性生活片| 麻豆综合一区av| 99热成人| 天天色综合影视网| AV无码久久久精品| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 久久久专区| 豆花视频操逼网址| 色综合美国| 人人操超碰在线| 国产性爱在线视频一区二区| 亚洲欧美日韩有码| 91伊人久| 本道在线| 国产精品老师| 中文字幕一区二区无码成人| 国产成人无码网站在线视频| 九九九偷拍| 91亚洲欧美激情| 91在线视频免费中出| 夜夜嗨老熟女AV一区二区三区| 伊人网青青| 欧美日日网| 欧美性第一页| 天天综合网~91综合网| 亚欧无码在线| 久污| 久久久久久国产手机AV| 亚洲一级特黄大片在线播放91| 六月婷激情福利天堂69| 视频国产欧美在线播放| 中文有码第五页| 免费人成毛片乱码| 久久做97| 国产精品呦一区二区三区| 加勒比五月天| 操婷婷逼| 啊啊啊想要| 后入内射蜜桃臀| PMv在线观看| 精品人妻一区二区乱码一区二区| 亚洲高清无码在线桃色| 久久网亚洲| 成人五月香网在线| 国产成人欧美一区二区三区的国产| 欧美成人色| 大香蕉丝袜一级片| 日本性爱欧美性爱| 熟妇无码视频三区| 殴美,日韩国产伦精品| 亚洲色图 欧美| 天天综和| 日韩性爱高清免费视频| 欧美区亚洲区偷拍区| 91成人社区| 综合欧美日本三级| 亚洲国产成人精品久久久国产成人一区二区 | 激情五月激情综合网| 放黄片放3级黄片没穿衣服| 强上我不卡卡| 久操婷婷| 在线观看亚洲专区| 男人天堂网站| 国产日本顶级一区二区三区| 欧美性暴力猛交XXXX | 影音先锋一区二区在线资源| 亚洲天堂区| a片在线播放| 日日干夜夜欢| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 60秒免费小视频| 中文自拍欧美影视| 欧美一区二区三区入口| 91老熟女| 蜜臀Av一区二区三区| 动漫爆乳3D奶水一区在线观看 | 999日韩中文精品观看视频。| 日本熟女免费視颖| 91精品微拍福利| 天天干嫩逼网| 激情久久日韩精品中文字幕麻豆| 午夜男人天堂| 婷婷综合在线| 澳门特级毛片免费观看| 97人人夜夜精品视频| 精品对白久久不卡| 久草精品在线| 久久机热| 亚洲Av噜噜一区二区三区妖精| 无码国产精品午夜不卡(| 2019天天干天天操| 久操91视频| 欧美肥臀在线| 久久久96精品| 久操影视| www.男人天堂| 破处bbq| 超碰色中文| 五月婷在线| 国产尹人在线视频免费| 久久精彩免费视频| 久久的网站啊啊啊啊啊| 九九热免费国产视频婷婷伊人五月| 美女91av| 在线黄色污污网站| 射丝袜大香蕉| 蜜臀99久久精品久久久久久| 99热这里只有精品1| 亚州Av天美传媒| 四虎884a| 国产成人啪一区二区| 亚欧美综合网。| 自拍欧美| 九七毛片九九毛片| 美女让帅哥通她小鸡鸡| 2017大香蕉| 人人性爱视频免费| 在线观看亚洲成人精品| 中文字幕亚洲永久精品| 欧美经典一区二区三区| 亚洲古典另类欧美在线| 人、人、摸,人、人、草| 自拍偷拍 高清无码| 少妇干B| 亚欧性爱ab| 亚洲成熟国产精品美女| AV九九| 久久久久久久久久久久久久久性生活视频| 素人播放一区| 亚洲综合大片| 久操国产在线| 91丨九色丨国产丨人妻在线 | 国产 亚洲 丝袜 制服| 亚洲制服aⅴ中文字幕| 一级性爱视频免费观看| 国内精品久久久久影院亚洲| 无码自拍SM| 夜夜草网站| 91大学精品激情戏| 在线综合 亚洲 欧美中文字幕 | 台湾佬大香蕉| 91被操| 免费黄色片。| 久久久婷婷婷| 欧美熟妇精品黑人巨大一二三区| 果冻传媒一区二区三区| 欧美影院一区二区三区| 中国AV美女| 黄aaaaaaaaaaaaaaaaaa色网站| 日本三级日本三级99| 夜夜夜久久| 九久久精品| 综合网91| 国产小u女在线观看| 粉嫩国产精品久久粉嫩| 欧美日韩精品久久久久东北老熟妇| 人妻81p| 五月丁香色色网| 夜草欧美| 国产日韩精品suv| 黄片免费看黄片免费看| 2026国产精品视频| 色色毛片| 日韩AV片| 麻豆一区二区AV天美| 超碰精品国产无码| 91蜜桃婷婷狠狠久久综合9色| 天操天操夜操夜月操月年年操| 亚洲s色图| 久久 精品| 欧美强奸乱| 在线人妻熟女一区二区三区四区五区| 欧美日日人人天天| 天天懆天天日| 黑丝少妇麻豆| 粉嫩av在线| 色色五月丁香| 中文字幕一区二区三区四五区| 亚洲AV秘无码一区..| 色啪网| 天天操天天谢| 亚洲无码免费看| 久久大香蕉手机高清视频| 国产丁香精品露脸视频| 婷婷亚洲综合| 清纯唯美亚洲综合| 天天干天天日天天射黄色大片| 欧美黑人与女人91| 丁香五月成人| 情色大香蕉| 亚洲无码一二三区| 亚洲熟女乱色一区二区三区久久久 | 国产精品久久久久久久无码AV| 在线播放中文字幕| 91中文字幕在线观看| 国产精品久久99日日| 欧美曰韩国产精品| 99久久久无码精品国产人| 91在线免费观看处女| 欧美AB在线| 精品国产乱码久久久久久久久1 | 99色视频| 国产农村妇女精品| 亚熟在线| 国产精品制服丝袜清纯唯美| 精品人妻一二三四区视频| 成人激情无码在线视频| 国产AV人人夜夜澡人人爽麻豆| 亚洲欧洲综合av在线| 97色色国产视频| 涩涩涩综合| 超碰1997| 91一起操| 亚洲图片日本AⅤ欧美在线| 九九英色视频| 日本韩欧美在线播放a| 精品超碰色| www.婷婷| 亚洲图片日本AⅤ欧美在线| 鸥美极品| 69精品少妇一区二区三区蜜桃| 青青操狠狠撩| 中文字幕三四五区| 亚洲综合影片| 色噜噜人妻丝袜a∨先锋影| 9久9久9久9久视频网站| 欧美激情总合网| 免费a级毛片av无码久久精品中文字幕| 色欲色香天天天综合网www-亚洲综合国| 国产隔壁老王影院在线| 91网站18+| 99∨VTV| 午夜亚洲WWW湿好大| juliaann丝袜大战黑鬼| 免费观看的av| 亚洲国产尤物yw在线观看| 日本ZZ高免费A级视频| 99精品视频在线观看| 中文字幕天堂在线| 激情婷婷黑人91| 中文字幕精品丝袜| 丁香五月天激情网站| av天堂电影网| 亚洲欧美啪啪| 亚洲不卡不卡中文字幕不卡| 中文字幕日本久久| 亚洲成人免费中文字幕| 91处女在线观看| 久草在| 奸色色 男人天堂 天天射| 亚洲精品国产熟女| 操逼网站网站| 天天做天天爱天天爽AV| 一本久道久久综合狠狠爱| 国产成人精品必看| 日本不卡二区| 深夜激情| 九九九只有精品| 综合网欧| 日韩一区二区熟女| 五月婷婷色| 国产区性爱在线视频秋霞豆| 久久成人国产精品| 精品亚洲| 精品亚洲天堂| 国产一二三在线视频五十路| 嫩草 我啊~嗯~在线| 亚洲欧美中日韩| 蜜桃久久综合视频| 婷婷激情五月综合| 91强热人妻| 天堂俺去俺来也www久久婷婷| 东北女人操逼| 婷婷超| 亚洲婷婷丁香在线| 国产一级内射高清视频| 久久久久久99AV无码免费网站| 熟妇人妻精品一区二区| 床戏久久久av一区二区麻豆| 色哟哟av| yazhououmeizongya| 道久久五香丁月婷婷激情综合| 熟妇熟女一区二区三区| 91无码精品| 97ai亚洲| 天天日天天看| 97视频免费播放| 91成人无码| 青草一区二区| 人妻色偷色噜| 亚洲小电影免费涩涩成人在线高清| 亚洲一区二区三区在线激情| 色屁屁影院www国产| 成年人网站在线免费观看| 在线视频亚洲无码| JIZZJIZZ亚洲女人被躁| 国产又黄又粗的视频| 中国操逼无码| 韩日性爱av| 久热香蕉精品在线视频| 五月丁香社区婷婷日韩欧美精品影院| 色婷婷激情| 极品色社| 91美女在线视频| 国产精品国产| www国产精品| 一本色道综合久久欧美| 久久精品国产亚洲AV高级北京| 亚洲少妇综合在线播放| 五月婷在线| 高清不卡一二三区视频......| 天堂麻豆天美| 久久久91福利姬| JuliaAnn丝袜熟女系列| 澳门黄片一香蕉视频| 新久久AV| 九九九九久久久| 97爱亚洲综合色| 超碰在线第一页| 一本久道久久综合狠狠爱一密臀精| 97色网| 午夜寂寞欧美| 午夜精品99久久久久传媒| 好好的日:com久久九九| 日韩91网| 成人性爱美曰韩| 青青草中文-久久青草精品一区二区三 | 日韩性爱网址| 日本一区二区三区欧美日韩中文字幕| 综合一区二区影视| 香蕉国产精品麻豆亚洲欧美日韩| 亚洲免费人妻在| 91N五十路| 欧美高潮| 国产日韩欧美中文在线播放| 色哟哟的毛片| 亚洲偷拍欧美激情| 中文字幕日韩专区精品系列 | 91国产美女丝袜足交精品视频| 殴美色网| 日本性爱少妇| 亚洲欧美清纯| 成视频在线观看免费看| 欧美日韩国产中文精品字幕自在自线, | 91日日| 久久久久久人体| 艹精品| 青娱乐亚洲热| 久久久性爱| 无码高清专| 欧美性区| 成人一二| 九九久久久久久爱| 国产中文精品一区二区在线观看| 性色一线| 美女啊啊啊啊啊啊| 婷婷五月天激情网| 日日AAvv| 美女黄频a美女大全免费皮| 男人天堂久久日韩| 视频一区二区三区精品| 天天综合日韩网| 综合欧美色图| 第一高清av中文字幕| 亚洲色悠悠久久88| 狠狠操夜夜| 中文字幕十五区| 国产无码高清操逼视频| 精品亚洲俞拍视频一区| 欧美大香蕉久| 国产精品网站免费| 一线黄色免费性爱片| 91天堂视频| 成人久久久| 91蜜臀在线久久久久| 男人在线天堂| 蜜桃传媒一区二区亚洲| 亚洲春色一区二区三区| 日日干夜夜操视频h| 亚洲婷婷综合网| 国产日韩精品一区二区三区| 国产女s强制榨精视频| 国产精品91ai| 中文字幕精品一区二区精| 精品无码久久久久| 欧美性爱伊人| 亚洲熟妇A V黑人| 久都青青视频| 国产精品国产自产高清AV | 乱伦一区二区三区‘| AV99热18这里只有精品| 国产色呦呦| 东北女人高潮视频| 欧美亚男人的天堂| 亚洲欧洲综合成人av一区| 蜜桃久久久久久久久久久久| 1769一区二区| 91狠狠综| 插入粉嫩少妇视频| 欧美视频在线第3页| 日本韩高清无砖码22o| 佐山爱中文字幕| 日韩激情中文字幕有码| 久久久久久久久久9| 天天日日日射| 大地资源在线观看中文第二页| 亚洲男人天堂手机版| 欧美超碰96| 伊人女女资源在线观看| 久久久久97| 久久m| 色婷婷综合网| 亚洲伊人a线观看视频| 欧美韩日精品99综合| 无码一区二区三区四区五区六区七区八区九区十区视频 | 91热色| 色777999综合| 国产亚洲人妻综合日韩 久久| 99久久亚洲精品无码毛片潘甜甜| 欧美成人国产精品| 伊人综合色网| 操逼日韩无码| 午夜.DJ高清在线观看免费7| 大鸡巴久久| 久久综合女优| 99少妇精品视频| 国产高清成人mv在线观看| 欧美激情精品| 伊人性在线视频| 精品十三区| 日韩三级视频一区二区三区| 欧美性爱中文字幕无线码| 亚洲天堂2020| 啊啊啊轻点在线观看| 色女99一级片在线观看| 男人夜色天堂ss| 日本高清_区二区三区| 69国产对白刺激| 亚洲欧美清纯| 久草综合网| 久久久久久久久久久久九| 91超碰人人| 超碰碰碰碰| 国产美女mm131爽爽爽爽| 亚洲精品一二牛牛| 日韩电影在线观看网址| 亚洲 欧美综合| 九九九九九九九九九九九蜜桃| 欧美亚洲国产自久久| 69超碰综合| 97色色网| 久久久久成人蜜桃精品| 99爱在线视频| 欧美另类色图片| 久久婷五月| 丁香婷婷大香蕉| 国产一区二区啪啪视频| 欧美十八禁网站| 精品人妻av在线播放| 大香蕉一区二区在线观看.| 亚洲欧美成人网站AAA| 97亚洲精品超碰| 欧美亚洲首页| 中文字幕一二三| 精品国产乱子伦一区二区三区,精品一 | 色综合国产在线观看| 东京热男人的天堂| 少妇被c 黄 免费观看| 人人妻人人玩人人澡人人爽| 国产白丝精品在线观看| 日韩一级欧美一级国产一级台湾 | 亚洲美女色图| 最新9久久久9免费视频| 午夜九九| 98久久超碰| 97Ai亚洲| 另类亚洲一区二区三区| 精品国产91av一区二区三区| 亚洲人妻中文高清| 日本 欧美 国产一区| 中文字幕日本久久| 九九热免费国产视频婷婷伊人| 日本九九久久99播| 中文字幕在线2| 欧洲自拍第一页| 天天噜| se吧提供国产乱老熟视频胖女人| 家庭乱伦性爱av| 91人妻尻屄视频| 加勒比大香蕉视频在线| 夜夜爽妓女| 久9爱经典视频| 天堂综合网| 免费观看网黄| 超碰成人国产| 91色综合激情| 深爱伊人影院| 18禁在线视频| 色色综合网站| 久久久久网站-538在线视频-欧美永久乱码 | 2026国产精品视频| 中出欧美| 一级aaaaa欧美中文字幕录像片| www.99在线| 亚洲少妇激情视频| 日本大香蕉综合网| 日韩性爱1级片视频| 天天爽天天| 国产成人天堂| 99999精品| 亚洲成人性爱在线观看| 人人澡人人爽人人精品| 性欧美第一页| 三级激情网站| 美女露胸露尿口| av橘色网站| 一本色道久久天天射天天干| 午夜天堂精品久久久久91| 中文幕97| yy少妇精品久久| 日日爱99| 亚洲欧美国产日本一区二区三区| 禁十八久久| 国产精品网址| 欧美婷婷五月天| 亚码人妻| 1000部熟女视频在线观看| 亚洲午夜av| 在线亚洲丝袜视频网站| 国产JDAV无码视频在线观看| 女优视频第10页| 噜噜噜噜天天狠狠| 亚洲制服欧美另类内射| 欧美 日韩 婷婷 五月| 亚洲麻豆av一区二区| 五月天婷婷色| 超碰色大香蕉| 亚洲精品乱码久久久久久蜜桃麻豆 | 99色综合| 中国少妇啪啪视频| 亚洲精品久久久久久久蜜桃臀| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲国产婷婷在线播放| 精品国产一区二区三区久久久蜜臀 | 国产亚洲精品一区二区三区| 久久9亚洲| 一级乱伦网站| 麻豆av一区二区三区| 亚洲综合在线第一页| 五月激情小说| 精品人妻一区二区三区四区不卡在| 色999五月色| 亚洲九九视频| 中文字幕 码 自拍 视频 区| 欧美色图电影| 操少妇很爽av| 亚洲无码电影久久久| 国产13区| www亚洲免费| 欧洲小说色图视频另类| 国产51色综合久久免费| 天天操天天日青青草超碰av| 岛国艾薇凹凸视频天堂| 插B在线观看| 国内外色色色色色成人视频| 999精品久久久久久久| 97天天摸天天碰| 99色网| 色大香蕉97N| 国产黄色 A 片免费看| 色97综合中文字幕| 国产激情综合五月久久| 男人天堂网站| 九九热精彩视频| 新版天堂中文资源8在线| 亚洲天堂另类| www.四虎在线| 亚欧日韩成人| 欧美综合天堂| 99re在线观看| 午夜理论片在线观看免费| 久久久久久久久久久久色网| 欧美人妻精品| 夜色AV无码手机在线影院| 中文字幕一区二区无码成人| 人妻精品4K4K4K4K4| 黄色电影观看久久9| 可乐操亚洲蜜911| 日日干日日操五月天伦理视频| 黄色在线网站| 欧美天天弄| 日韩精品作爱导航| 日本一级一级一级一级| 国产丝袜美女在线一区| 亚洲中文sv| 91色爽欧美| 在免费jIzzjIzz在线视频| 3PAV乱伦视频| 91九色丰满高潮| 欧美综合色站| 五月综合色| 国产人伦a片信息免费片| 97精品一区二区三区免费| 亚州高清色综合| 91精品国产综合久久久蜜臀| 日韩国产乱子伦App| 男人午夜天堂| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 插入综合网| 亚洲无码AV九九九| 色哟哟AⅤ| 国产sv美女内射| 天天干1区2区在线| 亚洲第一二区另类图| 亚洲老熟妇xxx| 精品v日韩欧美国产| 天天做天天爱夜夜爽毛片试看| 午夜福利 成人 91| 青青伊人加勒比海| 亚洲AO在线| 蜜桃久久综合视频| 亚洲精品xxx| 欧美一区二区传媒| 亚洲 欧美都市激情| 国产精品久久久久无码AV会牛| 欧洲特黄毛片免费看欧洲毛片| 夜夜黄| 91欧美丝袜| 91在线丝袜视频| 一区=区三区视频| 蜜桃久久综合视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日韩乱中文| 亚洲国产ⅴ高清在线观看| 人人操人人摸人人骑| 久久二| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 大香蕉在线视频15| 91 手机在线播放 绯色| 热久久这里只有精品| 不卡免费av在线播放| 日韩乱伦影音先锋| 国产成年免费大片黄在线观看| 日韩三级在线观看网站| 高清有码一区二区| 香港澳门日本三级网站| 黄色大片视频在线免费看| 丰满人妻区一区二区三| 亚洲高清自拍| 天天视频黄| 国产兽交视频在线播放| 黄片免费视频2019| 亚洲熟女性高潮久久久| 国产最新小视频在线播放下载 | 亚洲欧美日韩电影网站一区| 欧美青青视频| 97在线欧| 91天美| 中文字幕丰满子伦无码专区在线视频最新| 日本不卡在线二区三区| 亚洲资源站| 2024黄色视频| 精品中文字幕第一页| 亚州操逼图| 日韩性爱播放| 蜜臀久久99精品久久综合| 三级片大波波| 神马久久69| 校园春色 亚洲| 国产精品爆乳懂色蜜乳| 操逼片国产| 久久性爱城| 九九热免费国产视频婷婷伊人五月 | 久无码| 97在线观视频免费观看| 国产精品禁久久久精品| 久9无限国产| 欧美日韩黄片精品在线| 国产 日韩 另类 视频一区爱| 大香蕉AV在线| 91撸色网 玖玖网 欧美| 99国内熟女露脸视频| 久久久精精精| 飘花国产午夜精品不卡| 中文字幕在线免费观看视频| 九九无码久久精品视频| 加勒比海成人视频网| 久久大香蕉97| 日本 色 导航| 色妺妺在线视频| 日韩美女,国产传媒,视频一区| 婷婷人妻激情| 国产乱伦亚洲| 曰韩精品九九无码| 加勒比伊人综合| 好吊色综合| 免费的黄片wwwwww| 少妇与黑人高潮在线| 日韩精品三级| 亚洲 自拍偷拍 欧美| 91美女中出| 国产精品久久久久久久免牛肉蒲团| 欧综合网| 欧美日韩国产色图在线| 日韩9999| 亚洲欧美黄| 久久人人爽人人爽人人片Ⅴ| 九九热视频这里只有精品| 日本免费二区三区| 国产高清成人mv在线观看| 日本天天吊| 黄色成年| 深田咏美亚洲精品福利社| 91网站18在线| 中国AAAAAA黄色片| 999久久久精品国产| 91黑丝操| 高清成年美女黄网站免费大全| 欧美老熟另类| 九九九九精| 丁香五月自拍| 中文字幕无码不卡啪啪| 麻花豆传媒剧国产MV出差| 67194无码不卡| 成人怡红院| 婷婷色网| 婷婷午夜清品久久久久久久性色视频观| 亚洲系列第一页| 久久精9| 欧美中文字幕日韩在线| 熟妇最新先锋一二三区| 天天日天天干少妇日| av资源在线播放天堂| 五月天人妻综合| 亚洲强奸乱伦影视网| 夜夜操一区二区| 黄色激情电影在线观看| 啊啊啊不要啊啊受不了了视频在线 | 看免费的黄片| AV丝袜少妇| 无码外流操逼视频| 国产精品在线网站| 福利在线观看一区二区| 老鸭窝日丰县女人| 亚洲国产精品成人无码久久久 | 亚洲色五月| 久9精品| 台欧久久精品视频| 亚洲日韩在线a不卡99精品| 天天弄欧美| AV天堂国产| 性欧美精| 亚洲高清无码免费观看视频| AV色女综合| 国模限制级电影| 美女操逼A A| 大香蕉在线视频重口味毛片在线| 精品毛片av一区二区| 成熟熟女国产精品一区二区| 欧亚乱色熟女一区二区| 九九九九精品在线| 天堂蜜桃无码视频一区二区| av亚欧| 在线观看午夜婷婷久久久久清性观看| 国产小视频91| 久草资源在线| 少妇69中文| 性色av网站| 欧美双插| 色九九九综合| 午夜精品视频777| 精品国产乱码久久| 亚洲 欧美 另类 日韩 人妻一区| 久久久久久国产手机AV| 精品久久久久综合无码| 久插综合| 黑人精品成人一区二区三区| 综合 亚洲 欧美| AV老汉| 亚州AV无码国产精品| 久久 精品| 大香蕉伊然在亚洲91| 狠狠狠狠狠狠| 日韩国产不卡在线视频| 黑人性欧美| 中文字幕人妻色偷偷久久皮| 欧美性爱另类综合| 欧美呦呦性爱| 久久久久久久久9| 亚州色站 日韩电影| 色久桃花影院在线观看| 亚洲精品99999| 亚洲色图欧美另类在线| 天天日少妇逼AV| 国产黄色在线播放观看| 日逼97| 国产女人9999| 久久综合日韩亚洲欧美| 亚洲精品视频在线播放| 中文字幕日韩人妻视频| 天天日夜干| 午夜久久久| 久久久久久91香蕉国产| 日本在线一二 | 欧洲自拍第一页| 日韩av色图综合| 中文字幕二区日韩天堂| 国产真实野战在线视频| 999久久久免费精品国产牛牛| 性生活性生大爱77AV国产| 日日橹狠狠爱欧美超碰| 亚洲天堂色图| 屌逼麻豆| 亚洲av无码成人精品国产| 园内精品自拍视频在线播放| 2017av无码免费无线播| 久草成人| 国产精品视频在线观看| 久久9免费视频| 九九九九九九九九九九精品视频| 色婷婷成人综合| 在线a v| 搡老女人老91妇女熟女| 另类图片五月| 色情五月婷婷| 五月天婷精品激情| 国产精品一级特黄aaa大片在线观看| 91内射| 91亚州| 诱惑网综合| 午夜欧美精品久久久| 国产精品农村妇女精品| 日韩专区久久久| 天美麻豆黄色录像| 免费超碰97久久| av72网| 午夜综合在线| 天操老女人| 久久久国产精品人妻丝袜| 超碰性爱97| 青青草视频久久久久| 99爱久久视频频| 久久超碰亚洲人| 欧美老妇综合网| 色999偷自拍拍| 加勒比日本在线| 日本淫穴在线| 伊人四虎综合| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 精品人妻av区天天看片| 91色宗合| 极品销魂美女一区二区| 淫荡网址| 欧美日韩插逼视频| 人妻丰满熟妇一区二区三| 欧美精品日韩久久久九| 综合影视国产无码| 乱色视频中文字幕| 开心五月婷婷| 香蕉99秘 精品一区丁香| 欧美色图片91| 亚洲伊人久久精品影院| 四虎影视国产精品| 久久啊啊| 亚洲性爱电影| 熟妇操花| 日韩99神马视频播放片在线播放| 日韩传媒在线| 久久久神马影院| 91A欧美电影网站| 综合久久久久久久久91| 日本丝袜人妻内射| 开心激情站| 久久国产精品,久久国产| 超碰69| 伊香蕉综合久久久久久久噜噜噜 | 操人妻逼91| 欧美一区二区三熟女剧情| 久9九综合在线| 精品无码久久久久久国产浪潮| 永久免费发布性爱网| 亚洲麻豆精品二区三区| 久久精品老司| 国产精品午夜精品| 中文字幕后石码四区五区| 俄罗斯一区二区视频在线观看| 人人扣人人操| 又摸又舔在线观看网站| 深夜激情| 欧美午夜视频免费观看| 在线另类| 99黄页网站| 亚洲人妻久久| 国产性爱乱伦AV| 亚洲精品久久久久久久久豆丁网| 欧洲亚洲人人爽爽视频| 黑人娇小av在线播放| 欧美人妻久久精品二区三区| 日本人体九九九九九九| h色99999| av网站免费线看| 婷婷99狠狠躁天天躁| 久久一二三四不卡 | 20cm女自慰在线日韩欧美| 国产AV高清AV无码| 区一二区日韩亚洲乱码av电影| 亚洲欧美校园| 亚洲AV无码黄色强奸| 影音综合网| 丰满人妻-区二区三区| 日本高清_区二区三区| 欧美色图天堂网m| 99夜夜操| 91超级碰| 亚洲se电影| 日本黄色大片一级视频免费麻豆| 无码99| 春色91| 日韩操人| 男人天堂久久精品不卡| 人人摸.人人色| 福利风月五月天影院| 欧美色院| 91婷婷| 好色美女九七第一页| 日韩一级成人毛片免费观看 | 日本免费人成视频播放120秒| 97视频在线观看播放与子乱对白在线……| 人妻色情天天操| 亚洲97久久精品亚洲| 天天综合网1| 99老司机精品视频在线观看| 久久九七| 日韩综合成人免费视频| 少妇与黑人高潮在线| 色吧5亚洲| 色月天AV导航| 精品欧美老熟女一二区| 久久久蜜桃一区二区三区| 欧美激情内射| 丁香六月婷| 亚洲欧美洲综合| 丁香五月激情五月| 亚洲成人性爱网站在线播放| 综合欧美色图| www九九热| 无码粉嫩白虎一线天b区| 美女自卫慰黄网站免费| 欧美另类天堂| 9999免费精彩视频| 日韩精品亚洲一二三| 人妻22p| 欧美激情在线观看视频| 夜夜一区二区| 秋霞Av理论一级在线| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 国产一区二区精品在线视频| 唐山老熟妇露脸啪啪叫| 国产熟女高潮一区二区三区| 亚洲aV无码成人在线观看| 熟人人妻少妇精品久久| 午夜天堂精品久久久久91| 午夜操一操| 一区中文字幕二区日韩| 国产aⅴ无码片毛片一级网站| 乱色老一区二区三区的观看方式 | 久久熟女嫩草成人片免费 | 91观看 国产白丝| 乱日视频| 多毛小伙内射老太婆| 亚洲色欧| 日本三级人妻a人妻一在线| 亚洲激情综合另类男同| 啊啊啊啊,啊啊好多水| 一本道综合色图| 高清在线不卡一区二区 视频| a片在线播放| 欧美亚洲素人制服精品| 内射卯月麻衣| 丁香五月偷拍| 99这里只有精品国产| 国产丁香精品露脸视频| 日韩人妻操B| 伊人久久大香线蕉无码| 欧美伊人电影| 夜夜嗨绯色| 久久久网站| 亚洲成人黄色在线观看| 国产AB视频| 精品久久久久瑟瑟| 欧日a| 欧美成人免费在线观看| 热热色国产一二区AV| 又大又黄国产| 黄aaaaaaaaaaaaaaaaaa色网站| 色婷婷国产精品一区在线观看| 亚洲综合贴图91| 天天看片天天爽| 日本在线激情一区二区三区| 欧美欧美啪啪视频| 日本久久久精品电影| 91欧美偷拍| 日本午夜久久电影| 99这里只有精品国产| 亚洲国产97| 97在线欧| 欧美 牲| 欧美亚洲激情小说| 人妻少妇av在线观看| 国产强奸乱伦xd| 黑人娇小av在线播放| 亚洲有薄码区久久在线一区| 超碰中文字幕人妻草一区| 久久免费精彩视频| 国产精品成人蜜臀AV在线| 乱操乱伦AV| 人妻铁牛TV| 99热精品在线观看| 亚洲天堂电影网| 免费看污网址| 天操天操夜操夜月操月年年操| 五月天综合网| 亚洲Av无码成人精品国产| 波多野42部无码喷潮在线观看| 超碰午夜| 啊啊啊啊网站| 日韩图色| 传媒在线观看一区二区三区| 久久超碰av在线| 97自拍一区| 成人天天看站长推荐 | 日韩电影在线观看网址| 久久香蕉国产线看观看亚洲女人 | 亚洲欧美中文一区二区三| 1769国内精品视频| 中文字幕精品探花视频| 男人天堂2017| 免费国产视频| 国产91 丝袜在线播放00-百度| 哈哈操电影| 国产欧美另类久久久精品课程| 夜夜春夜夜操| 中文字幕欧美精品亚洲日韩蜜臀| 亚洲在钱| 综合情欲网| 午夜福利合集| 人妻第一页| 欧美日韩久久精品爱爱| 久久久性爱| 亚洲福利影院一区久久| 国产高清自拍| 亚洲欧美日韩免费观看| 黄色成人网久久久久久| 极品欧美一区二区三区| 人妻献身系列第54部| 在线色导航| 欧美性爱系列| AV电影在线播放| 国产久久一区二区午夜| 精品久久久av|