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

ARTICLE DETAIL

資訊詳情

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

ARM Mali GPU開發(fā)實(shí)戰(zhàn):架構(gòu)、驅(qū)動(dòng)與AI部署全解析

ARM Mali GPU開發(fā)實(shí)戰(zhàn):架構(gòu)、驅(qū)動(dòng)與AI部署全解析 Mali GPU 這顆藏在 SoC 里的“計(jì)算心臟”這些年我折騰過的架構(gòu)、驅(qū)動(dòng)和部署問題值得好好梳理一遍。這篇文章我打算從一個(gè)實(shí)際開發(fā)者的視角把 ARM Mali GPU 相關(guān)的資源、開發(fā)工具鏈、驅(qū)動(dòng)調(diào)試和 AI 部署經(jīng)驗(yàn)一次性講透文中涉及的鏈接和關(guān)鍵詞希望幫你少走點(diǎn)彎路。1. 認(rèn)識(shí) Mali GPU架構(gòu)演進(jìn)與開發(fā)者的第一課1.1 從 Utgard 到第五代你手里的 Mali 到底是哪一代很多新手拿到一塊開發(fā)板第一件事就是cat /proc/cpuinfo看 CPU 型號(hào)卻常常忽略 GPU 的架構(gòu)代次。這個(gè)信息直接決定了你能用哪個(gè)版本的驅(qū)動(dòng)、支持什么圖形 API、能不能跑 OpenCL 通用計(jì)算。Mali GPU 家族大概分成這幾代Utgard 架構(gòu)代表作 Mali-400、Mali-450廣泛用在老款手機(jī)和入門級(jí)工控板。只支持 OpenGL ES 2.0OpenCL 支持非常有限如果沒有特殊需求不建議在這類 GPU 上折騰通用計(jì)算。Midgard 架構(gòu)代表作 Mali-T720、T760、T820、T860、T880。這是目前二手市場(chǎng)和低成本方案里最常見的一代支持 OpenGL ES 3.1 和 OpenCL 1.1/1.2 的部分特性。我最早做 GPU 調(diào)試就是在這代架構(gòu)上印象最深的是它的 CoreLink 互聯(lián)設(shè)計(jì)多核擴(kuò)展時(shí)緩存一致性做得不錯(cuò)。Bifrost 架構(gòu)代表作 Mali-G71、G72、G51、G76。從這代開始Mali 引入了“quad-based”的 warp 調(diào)度思想Shader Core 內(nèi)部以 16 線程為一組執(zhí)行指令對(duì)計(jì)算著色器的友好度明顯提升。支持 Vulkan 1.0。Valhall 架構(gòu)代表作 Mali-G57、G77、G78、G68。這代把指令集從 32 位統(tǒng)一到了 64 位調(diào)度器對(duì)分支發(fā)散的處理更高效。如果搞 AI 推理Valhall 的 FP16 算力非??捎^。第五代Immortalis 系列代表作 Immortalis-G715主打硬件光線追蹤但這跟大多數(shù)嵌入式開發(fā)者關(guān)系不大看看就好。1.2 為什么說 Mali 的驅(qū)動(dòng)模型和 PC 顯卡完全不同在 x86 平臺(tái)上NVIDIA 或 AMD 顯卡有獨(dú)立的顯存驅(qū)動(dòng)是一整套完整的二進(jìn)制棧。而 Mali GPU 用的是統(tǒng)一內(nèi)存架構(gòu)UMAGPU 和 CPU 共享同一片物理內(nèi)存中間沒有顯存顆粒。這個(gè)特性帶來兩個(gè)直接影響功耗低、成本低適合 SoC 集成但也意味著 GPU 運(yùn)算會(huì)和 CPU 搶占內(nèi)存帶寬。實(shí)測(cè)經(jīng)驗(yàn)是在 4K 分辨率下GPU 密集任務(wù)會(huì)把 DDR 帶寬吃滿CPU 側(cè)表現(xiàn)會(huì)肉眼可見地變卡。驅(qū)動(dòng)不是一個(gè)“萬能 .exe”。Mali 的 Linux 驅(qū)動(dòng)通常分成三塊內(nèi)核態(tài)的DPPDisplay and Pixel Processor相關(guān)模塊、內(nèi)核態(tài)的MMU 和 job manager通常編譯進(jìn)內(nèi)核或作為模塊加載以及用戶態(tài)的libmali.so。用戶態(tài)庫需要針對(duì)具體的 GPU 型號(hào)和 DDK 版本匹配隨手找一個(gè).so拷進(jìn)去最典型的結(jié)果就是gpu crash dump triggered。我見過太多項(xiàng)目的坑都出在這條鏈路上板子供應(yīng)商給的內(nèi)核是 4.19用戶態(tài)庫卻是按 4.4 內(nèi)核編譯的跑起來毫無征兆地黑屏。排查到最后居然是 libmali.so 的 EGL 入口和內(nèi)核模塊的 ioctl 版本對(duì)不上。2. 驅(qū)動(dòng)與用戶態(tài)工具鏈交叉編譯、庫路徑和真實(shí)部署細(xì)節(jié)2.1 Linux 環(huán)境下 Mali 驅(qū)動(dòng)的整體結(jié)構(gòu)在 Linux 系統(tǒng)上Mali 驅(qū)動(dòng)的典型加載路徑是這樣的內(nèi)核側(cè)/sys/module/mali/目錄存在說明 Mali 內(nèi)核模塊已加載。設(shè)備節(jié)點(diǎn)/dev/mali0是 GPU 的用戶態(tài)訪問入口沒有這個(gè)設(shè)備節(jié)點(diǎn)用戶態(tài)庫再全也白搭。用戶態(tài)庫通常位于/usr/lib/aarch64-linux-gnu/或/usr/lib/arm-linux-gnueabihf/重點(diǎn)文件包括libmali.so集成了 EGL/GLES/OpenCL 多個(gè)入口、libEGL.so、libGLESv2.so。說到這要提一個(gè)熱搜詞里反復(fù)出現(xiàn)的命令export LD_LIBRARY_PATH/usr/lib/aarch64-linux-gnu/mali:$LD_LIBRARY_PATH這條命令本身沒什么問題就是讓動(dòng)態(tài)鏈接器優(yōu)先去 Mali 庫所在的目錄找?guī)煳募?。但我必須提醒一句不要盲目敲這條命令。如果當(dāng)前系統(tǒng)的 Mali 庫實(shí)際在/usr/lib/aarch64-linux-gnu/下一個(gè)層級(jí)而/usr/lib/aarch64-linux-gnu/mali/這個(gè)子目錄根本不存在export 完反而可能因?yàn)閹炻窂巾樞騿栴}加載到錯(cuò)誤的 libmali。正確的做法是先確認(rèn)目錄存在ls /usr/lib/aarch64-linux-gnu/mali/如果確實(shí)沒有這個(gè)目錄但系統(tǒng)里的 GPU 能正常工作那就說明庫文件直接放在了通用搜索路徑里這時(shí)不需要額外設(shè)置 LD_LIBRARY_PATH。真正需要設(shè)置的場(chǎng)景是交叉編譯后把庫放在非標(biāo)準(zhǔn)路徑運(yùn)行時(shí)才需要告訴系統(tǒng)去哪里找。2.2 交叉編譯工具鏈選型從 ARM Compiler 5 到 GCC熱搜詞里出現(xiàn)的“arm compiler 5.06u7 下載”是 ARM 自家提供的商業(yè)編譯器有歷史包袱的項(xiàng)目特別是一些閉源第三方庫還在用它。ARM Compiler 5 系列最后的版本是 5.06 update 7之后的官方支持轉(zhuǎn)向了 ARM Compiler 6基于 LLVM。如果你的項(xiàng)目不強(qiáng)制要求 AC5我強(qiáng)烈建議直接用 GCC 交叉工具鏈比如aarch64-linux-gnu-gcc省心得多。選工具鏈時(shí)有個(gè)點(diǎn)要注意ARM Compiler 5.06 編譯出來的代碼默認(rèn)針對(duì) ARMv7 或 ARMv8 的老 AArch32 模式而 Mali GPU 用戶態(tài)驅(qū)動(dòng)多數(shù)是 AArch64 庫?;煊脮r(shí)最好統(tǒng)一目標(biāo)架構(gòu)否則鏈接階段會(huì)出現(xiàn)莫名其妙的cannot find -lEGL或 ABI 不匹配的報(bào)錯(cuò)。一個(gè)實(shí)用的排查技巧是使用file /usr/lib/aarch64-linux-gnu/mali/libmali.so看看輸出是ELF 64-bit LSB shared object, ARM aarch64還是ELF 32-bit。如果返回的是 32 位而你的用戶程序是 64 位那么無論怎么配 LD_LIBRARY_PATH 都無濟(jì)于事。2.3 銀河麒麟系統(tǒng)上安裝軟件的實(shí)操SSH 升級(jí)包示例熱搜詞里出現(xiàn)“銀河麒麟 ssh 10.3 rpm升級(jí)包arm”其實(shí)指向一個(gè)典型場(chǎng)景國產(chǎn)化替代環(huán)境里的 ARM 服務(wù)器系統(tǒng)自帶 OpenSSH 版本偏舊想升到 10.3只能找 rpm 包。這類系統(tǒng)通常是 ARM64 架構(gòu)基礎(chǔ)安裝命令我實(shí)測(cè)過一套sudo rpm -Uvh openssh-10.3p1-1.ky3.arm64.rpm這里的關(guān)鍵在于-Uvh它表示升級(jí)-U、顯示詳細(xì)輸出-v、顯示進(jìn)度-h。直接rpm -ivh安裝舊版本沒卸載干凈時(shí)可能生成兩個(gè) sshd 服務(wù)導(dǎo)致 ssh 端口綁定沖突。另外在麒麟這類系統(tǒng)上如果用非 root 用戶執(zhí)行后出現(xiàn)error: cant create transaction lock on /var/lib/rpm/.rpm.lock多半是權(quán)限問題加 sudo 重試即可。升級(jí)完 OpenSSH 后請(qǐng)一定重啟sshdsudo systemctl restart sshd不要直接斷開當(dāng)前的 ssh 連接先另開一個(gè)終端驗(yàn)證新版本 sshd 能正常監(jiān)聽 22 端口再退出否則可能把自己鎖在門外。2.4 ARM 系統(tǒng)常用命令工具的補(bǔ)齊很多從 x86 遷過來的朋友會(huì)發(fā)現(xiàn)ARM 板子上iftop、iotop、htop、iperf3這類工具往往沒裝。這里給一個(gè)比較通用的操作思路對(duì)于 Debian/Ubuntu 衍生系統(tǒng)樹莓派 OS、Ubuntu Mate、麒麟也是基于 Debian 體系sudo apt update sudo apt install -y htop iotop iftop iperf3對(duì)于使用 yum/dnf 的 ARM 系統(tǒng)部分 CentOS 移植版、OpenAnolis ARM 版sudo dnf install -y htop iotop iftop真實(shí)遇到的問題往往是源里沒有對(duì)應(yīng) ARM64 的 rpm 包這時(shí)候可以去 EPEL 的 aarch64 倉庫找或者直接從源碼編譯。uname -m 看一下輸出aarch64就是 ARM64armv7l是 32 位 ARM。3. GPU 計(jì)算與 AI 推理部署Mali 在真實(shí)項(xiàng)目里的邊界3.1 Mali 跑 GPGPU 的幾條路線OpenCL、OpenGL ES Compute、Vulkan Compute很多做嵌入式視覺的朋友都問過Mali GPU 能不能像 NVIDIA 那樣跑 CUDA很遺憾CUDA 是 NVIDIA 的封閉生態(tài)Mali 上一條都走不通。Mali 可選的通用計(jì)算路線大致三條OpenCLMidgard 以上架構(gòu)支持不錯(cuò)適合圖像處理、卷積類的并行任務(wù)。Mali OpenCL 驅(qū)動(dòng)對(duì) buffer 的分配有嚴(yán)格要求頻繁創(chuàng)建/釋放大批量 buffer 會(huì)引發(fā)嚴(yán)重抖動(dòng)正確姿勢(shì)是復(fù)用 buffer。OpenGL ES Compute Shader如果已經(jīng)有 GLES 渲染管線混入 compute shader 成本最低適合后處理特效不太適合超大計(jì)算量。Vulkan ComputeValhall 架構(gòu)上效率最高但開發(fā)門檻也最高需要自己管理 Command Buffer 和 Pipeline。如果你跑 NCNN 推理框架它可以直接切換到 Vulkan 后端來利用 Mali GPU這也是目前邊緣設(shè)備上最主流的做法。用 NCNN 的時(shí)候編譯命令關(guān)鍵參數(shù)這樣寫cmake -DCMAKE_TOOLCHAIN_FILE../../toolchains/aarch64-linux-gnu.toolchain.cmake \ -DNCNN_VULKANON \ -DNCNN_OPENMPON ..如果編譯好以后運(yùn)行ncnn_benchmark報(bào)錯(cuò)vkCreateInstance failed大概率是 GPU 驅(qū)動(dòng)和 Vulkan Loader 不匹配可以用vulkaninfo先檢查。3.2 PyTorch 與 PaddleOCR 的 GPU 部署哪些能跑哪些別折騰很多朋友問我“ARM 板子上能不能像 x86 一樣裝 PyTorch GPU 版”。說實(shí)話PyTorch 在 ARM 平臺(tái)上對(duì) Mali GPU 幾乎沒有官方支持。主打推理場(chǎng)景時(shí)更現(xiàn)實(shí)的方案是TensorFlow Lite對(duì) Mali 支持較好通過gpuDelegate可以在部分算子下調(diào)用 OpenCL。NCNN / MNN國內(nèi)開源框架對(duì) ARM Mali 的適配比較積極。ONNX Runtime有 OpenCL execution provider但算子覆蓋有限。如果在搜 PyTorch GPU 安裝教程注意一點(diǎn)不要看到 NVIDIA 的教程就往 ARM 上套如果發(fā)現(xiàn)要裝 CUDA那大概率是 x86 教程。真正的 ARM 平臺(tái)部署推理模型的路線是 onnxruntime arm 版 so或者直接用 TFLite。關(guān)于 PaddleOCR 的 GPU 模式它在 ARM Mali 上最靠譜的一條路是走 NPU如果 SoC 里有GPU 模式需要 cudnn 8.5 之類的前提那都是面向 NVIDIA 的。我實(shí)測(cè)下來在 RK3588Mali-G610上跑 PaddleOCR 的 ARM CPU 版用 ONNX Runtime 加多線程效果比折騰 GPU 穩(wěn)定且 ROI 更高。3.3 大模型微調(diào)里的 GPUMali 的無奈與出路熱搜詞里“gpu微調(diào)大模型”也指向當(dāng)前很火的場(chǎng)景?,F(xiàn)實(shí)很骨感Mali GPU 不適合做大模型微調(diào)。原因不復(fù)雜大模型微調(diào)需要超大顯存、高帶寬和成熟的張量核心Mali 統(tǒng)一內(nèi)存架構(gòu)撐不起來。但 Mali 可以做兩件事部署量化后的推理模型比如在手機(jī)上跑 7B 模型走 4bit 量化通過 Vulkan compute 調(diào)用 Mali 算力速度雖然沒法說“流暢”但能接受。混合調(diào)度把部分算子放在 GPU部分放在 NPU剩下放 CPU用 NCNN 的流水線做并行。這個(gè)對(duì)開發(fā)者的調(diào)度功底要求很高新手不建議一上來就碰。3.4 ollama 指定 GPU 和 GPU 租用的經(jīng)驗(yàn)ollama 指定 GPU 的場(chǎng)景主要在 Linux x86 服務(wù)器上但這不代表 ARM 完全沒機(jī)會(huì)。如果在 ARM 板子上跑 ollama我建議直接用官方的 linux-arm64 安裝腳本安裝安裝完默認(rèn)走 CPU。如果板子的 NPU 有額外的 runtime也可以嘗試配置但不要指望 Mali GPU 能直接被 ollama 調(diào)用——它沒把 OpenCL/Vulkan 納入主流后端。GPU 租用這一塊補(bǔ)充一句如果你是做 AI 訓(xùn)練租帶有獨(dú)立顯卡的云主機(jī)比本地淘 ARM 板子靠譜得多成本低、免維護(hù)。真正需要本地 Mali 的場(chǎng)景還是邊緣推理和圖形渲染。4. 常見問題與排查技巧實(shí)錄從 crash dump 到性能調(diào)優(yōu)4.1 “gpu crash dump triggered”到底是什么這條讓我最頭疼也最熟悉Mali 驅(qū)動(dòng)檢測(cè)到 GPU 執(zhí)行出錯(cuò)后會(huì)打印一系列寄存器狀態(tài)和 dump 信息。觸發(fā)原因集中在幾個(gè)點(diǎn)shader 數(shù)組越界最常見。比如 compute shader 里訪問 buffer 時(shí)下標(biāo)超出了分配范圍。排查手段是使用Mali Offline Compilermalioc靜態(tài)分析或者打開報(bào)錯(cuò)時(shí)附帶的 shader 索引核對(duì)對(duì)應(yīng) shader。非法指令或浮點(diǎn)異常LLVM 編譯 OpenCL kernel 時(shí)如果優(yōu)化級(jí)別過高某些中間表示會(huì)引入 GPU 不支持的指令。調(diào)低優(yōu)化級(jí)別或者用-cl-fast-relaxed-math之外的保守編譯選項(xiàng)。非法內(nèi)存訪問用戶態(tài) glBufferData 分配的 buffer 太小shader 訪問越界直接命中未映射區(qū)域。出現(xiàn)gpu crash dump triggered后第一步不是改代碼而是先把 dump 完整保存下來。Mali 驅(qū)動(dòng)會(huì)給出類似這樣的信息示意Mali: gpu crash dump triggered Mali: Job fault 0x0013Job fault后面的十六進(jìn)制數(shù)很關(guān)鍵不同值對(duì)應(yīng)不同故障類型。查內(nèi)核頭文件mali_kbase_gpu_fault.h能定位到具體錯(cuò)誤碼。比如 fault 0x0004 是讀寫非法地址0x0005 是總線錯(cuò)誤0x0013 是 job 超時(shí)。應(yīng)對(duì)策略一般三步走升級(jí)用戶態(tài)驅(qū)動(dòng)到與內(nèi)核匹配的 DDK 版本。用malioc檢查 shader 的資源占用和非法行為。簡(jiǎn)化場(chǎng)景二分排查哪個(gè) draw call / dispatch 觸發(fā)崩潰。4.2 那臺(tái) Linux 板子上的“三個(gè) GPU 同時(shí)測(cè)試”怎么落地?zé)崴言~“l(fā)inux 三個(gè) gpu同時(shí)測(cè)試”聽起來像是服務(wù)器多卡場(chǎng)景但 ARM 平臺(tái)上也可能遇到多核 Mali 或 MaliNPUGPU 的組合。我分享一個(gè)通用方法論用/dev/mali0的設(shè)備句柄區(qū)分 GPU 實(shí)例但 Mali 通常是一個(gè) SoC 只有一個(gè) GPU 設(shè)備節(jié)點(diǎn)。如果是多個(gè) SoC 組成的集群比如一臺(tái)主板上集成了多塊 RK3588那就按進(jìn)程綁定不同的/dev/mali0用glmark2-es2等工具做并行壓力測(cè)試然后通過mali_util和mali_pmu有性能計(jì)數(shù)器的板子看利用率。如果想同時(shí)跑 CPU/GPU/NPU 的負(fù)載需要關(guān)注總內(nèi)存帶寬建議用perf stat或likwid這類工具先摸一下 baseline。如果只是測(cè)試單顆 Mali GPU 的穩(wěn)定性就用glmark2-es2連續(xù)跑幾小時(shí)配合溫度監(jiān)控判斷散熱是否達(dá)標(biāo)while true; do glmark2-es2 --run-forever; done并在另一個(gè)終端跑watch -n 1 cat /sys/class/thermal/thermal_zone0/temp如果溫度超過 85°C散熱就要加強(qiáng)。4.3 Linux 禁用 GPU、驅(qū)動(dòng)黑名單和 GPU 調(diào)度有些場(chǎng)景下我們反而要禁用 GPU。比如在服務(wù)器環(huán)境里Mali GPU 的圖形功能用不上還占內(nèi)存帶寬最簡(jiǎn)單的做法是sudo sh -c echo blacklist mali /etc/modprobe.d/blacklist-mali.conf sudo reboot如果想臨時(shí)卸載驅(qū)動(dòng)模塊而不重啟sudo rmmod mali不過需要確認(rèn)沒有進(jìn)程占用 GPU。另外“GPU調(diào)度”在 Mali 語境下一般指 job scheduler 的優(yōu)先級(jí)策略Mali 驅(qū)動(dòng)默認(rèn)是按提交順序排隊(duì)但可以通過dma_fence相關(guān)機(jī)制或者用戶態(tài)設(shè)置優(yōu)先級(jí)。實(shí)際調(diào)優(yōu)經(jīng)驗(yàn)是在實(shí)時(shí)視覺場(chǎng)景里盡量把 GPU job 切小避免單個(gè)大 job 霸占所有 shader core。4.4 學(xué)習(xí)資源和“l(fā)inks”的整理說了這么多最后把真正有價(jià)值的資源鏈接整理一下以官方文檔名和社區(qū)名稱為主搜索時(shí)認(rèn)準(zhǔn)這些名字Mali GPU 官方文檔ARM 官網(wǎng)的 “Mali GPU” 文檔中心包括Arm Mali GPU Best Practices Guide和Mali Offline Compiler User Guide。Mali 驅(qū)動(dòng)源碼與 DDK如果從 vendor BSP 里拿不到最新驅(qū)動(dòng)去 ARM 官網(wǎng)的 “Arm Driver Development Kit (DDK)” 頁面注冊(cè)下載。工具鏈Arm Compiler 5.06在官網(wǎng)的下載中心頁注冊(cè)后可以下載歷史版本免費(fèi)替代用 Linaro 的gcc-arm-9.2-2019.12。調(diào)試工具Android 平臺(tái)可以用Mali Graphics DebuggerMGDLinux 平臺(tái)可以用開源工具M(jìn)aliGPU或配合perf使用內(nèi)核導(dǎo)出的 PMU 事件。框架層面NCNN 官方 GitHub 的 README 對(duì) Vulkan 后端有詳細(xì)編譯說明TFLite 官方文檔里有 GPU Delegate 的 ARM 支持列表。性能分析Streamline Performance Analyzer配合gatord守護(hù)進(jìn)程可以采集 GPU 的硬件計(jì)數(shù)器這是調(diào)優(yōu)比較標(biāo)準(zhǔn)的路徑。GPU 模型與規(guī)格速查Ardunix Mali GPU數(shù)據(jù)庫按 Mali 型號(hào)查最大頻率、核心數(shù)和 API 支持級(jí)別做方案選型時(shí)很有用。5. 從 ARM 匯編到系統(tǒng)級(jí)優(yōu)化用底層視角理解 Mali 生態(tài)5.1 ARM 匯編入門對(duì) Mali 開發(fā)的隱藏價(jià)值很多人覺得寫 ARM 匯編和 GPU 開發(fā)八桿子打不著。其實(shí) GPU 的 shader 最終也要編譯成 GPU 指令而驅(qū)動(dòng)和用戶態(tài)庫里的 CPU 部分也跑在 ARM 指令集上。懂一點(diǎn) ARM 匯編至少有三個(gè)實(shí)際好處能看懂 crash dump 里的 PC 寄存器和調(diào)用??焖俣ㄎ皇球?qū)動(dòng)死循環(huán)還是應(yīng)用層非法跳轉(zhuǎn)。調(diào) NEON 優(yōu)化時(shí)能識(shí)別編譯器生成的低效指令序列手動(dòng)改進(jìn)向量化策略。理解 AArch64 調(diào)用約定x0-x7 傳參x30 存返回地址排查 JNI/OpenCL host 端代碼時(shí)不容易懵。入門路線我建議先看 ARM 官方《ARM Architecture Reference Manual》的 AArch64 章節(jié)然后找《ARM 匯編語言實(shí)戰(zhàn)從零到精通》這類偏實(shí)戰(zhàn)的書刷一遍最后拿objdump -d反匯編實(shí)際的 C 代碼對(duì)比驗(yàn)證。5.2 教師視角與“期末復(fù)習(xí)”關(guān)鍵詞扯點(diǎn)閑篇熱搜詞里有“arm 期末復(fù)習(xí)”“arm處理器體系結(jié)構(gòu)及其應(yīng)用 電子科技大學(xué)”說明不少學(xué)生朋友也在查資料。如果你想快速建立知識(shí)框架我建議按“體系結(jié)構(gòu) → 指令集 → MMU/Cache → 異常模型 → 啟動(dòng)流程BL31/U-Boot→ 外設(shè)/GPU”這條鏈路復(fù)習(xí)。后面提到的arm bl31 uboot就是啟動(dòng)流程中非常關(guān)鍵的兩個(gè)環(huán)節(jié)BL31 是 ARM Trusted Firmware 的運(yùn)行時(shí) EL3 固件U-Boot 負(fù)責(zé)拉起內(nèi)核。學(xué)習(xí)過程中多數(shù)人都會(huì)在 MMU 這塊卡殼。Mali GPU 在這方面其實(shí)給了很好的參照物GPU 也有自己的 MMU叫Mali MMU它負(fù)責(zé)把 GPU 的虛擬地址翻譯成物理地址和 CPU 側(cè) MMU 的原理高度相似。5.3 使用 malioc 分析 shader找到性能瓶頸Mali 平臺(tái)和 NVIDIA 不一樣沒有 nsight 這類圖形化分析工具但Mali Offline Compilermalioc是命令行神器。它可以不跑真機(jī)直接編譯 shaderGLSL/OpenCL C輸出寄存器占用率、workgroup 大小建議、內(nèi)存訪問模式分析等。一個(gè)典型的分析命令malioc -v shader.frag關(guān)鍵輸出項(xiàng)Work register count每個(gè)線程占用的寄存器數(shù)。太高會(huì)降低 occupancy太低可能導(dǎo)致 spilling。Uniform register countuniform 緩存占用。Stack size如果過大需要減少局部變量或拆小函數(shù)。Cycle estimates不同 Mali 架構(gòu)下的模擬時(shí)鐘周期數(shù)。實(shí)測(cè)中我發(fā)現(xiàn)很多性能問題根本不是 shader 數(shù)學(xué)太復(fù)雜而是寄存器溢出導(dǎo)致本地內(nèi)存訪問暴漲。malioc 一下就能看出端倪。5.4 一例真實(shí)優(yōu)化圖像模糊濾鏡的 OpenCL 提速以 3x3 均值模糊為例最容易寫出的一種寫法是每個(gè)像素都去讀周邊 9 個(gè)點(diǎn)這會(huì)讓內(nèi)存讀取量是理論值的 9 倍。簡(jiǎn)單優(yōu)化是改用行緩存line buffer每個(gè) work-item 處理一行像素把讀到的數(shù)據(jù)緩存到 local memory橫向滑動(dòng)時(shí)只讀新像素。在 Mali GPU 上這個(gè)改動(dòng)通常能把性能提升 3~5 倍。原因是 Mali 的 L1 cache 對(duì)線性訪問比較友好local memory 有專門的高速通路。優(yōu)化前大量隨機(jī)訪問L1 cache miss 率高。優(yōu)化后順序訪問 local memory 復(fù)用吞吐量大幅提升。這個(gè)過程需要的知識(shí)正好是所有熱搜詞串聯(lián)起來的理解 Mali 的架構(gòu)第 1 章、會(huì)編譯和部署驅(qū)動(dòng)第 2 章、有 OpenCL 開發(fā)經(jīng)驗(yàn)第 3 章、會(huì)做性能分析和排查第 4 章。6. 實(shí)操心得把零散知識(shí)串成可落地的開發(fā)流程6.1 必備工具包和軟硬件清單我通常在接觸一個(gè)新的 ARM Mali 板卡時(shí)會(huì)按下面這個(gè)清單準(zhǔn)備環(huán)境交叉編譯工具鏈aarch64-linux-gnu-gcc9.3 或 linaro 版本。圖形測(cè)試工具glmark2-es2es2gears。計(jì)算測(cè)試工具clinfo檢查 OpenCL 平臺(tái)和設(shè)備信息vulkaninfo。性能監(jiān)控工具maliocstreamlineperf。AI 推理框架NCNN、TFLite。遠(yuǎn)程管理OpenSSH升級(jí)到新版rsynctmux。不要輕視clinfo的輸出它能一次性把 Mali OpenCL 支持到什么版本、有多少計(jì)算單元、最大 workgroup 多大、本地內(nèi)存多大全部列出來。拿到新板子第一件事就跑clinfo看看Device Name是不是預(yù)期型號(hào)Max compute units是否符合規(guī)格Max work group size是不是 1024 或以上。如果顯示不出 device驅(qū)動(dòng)??隙ㄓ袉栴}。6.2 在板子上建立高效的 GPU 開發(fā)循環(huán)在 ARM 板子上開發(fā) GPU 應(yīng)用和 x86 有個(gè)很大不同編譯速度和調(diào)試工具拉胯。我的經(jīng)驗(yàn)是在 x86 主機(jī)上交叉編譯生成二進(jìn)制后通過 scp/sftp 拷到板子。板子上只放運(yùn)行時(shí)庫和測(cè)試腳本把 sshfs 用起來代碼目錄直接掛載到板子本地。每次修改 shader 或 host 代碼后用一條腳本直接編譯、拷貝、運(yùn)行、收集日志。可以參考這樣一條自動(dòng)化腳本思路偽代碼#!/bin/bash # 在 x86 主機(jī)上運(yùn)行 aarch64-linux-gnu-g -o test_app test.cpp \ -I/path/to/OpenCL/include -L/path/to/libmali -lOpenCL scp test_app userboard:/home/user/ ssh userboard /home/user/test_app關(guān)鍵心得在 ARM 板子上安裝的編譯器未必比交叉編譯器差對(duì)于小項(xiàng)目甚至直接板端編譯更省心。但大項(xiàng)目強(qiáng)烈建議交叉編譯。6.3 可靠性優(yōu)先Mali 的電源管理可不是鬧著玩的Mali GPU 的功耗管理由內(nèi)核態(tài)的mali_devfreq控制。如果板子的 devfreq 策略沒配好高負(fù)載任務(wù)一上來頻率會(huì)劇烈波動(dòng)帶來畫面卡頓甚至 crash。檢查當(dāng)前 GPU 頻率cat /sys/class/devfreq/ff9a0000.gpu/cur_freq如果這個(gè)路徑不存在說明驅(qū)動(dòng)可能沒有啟用 devfreq或者設(shè)備樹里的 GPU 節(jié)點(diǎn)沒有正確描述。想限制最大頻率以降低發(fā)熱可以echo 600000000 /sys/class/devfreq/ff9a0000.gpu/max_freq單位是 Hz這里的 600000000 就是 600MHz具體數(shù)值取決于板卡的頻率表。經(jīng)驗(yàn)之談做穩(wěn)定性測(cè)試時(shí)一定要在真實(shí)散熱條件下壓測(cè)至少 24 小時(shí)因?yàn)?Mali GPU 在高溫下會(huì)觸發(fā)降頻和 job timeout這兩種情況的表現(xiàn)截然不同降頻是性能下降timeout 是直接 crash。7. 常見問題速查表與避坑清單以下是我實(shí)際項(xiàng)目里最常碰到的問題和解決方案匯總做成一張速查表方便查閱現(xiàn)象可能原因解決思路程序啟動(dòng)報(bào)libmali.so: cannot open shared object fileLD_LIBRARY_PATH 未設(shè)置或庫路徑不對(duì)用find / -name libmali.so 2/dev/null找實(shí)際位置再 export系統(tǒng)啟動(dòng)后屏幕黑屏或閃爍內(nèi)核模塊與用戶態(tài) DDK 版本不匹配從 BSP 供應(yīng)商獲取統(tǒng)一驅(qū)動(dòng)包不要混用clinfo顯示不了 Mali 設(shè)備OpenCL ICD 未注冊(cè)檢查/etc/OpenCL/vendors/下是否有 mali.icd 文件內(nèi)容應(yīng)為libmali.so的絕對(duì)路徑Vulkan 初始化失敗Vulkan loader 與驅(qū)動(dòng)不匹配裝vulkan-tools后運(yùn)行vulkaninfo --summary確認(rèn) driver 版本GPU crash dump 頻繁shader 越界或驅(qū)動(dòng)超時(shí)用 malioc 靜態(tài)分析 shader降低優(yōu)化等級(jí)檢查 buffer 大小推理框架跑起來比 CPU 還慢算子沒有真正走 GPU或者走了但拷貝開銷過大用GpuDelegate/NCNN_VULKAN的 debug 版本打印實(shí)際后端檢查 buffer 是否做了零拷貝系統(tǒng)卡頓CPU 占用不高但整體響應(yīng)慢GPU 內(nèi)存帶寬占用過高降低分辨率減少重復(fù)紋理讀取優(yōu)化 shader 帶寬訪問交叉編譯程序在板子上段錯(cuò)誤工具鏈 ABI 或庫版本不匹配readelf -A 程序查看 Tag_ABI_VFP_args確認(rèn)浮點(diǎn) ABI銀河麒麟升級(jí) openssh 后無法登錄sshd 配置文件權(quán)限或上下文不對(duì)恢復(fù)/etc/ssh/sshd_config權(quán)限為 600restorecon -v /etc/ssh/sshd_config高溫下長時(shí)間跑 GPU 作業(yè)崩潰散熱不足觸發(fā)降頻或 job timeout優(yōu)化散熱設(shè)計(jì)限制 max_freq或加大驅(qū)動(dòng) watchdog 超時(shí)參數(shù)還有一些值得寫進(jìn)項(xiàng)目記錄的避坑經(jīng)驗(yàn)不要在用戶態(tài)庫版本不明的情況下直接替換 libmali.so。建議備份并用strings查看內(nèi)嵌版本號(hào)。OpenCL buffer 的分配要一次性到位。Mali 的 user pointer 方式?jīng)]法保證物理連續(xù)共享內(nèi)存場(chǎng)景下性能衰退嚴(yán)重。盡量少在 GPU 和 CPU 之間做頻繁同步。每次 clFinish 都是一次全局屏障把多個(gè) kernel 串成一個(gè) pipeline用 event 來做依賴管理。RGBA8888 紋理不一定比 RGBA4444 慢。Mali 對(duì)非 8 位格式的壓縮支持很糟純性能考慮反而推薦標(biāo)準(zhǔn)格式。設(shè)備樹里 GPU 的 interrupt 配置錯(cuò)了驅(qū)動(dòng)能加載但跑任務(wù)必崩。拿到板子先確認(rèn) dmesg 里沒有mali: IRQ 63 cant request IRQ這種字樣。我在實(shí)際使用中發(fā)現(xiàn)花時(shí)間搞清楚設(shè)備和驅(qū)動(dòng)棧的匹配關(guān)系比盲目?jī)?yōu)化 shader 收益大得多。Mali GPU 的 26 條經(jīng)驗(yàn)踩坑一半都跟驅(qū)動(dòng)版本有關(guān)。最后再分享一個(gè)小技巧每次拿到新開發(fā)板我都習(xí)慣先記錄三樣?xùn)|西——內(nèi)核版本uname -a、Mali 內(nèi)核模塊版本modinfo mali | grep version、用戶態(tài)庫的 md5 值md5sum /usr/lib/aarch64-linux-gnu/mali/libmali.so。后面不管出了什么問題拿著這三個(gè)信息去搜效率高得不是一點(diǎn)半點(diǎn)。ARM Mali 這套體系只要掌握了架構(gòu)脈絡(luò)、驅(qū)動(dòng)匹配、工具鏈選型和計(jì)算資源邊界就能在邊緣設(shè)備上做出穩(wěn)定可用的東西。希望這篇能幫你少流幾次汗有具體問題歡迎在評(píng)論區(qū)繼續(xù)聊。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色香色欲天天综合网天天来吧| 欧美色视频在线| 久久九九视频九九视频| 亚州久久9| 国产精品爆乳懂色蜜乳| 亚洲 图片 综合91| 好涩综合| aaa一级黄片| 嗯嗯啊啊视频一区二区三区| 激情 欧美 亚洲 小说| 丁香六月婷婷综合| 日日干日日| 韩日精品福利视频一区不卡在线免| 中国熟女网站| 99久久e免费热视| 人妻在线臀日韩| 夫妻日逼| 日本狠狠干| 久久成人网站| 国产尹人在线视频免费| 91综合天天看| 91综合在线| 亚洲中文字幕久久无码精品| 玖玖在线视频| 天天综合~91| 精品妇女一区二区三区| 黑人娇小av在线播放| AA丁香综合激情| 国产精品日日摸天天碰| 男人的天堂在线2| 国产免费一区2区3区| 九月丁香婷婷| 激情小说图片亚洲首页| 9999伦理视频| a级成人毛片免费视频高清| 久啪| 国精精品无码一二三区水多多| 国产女人高潮视频| 欧美Ⅴ性爱| 日本三级日本三级三级人妇四虎| 亚洲。天堂。日本在线观看| 国产女人成人精品视频| 亚洲色图91| 神马视频久久久久久| V A在线| 极品丝袜无码| 老司机深夜18禁污污网站| 欧美另类色| 97亚洲欧美| 亚洲日韩青青草色月| 国产欧美成人第一页在线观看| 最新制服中文第一页| 国产AV高清AV无码| 日本不卡一二区| 东京热激情视频一二三区| 欧美日本不卡在线| 久久伊人网视频一区二区三区| 后入综合久久| 国产精品青青草| 人人操人人插 - 百度 - 百度| 婷婷丁香熟妇综合网| 操淫穴亚洲五月丁香| 亚洲乱码尤物193YW| 中文字幕乱妇免费视频| 岛国小电影| 欧美人人曰人人操人人射射| 亚洲在线综合| 欧美伦乱爱| 亚洲av乱伦色图网站| 嗯嗯啊啊啊好爽| 91色图片| 激情文学网伊人| 可以免费看黄片的视频| 日韩精品午夜操呦呦不卡影院 | 色色九区| 久久一二三级一一一| 一个色导综合| 一本色道熟妇| 久久久久久9999| 秋霞曰韩R级| 欧美999| 亚洲天堂日本| 国产欧美精品日韩区二区麻豆天美| 日韩成人人妻网站| 久九干| 日韩色| 丝袜足交视频| 成人一级二级| 色爱综合网欧美| 日本九九九九| 婷婷五月天福利| 韩日性爱av| 不卡视频一区蜜桃视频| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 四虎影院成年人片| 欧美一级A一级a爱片久久| 天天色怡春院| 欧美日韩大陆黑人少妇99| 丁香激情网| 淫荡网址| 中文字幕乱码在线| 欧美92| 欧美亚洲成人在线一区二区三区| 亚洲欧美日韩综合在线尤物| A级毛片在线看免费| 中文字幕无码不卡啪啪| 天美传媒av一区二区| 干b在线性社区| 大香蕉五月天| 婷婷激情五月天小说网| 99久国产精品午夜性色福利| 免费?级毛片无码?∨蜜芽试看| 老熟女熟妇| 97香蕉碰碰人妻国产欧美| 色色香蕉| 亚洲精品xxx| 无码国产Av| 青娱乐淫乱1314| 九久9精品| 国产91美女视频| 伊人视频| 美女爽爽爽刺痛洞洞| 黄色不卡视频| 伊人国产视频| 美日韩一二三区| 国产AV天美| 色噜噜综合在线| 国产免费永久精品无码| 激情啪啪拍91| 精品国产片亚洲一区| 18禁网站在线播放| 中国亚洲呦女专区| www.激情| 久久综合婷婷| 日本91白丝| 一道本久久棕合爱| 97在线免费看视频| 少妇色欲综合网2| 国产97av| 婷婷久月| 日韩成人精品| 亚洲αv一区二区三区| 日本欧美中文字幕| av一区二区三区不卡| 亚洲?V高清一区二区三区尤物| 狠狠亚洲| 91高潮喷水美女| 九七人妻在线| 蜜区区视频79 | 家庭乱伦国产精品| 国产在线综合网| 大香蕉乱级| 亚洲三区视频| 六六久久日韩不卡| 日韩伦理视频| 97国产伦理| 制服少妇欧美| 天天日熟妇| 997色在线| 日韩人妻无码不卡网站| 91久久久亚洲| 日韩亚洲国产视频| 69超碰综合| 香一区二区三区| 夜夜福利| 懂色Av一区二区三区| 日韩精品-原创伙伴| 亚洲动态色图| 八戒无码国产午夜福利| 欧美亚洲另类在线蜜桃| 日本一级一级一级一级| 天天欧美色| 日本三级小说中文字幕| 九九九九九九视频| 91 偷| 久草电影网| 嗯嗯啊啊操我| 黄色一区二区秘书性感| 婷婷五月天社区| 熟妇视频一区二区三区在线观看| 亚洲av热热色| 天天拍天| 国产h小视频在线观看免费| 综合国产影视三级| 性做久久久久久免费观看软件| 亚洲一区中文精品| 丁香五月AV| 大香蕉欧美日韩| 亚州,欧美在线| 无码精品久久| 日本超碰在线国产一区| 亚洲人91| 欧美成人性活片| 日韩无码a片| 色色婷| 天天综合欧美综合| 欧美精品97| 午夜一区二区三区国产| 亚洲日本加勒比在线| 亚洲欧洲第二视频在线观看色图| 97 九色| 日逼97| 97精品熟女少妇一区| 国产高清成人传媒影视| 亚洲人在线| 亚洲图片欧美另类综合免费视频大大香| 大香蕉青青9| 欧美AB在线| 欧美性爱十八禁| 久久9 9 9精品| 亚洲91射| 久久亚州精品成人Av无| 蜜臀av在线播放一区二区三区| 6080yy午夜理论三级一区二区三区无码| 18禁超污无遮挡无码免费网| 97看操| 蜜臀久久99精品久久久久久无删减| 欧美97| 91超级碰碰| 日本中文字幕一区| 午夜超爽| 欧美色图亚洲色图成人在在线| 国产精品色哟哟| 久久αⅴ| 婷婷99狠狠躁天天躁| 蜜桃视频啊啊啊啊| 亚洲无码国产探花在线观看| 欧美色棕合| 嗯嗯啊啊啊好爽| 亚洲精品精品一区二区| 97精品视频在线播放| 精品免费一区| 六月丁香五月婷婷| 九久9精品| 操比国产| 九九九国产精品| 乱伦系列一区二区| 黑人性暴力毛片| 成人免费福利网站国产| 男女香蕉一区二区| 国产剧情AV不卡在线观看| 青青草色情网站视频| 日韩熟女无码| 五十路熟女工口 | 久久久久一本一区二区青青蜜月| 九九久精品| 五月丁香社区婷婷日韩欧美精品影院 | 日韩熟女精品无码专区一区二区 | 国产97色在线| 亚洲情色电影网| 九久精品| 日本免费一区二| 麻豆久久一区二区三区| 国产九月婷婷| 精品一区二区三区国产| 在线天堂999| 亚洲超碰97| 丁香六月综合激情| 97久久精品| 欧美78p| 天天看精品动漫视频一区| 综合亚洲情色| 久久精品日韩| 日本2020一区二区| 无码免费一区二区三区啪啪| 青青草毛片| 日本不卡卡一区| 欧美超碰在线| 东北女人| 亚洲AV无码成人精品久久| 九九九不卡| 6080yy午夜理论三级一区二区三区无码| 极品色电影院| 欧美成人精品A片免费一区99| 欧美 亚洲 综合 制服 另类| 免费看欧美美女黄色大片 | 国模不卡一本二本三电影| 狠狠色伊人亚洲综合网站色| 国产人妻精品一区二区三区秋霞| 嫩草美女久久| 天天综合网亚洲综合网| 影音先锋中文字幕日本好一区二区| 国产夫妻一区二区| 婷婷丁香五月天综合东京热| 蜜臀网址在线| 麻豆九九九| 97国产高清视频在线观看| 亭亭在线资源| www鬼畜国产男人的天堂| 99re热有精品视频国产| 精品超碰色| 麻豆AV一区二区| 污污汅18禁网站在线永久免费观看| 奸色色 男人天堂 天天射| 天天综合网日韩| 午夜欧美J进J出白浆流出久久久 | 欧美亚洲成人在线一区二区三区| 亚洲图片色图欧美另类| 亚洲色图欧美色18直播在线| 伊人久久国产免费观看视频| 欧美疯狂做爰xxxx| 久久亚洲AV无码专区国产精品 | 在线视频一区二区传媒| 韩国三级理论在线| 国产偷拍网站| 人人妻人人澡人人爽久久av| 97 九色| 熟女被操视频网址| 人人操人人操人人人操| 蜜臀AV一区二区三区| 国产精品网站免费| 成人夜夜爽| 国产区91柔拿会所技师| 一级二级在线观看| 久久久国产精品亚洲精品| 亚洲情色五月天| 免费A V在线| 另类TS人妖一区二区三区| 97伊人超碰| www被窝色com| 1024亚洲中文字幕久在线看片你懂的 | 啊啊啊啊无码| 少妇人妻激情四射| 97青娱乐超碰久久| 97天天摸天天碰| 亚洲黄色a级片| 亚洲 欧美 精品专区 极品| 97国产|免费| 亚洲国产丝袜在线观看| 香港日本韩国人妇99www.wccm20| 人人看欧美性爱| 久久久久久九九九九| 久久精品高清无码一区| 伦在线97| 久久久久9999妇女| 一区二区 日韩 欧美 国产 传媒| 午夜一区二区三区国产| 中文?日韩?免费?精品| 91色欧美| 亚洲 欧美 手机在线观看| 国产无马在线| www.av家庭乱伦| 天天综合欧美| 精品69网| 最近二区三区视频大全| 免费观看一区| 国产剧情在线| 久草免费在线视频| 国内一级精品| 国际精品久久久| 色原狠狠天天天| 麻豆色约约| 亚洲九九视频| 婷婷午夜清品久久久久久久性色视频观| 日韩亚洲美州欧洲综三区一品在线| 黑人美精品 A片| 国产1024在线播放| 岛国黄片网站| 天天操夜夜操狠很操| 最新日日夜夜天天干干| WWW操逼| 亚洲密乳AV| 日韩欧美福利视频看看| 欧美 精品国产制服第一页| 亚洲在线a| 精品熟女呻吟久久91| 国产97在线 | 亚洲| 欧美姓爱综合网| av天堂电影网| ji熟女.com| 国产麻豆福利av在线播放| 国产三级多多影院2022国产AA一级毛片无码| 欧亚免费视频| 五月丁香色色网| av中文在线| 亚洲有薄码区日本系列中文字幕| 操B在线观看| 人妻81p| AV和黑人在线播放| 性色av网站| 91三级理论片播放器| 亚洲综合一区二区| 久久99操天天日| 亚洲成人一二三区| 男人把坤坤插入女人的下体| 超碰综合97在线| 日韩一卡二卡三卡| 国产又色又粗又黄又爽| 日本在线不卡v二区| 五月天激情网站| 欧美日韩人人精品| 美女诱惑在线一区| 久久久久女教师免费一区| 97亚洲在线| 国产精品免费1区2区视频| 青椒国产97在线熟女| 国产情侣自拍在线播放| 91视频国品一二三区| 红桃视频高潮| 蜜汁欧美| 自怕偷自怕亚洲精品| 人人考人人摸人人干| 黄页18禁| 亚洲天堂资源| 91人妻少妇| 性爱网站一区二区| 欧美特大黄一级片片免费| 欧美亚洲国内自拍| 欧美熟女逼久久久久久| 日韩欧美性爱电影在线观看| A 天堂在线观看视频| 男人亚洲91首页在线| 色女综合| 一区二区视频在看| 97免费视频在线观看视频| 99久久99九九99九九九| 色哟哟AⅤ| 99亚洲天堂| 天天综合网入口~91| 精人妻一区二区三区| 久久精品国产99精品亚洲蜜... | 少妇一区二区三区高速| 婷婷综合五月天| 一区二区三区男女操逼黄色小电影| 狼天天狼天天大香蕉| 日韩综合97P| 98久久超碰| 亚洲成熟国产精品美女| 少妇500双飞99| 超碰97 线线 在现| 日本精品不卡一二三区| 99亚洲人人| 爱爱动态60秒| 蜜臀av一区二区三区免费观看| 98一区二区精品| 婷婷精品国产欧美精品亚洲人人爽| 青青青草原| 午夜视频久久久久一区| 香蕉婷婷| 男人天堂导航| 亚欧高清在线| 国产精品久久久久久9999| 国产精品视频自拍在线| 欧亚乱色熟一区二区三四区| 日韩在线AB| 91女日逼| 大香蕉久操| 97视频620| 呦呦一区| 中文字幕片| 亚洲精品久久久久毛片A片拉屎 | 激情久久久| 亚洲日韩久久精品一区| 在线岛国新天堂8| 熟妇人妻一区二区| 丰满人妻一区二区三区蜜桃视频| 人人做,人人操,人人摸| 天天夜夜久久| 天天懆天天日| 另类av综合久久| Av手机版天堂网| 亚熟在线| 欧美色天堂网在线视频| 搡老熟女免费视频 | 久久一二三四五六七八九区区区 | 日本国产成人亚洲精品无码| 人妻喷水| AV 少妇 人妻 偷拍| 欧美在线啊啊| 强奸少妇AV导航网| 中文?日韩?免费?精品| 国产日韩精品一区二区三区| 少妇被c 黄 免费观看| 亚洲人在线成线成人| 亚洲性爱成人| 99re只有精品| 亚洲va有码在线天堂| 欧美论理片| 国产精品亚洲天堂网址| 台湾佬中文娱乐网久久久久久久久久com | 亚洲精品男人的天堂| 精品一区二区三区18| 五月丁香影视| 色色毛片| x97av| 十八禁啪啦拍视频无遮挡| 91熟女网| AV丝袜少妇| 日韩国产乱子伦App| 91青青在线视频| 亚洲夜夜欢无码一区二区| 日韩熟女精一区二区三区不卡| 亚洲一欧洲中文字幕在线| 免费99精品国产自在在线| 色一色综合网| 99热在线播放| 狠狠夜色午夜久久综合在线| h4610国产人妻| 久久国产精品一区二区| 色 婷97| 殴美在线AⅤ| 亚洲天堂资源网| 天天综合欧美综合| 婷婷天堂站| 热99这里有精品综合久久 | 欧美日韩中文视频播放| 大香蕉在线视频重口味毛片在线| 老女人爆菊| 日本一区二区三区午夜观看| 伊人在线大香蕉二。| 天天射影院| 乱伦a片视频| 日韩欧美蜜桃精品久久中文字幕久久| 日本高清_区二区三区| 狠狠入| 男人精品天堂一区| 三级三级三级日本99| 欧美高清18A片| 久久久少妇诱惑精品视频| 久久久久久久久久久久久久久性生活视频 | 99激情视频| 黄色片A级一区二区三区| 亚洲交换| 欧美一区二区成人一卡| 亚洲欧美一区二区三区在钱蜜桃| 男人的天堂va在线| 综合97亚洲| av中文字幕在线熟女| 1769一区| 久久精品28| 日日骚精品视频| 欧美在线官网| 中文字幕在线高清男人的天堂| 人妻熟女一区二区三区视频| 天天摸天天碰天天添青青| 任你草| 日韩美女操b| 中文字幕av亚洲精品| 桑老女人九区| 亚洲欧美日韩国产丝袜自拍中文| 超碰免费人人| 在线精品福利免费播放| 国产高清精品一区二区三区毛片 | 欧美美逼| 狠狠爱夜夜干| 97一区二压| 国产suv精品一区二区四区999| 一级性爱视频免费在线| 国产精品久久久久久久久久久久久久吹 | 1769国内精品视频| 欧美性色网| 婷婷九月丁香| 亚洲自拍青操视频| 久噜噜| 天天亚洲综合| 蜜桃久久久久久久| 91麻豆天美国产欧美日| 夜色五月天| 自拍啪啪视频| 超碰偷拍| 欧美在线|亚洲| 91少妇香蕉久久精品| 大香蕉在线视频重口味毛片在线| 嫖老熟女A片一二三区| 欧美日韩午夜精品一区二区三区| 99热线麻豆| 九九九九一级| 中国的操老妇女| 精品妇操一区二区三区| 美女丝袜激情小说| 日韩 欧美 国产 麻豆| 色老汉色| 青青草啪啪网| 中文字幕视频免费| 欧美影音在线| 97精品97久久| 在线电影亚洲色图| 蜜桃午夜视频一区二区| 色淫网站优优视频| 天天射夜夜骑| 大香蕉一级黄色片久久| 人妻三级在线中文字幕| 色牛aV| 在线综合 亚洲 欧美中文字幕| 人妻91少妇| 久久系列| 午夜精品久久一区二区| 成人一二| 日韩成人精品视频自拍| 久久久久久AⅤ无码免费肉站| 亚洲国产美女久久久久| 成人免费性爱视视| 亚洲成人性爱网站在线播放| 国产AAAAAABBBBB| 久久男人精品| 欧美成人黄网色网站| 9999久久久久| 欧美日本久久精品一区| 啊啊啊不要好爽日韩无码一区| 校园春色 男人天堂| 99热色这里只有精品| 不卡九肏| 亚洲区限制级| 亚洲电影91| 女生看匆91网站| 国产一级高清免费观看| 免费一级精品啪啪视频| 色色色色综合网| 丝袜六区| 国产成人精品午夜福利| 亚洲午夜精品久久久中文影院| 青青草字幕AV| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 亚洲黄a三级三级三级看三级| 女同在线视频一区| 黄总AV色图| 9997se| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲欧洲精品视频发布| www.zbzhongsen.com| 亚洲人精品久久久喷水| 成人在线午夜视频一区| 久久超碰com| 日韩欧美tv一区二区在线观看| 秋霞一集毛片观看| 另类小说综合网| 国产精品一区二区黄片| 插入综合网| 热热色色综合| 亚洲无码电影久久久| 日亚韩精品视频二区三| 亚洲欧美中日韩| 天天综合站| 久草尤物| 日韩人妻操B| 久久后入制服| 午夜视频久久久久一区| 五月激情小说| 91久久精品美女高潮喷水| 日韩精品中文字幕人妻| 国产伦精品一区二区三区在线观| 99热综合| 97久久国产亚洲精品超碰热| 麻豆国产精品午夜视频| 二色av| 日日日大屁股骚女人精品| 久久人妻| 欧美性爱在线无码| 91麻豆一二三区| 亚洲精品97| 性色av婷婷久久一区二区点复制| 精品国产一级久久| A男人的天堂| 91丨国产丨白浆秘 洗澡动漫| 男插女青青影院| 天天拍天天操| 精品大全99999| 在线综合色| 国产青视频| TS人妖另类精品视频系列 | 亚洲无限观看| 黑人精品一区二区在线播放| 99999久久久久9国产精品| 999国产精品999久久久久久| 在线强奷到舒服的无码视频 | 青青草亚洲一区| 精品无码少妇| 最近的最新的中文字幕视频| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 红桃视频高潮| 人妻少妇久久中文字幕一区二区 麻豆 | 在线无码网站| 自拍视频大全亚洲专媒视频/一区二区三区 | 亚洲伊人久久精品影院| www.yeyecao| 亚洲激情AV| 美女好片色日本| 国产视频一区二区免费| 乱操9999| 欧美特大黄一级片片免费| 久久久久久久综合,国产| 亚洲精品一二区| 884t在线| 国产绿奴视频在线观看| AV一二区| 黑人白女精品一区| 精品乱码久久久久| 亚洲国产一区二区入口| 亚州色图欧美| 亚洲成人福利电影免费| 欧美玖玖爱免费玖玖| 无码精品人妻一区二区三区妖精| 亚洲 欧美 天天| 丁香婷婷五月| 欧美大香蕉97| 亚洲精品国产熟女| 国产成人主播| 天天视频网站黄| 美女诱惑在线一区| 久久av成人无码免费| 99re在线视频国产| 乱伦日本色图AⅤ| 午夜操操操| 韩日精品四区| 操逼网站网站| 亚洲区限制级| 国语精品内射在线观看| 欧美丝袜中文字幕07在线| 亚洲天堂电影精品一区| 中文字幕三四区| 欧美三级免费伊人| 色五天伊人| 骚货操死你| 日韩97超碰中文字幕| 欧美日韩在线视频网站| 久久久久久久久久久999| 国产高清MV操逼视频| 蜜臀va69| 裸体美女国产免费久久久网站| 色婷婷一区二区三区久久午夜成人不| 无码不卡八戒| 亚洲精品国产熟女久久久| 亚洲另类在线观看| 免费观看网黄| 大干人妻| 久久久久久久 九九九九九九九| 91中出在线| julia在线观看久久| 欧美丰满少妇xx高潮| 91亚洲黄色网| 丝袜制服字幕在线| 特级丰满少妇一级AAAA爱毛片| 精品小视频在线| 高清无码 国产精品| 欲香欲色综合天天伊人| 色av中文字| 国产 热久久久久国产精品| 亚洲资源吧| 日韩久久超碰色| 人人射人人操人人摸| 蜜臀久久99精品久久久电影| 日韩欧美偷拍美女视频| 九月色婷婷| 日本十八禁免费看污网站| 亚洲高清欧美总合| 日本最新免费韩国1区2区视频播放| 久久久久亚洲三级电影| 免费男人的天堂| 99久久无色码| 图片区小说区| 亚洲欧洲日本精品中文a∨| 亚洲熟女少妇免费视频| 亚洲色图欧美色图制服丝袜 | 蜜乳性色无码专日粉嫩骚逼AV| 日韩少妇无吗| 麻豆久久久一区二区| 一区二区三区免费岛国片| 久久精品店| 日韩av电影网站| 久9久| 狠狠干,狠狠操| 美国精品国产精品| 亚洲毛片基地专区| 天天舔天天日天天射| 久久综合18p| 凹凸视频特色日本特黄| 尤物黄色在线观看网站| 亚洲在线91| 国产精品高朝久久久久久久| 三上制服丝AV| 2020视频1区2区3区| 日本一级二级三级网站| 日韩精品中文字幕人妻| 精品欧美乱码久| 欧美青青草视频| 好舒服视频| 肉丝网站91| 五月天开心网| 人人射人人操人人摸| 亚洲欧洲综合av在线| 尤物网站91| 国产精品久久久久婷婷二区次| 中文字幕 人妻不满 在线视频| 久久久新亚洲AV| 香港久久久| 嗯嗯啊啊的视频| 男人的天堂色偷偷青青草视频婷婷网| 影音先锋中文字幕日本好一区二区| 噜噜噜噜久久久精品免费| 伊人亚洲综合| 2017大香蕉国产精品久久| 亚洲人在线| 91国产精品熟女| 中文字幕日韩综合| 亚洲综合五月天| 99热精品免费| 91九九| www.99视频| 欧美日韩第一页| 久久精品店| 干婷婷综合网| 北京美女一区二区| 欧洲射精91| 日本一片一区| 四虎视频在线观看| 天天综合欧美综合| 禁十八久久| 久日91在线| 啊啊啊快操我视频| 亚洲视频一二区| 亚洲日韩东京热一区| 97 九色| 欧美青青视频| 十八禁一区二区无码观看| 亚洲诱惑天堂| 亚洲,欧美,综合网| 日韩中文9| 欧美一区二区三熟女剧情| 久久综合av| 性色高清..……| 18精品一二区| 欧美资源| 国产无码精品高清| 国产精品久久久久亚洲av| 亚洲色图欧美视频| www超碰| 97天天摸天天碰| 日日干日日操五月天伦理视频| 久久肏大逼| 青娱乐日韩无码| 丁香五月社区| 国语人妻精彩刺激| 操B久久| 亚洲性感丝袜诱惑在线观看| 亚洲不卡一| 超碰91在线| 五十路六十路七十路熟婆| 丰满人妻无码一区二区三区| 国产高清在线观看欧美| 欧美性爱另类综合| 精品超碰中文在线| 欧美内射少妇| 国产日韩中文字幕欧美| 久久久久久久| 尹人免费观看视频在线| 五月天玖玖资源站| 亚洲中文字幕噜噜噜久久久| 久久亚州高清| 国产精品毛片| 超碰九7| 7777奇米影视久久| 影音先锋国产精品| 一区二区三区日韩欧美 | 国产拍偷精品网站| 精品人妻一区二区视频| 成人综合久久精品色婷婷| 五月丁香六月婷综合成人综合| 美女黄频a美女大全免费皮| 日本人体九九九九九九| 97露脸精品丝袜| 99夜夜操| 国产av强奸美女| 亚洲精品色| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲av无码国产精品字幕| 在线无码操| 九九久久首页| 青娱乐 青青青操 日逼| 强奸乱伦AV一天堂网| 亚洲AV无码成人精品久久| 青青草视频久久久久| 中出20p| 99无码狠狠久久| 自拍大香蕉乱插| 欧美日韩222| 久久线上视频免费看| 99这里只有精品国产| 色婷婷五月综合| 久久精品99久久久久久| 97爱爱爱| 免费精品福利在线观看| 欧美熟妇乱码在线一区| 色97欧美| 色色色欧美| 天天日天天插| 久久九九热| 岛国色情视频在线观看| 超碰97精品在线| 日1区2区3区2020| 亚欧成人综合影院| 天天干2019| 久久内射| 日韩成人大片在线观看| 秋霞一区二区三区四区五区六区七区| 四虎影视永久在线观看精品免费网站| 伊人嫩草| а√天堂资源官网在线资源| 狠狠五月天| 亚洲色棕合| 人妻中文字幕精品无码 | 99热免费| 97欧美综合网| 国产熟女乱论| 十八禁黄色成人网站观看| 欧美国产婷婷久久| 黄片www.| 91草草草| 国产视频一区二区三区在线免费观看| 中国国产精品一区视频| 日本午夜福利视频| 国产在线能看的你懂的| 美女刺激久久国产欧美| 久热这里| 亚洲免费看片| 老司机福利社视频在线观看| 黑人黄片在线免费观看| 97视频在线免费| 可以在线观看AV的网站| 老熟女中文字幕高清| 久久人人爽爽人人爽人人片αV| 欧美日韩性爱视屏免费看了| 日韩av情韩国爱禁区av一区二区| 亚洲色人| 激情自拍 校园春色| 91亚洲综合在线| 涩五月婷婷| 天天色综合影视网| 国产超碰| 亚洲乱熟女一区二区| 日亚韩精品视频二区三| 天美传媒精品一区二区三区| www色婷婷| 国产精品日日摸天天碰| 99re在线观看| 欧美亚洲情色| 嗯阿好爽好紧| www.久久制服糖| 男人的天堂久久狠| 思思性爱| 台湾佬中文娱乐网久久久久久久久久com| 精品无码一区二区三区| 综合网久久| 日韩黄片视频试看| 台湾佬中文娱乐网久久久久久久久久com| 少妇久久久久久久| 看黑人AV不卡| 熟女五十路一区二区三| 99热日| 国产激情片在线观看| 精品传媒在线一区| 日韩丝袜人妻AV| 日日插夜夜| 亚洲熟女一区二区| 日本免费中文一区二区三区四区| 日本一片一区| 国产亚洲日本精品在线| 欧美精品欧美精品系列| 99热这里只有精品9| 免费岛国一级片| 1二区9| 在线国产一区二区av| 亚洲视频精选| 大香蕉天天看妹子| 强奸乱伦亚洲第一页| 亚洲高清男人天堂| 五月天婷婷成人网| 黄色操人| 超碰在线在公开超碰在线在公开| 可以在线观看AV的网站| 91高清欧美| 婷婷综合在线观看| 男人高清无码一区二区| 亚洲视频精选| 国产精品欧美激在线| av日韩手机在线影视| 91久久久久久久久18| 大香蕉宅男伊人| 亚洲国产麻豆一区二区三区 | 亚洲女人91| 后入内射蜜桃臀| 亚洲精品精品一区二区| 亚州综合网| 久久精品国产久精国产| 欧美日不卡| 国模不卡| 日韩成年人性爱视频| 日韩无码久久熟女一级片| 久久五月丁香| 国产精品爽爽v| 中文字幕视频在线观看| 啊啊啊啊操死我了| 人妻少妇蜜桃视频欧美一区| 懂色天天爱天天日天天射天天澡| 色偷综合| 色婷婷在线视频| 嗯啊视频免费在线观看| 国产日韩久久| 欧美大色交| 日韩pv中文| 福利在线黄片| 五月丁香六月综合缴清无码| 99国产精品免费| 操91| 熟女精品va中文字幕| 囯产精品久久久久久久久久梁医生 | 亚洲综合 欧美| 亚洲s在线观看| 丁香五月性| 日韩国产欧美伦理在线| 91欧美亚洲| 欧美桃色网| 日韩不卡网操逼中文字幕日韩| av日韩手机在线影视| 电家庭影院午夜69久久夜色精品国产69乱| 国产丝袜美女诱惑| 少妇xx精品| 亚洲av性爱电影| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 精品四五区| 亚洲色诱惑| 免费日韩黄片| 精品国模无码| 亚欧成人一级片在线播放| 超碰社区97| 亚洲有码第一页| 日韩成人午夜精品久久高潮| 亚洲 欧美都市激情| 99久re热视频精品98| 91丨熟女丨丰满熟女| 日日干天天干夜夜爽| 最近二区三区视频大全 | 97久久资源| 色色色欧美| 久9视频| 国产操逼逼网| av最新免费中文字幕| 爱妃国产亚洲视频中文字幕| 亚洲一二三四区| 天天日天天干天天摸天天操| 国产青视频| 最新精品久久蜜桃| 亚洲一区二区三区麻豆传媒| 精品一区二区三区蜜桃臀赵总| 人人干黄色| 国产乱伦视频污| 国产精品白丝www| 综合熟妇一区二区三区| nuu12国产麻豆精品| 国产91丝袜在线播放蜜月| 精品一区二区三区四区外站 | 啊啊啊啊在线观看网址| 91色噜噜狠狠| 老熟女区| 一区二区三区四区色图| 东京热男人的天堂网| 欧美日韩高潮喷水91| 久操大香蕉手机视频在线看| 99在线精品视频| 操碰97| 六月婷婷五月丁香| 中文字幕精品日韩中文字幕| 台湾一区国产高清在线| 国产精品国产亚洲区艳妇糸列| 91天堂丝袜美腿| 国产丁香精品露脸视频| 国产精品久久久久久久久久二区三区| 日日日啊啊啊| 欧美亚洲20p| 激情视频一二三| 我中文字幕6区| 亚洲图片在线| 日日躁夜夜躁狠狠躁超爽| 亚洲美女高潮喷水视频| 国产精品丝袜在线| 啊啊啊啊好疼| 亚洲情色 欧美| 久久精品熟女亚洲AV麻豆软件| 欧美激情 亚洲色图| 风韵犹存大大大大香蕉| 亚洲丝袜在线观看| 欧美天天射| 成年人网站在线免费观看| 98人妻精品一区二区色欲| 亚洲天堂一区二区久久| 国产 亚洲 丝袜 制服| www.人人cao| 久久精品人体AV| 日日骚 av| 九9精品| 欧美成人精品一区二区男人蜜臀| 久久精品国产久精国产| 九九九只有精品| 神马久久久久久| 宅男影院久久久,99| 国产日韩欧美三级片| 亚洲有码 视频一区| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 爽爽淫人网| 久操操| 欧美日韩精品久久久久东北老熟妇| 欧亚日韩三区| 国产91丝袜 在线播放| 大香蕉中文201| www.av家庭乱伦| 亚洲国产一级精品毛一级精品看免费视频 | 色综合网1| 中文激情网| 国产人伦精品一区二区三区| 是还免费视频1727我| 综合久久2017| 亚洲国产av中文字幕久久 | 91久久精品中文字幕| 一起草日韩| 熟女精品一区二区三区| 99欧美| 色爱综合网| 亚洲18禁| 天天操天天看| 国内一区二区免费| 岛国黄色大片网站| 久久理论字幕视频| 伊人午夜福利视频| 亚洲av噜噜噜噜噜噜| 国产精品视频白浆免费| 91狠狠综合久久久久久| 亚洲熟女乱色一区二区三区久久久 | 日本午夜久久电影| 粉嫩国产精品久久久| 一二三四区操操Av| 日韩精品在线放| 涩五月婷婷| 亚洲日韩乱码中文无码蜜桃臀网站| 精品综合久久久久久97| 天美av在线| 一本大道不卡一二三区| 欧美日韩国产中文精品字幕自在自线,| 高清不卡视频| 天天在线91| 久热影视| 亚洲青青青视频在线| 狠狠躁久久躁| 伊人久久在线视频观看| 国产精品一区二区三区在线密挑| WWW黄片COM| 亚州色国| 性色AV网站| 殴美牲| 快灬快灬 一下爽蜜桃在线观看 | 婷婷伊人五月| 五月丁香影院| 天堂精品| 韩国午夜理伦三级好看| 97视频7| 亚洲一区二区三区在线激情| 色婷婷狠狠| 久久婷婷一区| 最新国产亚洲精品精品国产亚洲综合| 日韩啪啪啪啪啪| 欧美亚洲清纯| 免费αV在线视频|