久久亚洲成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
返回資訊列表
99re在线视频这里只有精品| 久操凹凸视频| 久久久久久69国产一区二区| 亚洲熟女乱色| 91丝袜美女视频| 成人免费不卡在线视频| 人妻熟女一区二区| 亚洲成人性爱网站在线播放| 嗯嗯啊啊操死我| 0755午夜福利视频| 国产九九九九九九九九| 亚州中文字幕超碰97| 国产农村妇女精品| 深夜啪啪啪视频免费| 天天干夜夜肏| 国产女人高潮嗷嗷嗷叫小说| 久久嫩草国产成人一区| 欧美,亚洲,日韩,v,天堂,手机在线观看| 亚洲高清综合网| 亚洲成人性爱在线观看| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 天天日夜干| 欧美日韩性爱操大逼| 久偷拍| 性色AV蜜色av色欲av| 嗯嗯啊中文字幕| 超碰色大香蕉| 插老姨肥穴| 久久春色| 亚洲熟女乱色| 国内毛片欧美香蕉精品| 欧美三级免费伊人| 成人性爱视频在线看| 亚州色图狠狠干| 91久久免费视频互動交流| 超碰97资源大奶| 91性色| 欧美日韩高潮喷水91| 熟女少妇视频| 久久欧美1卡2卡3| a级免费在线观看| 亚洲中文制服诱惑| 蜜乳中文字幕a在线| 精品免费一区二区三区在线亚洲人成| 伊人热综合| 精品人妻1237| 大香蕉综合网| 水澄无码AV| 超碰97 线线 在现| 亚洲成人综合在线| 中文字幕欧美日韩三级| 久久蜜桃综合网| 久久久久久久伊人精品| 男同专区一区二区三区在线| 久久中日麻豆| 亚洲天堂综合AV| 黄页| 九九九九九九九九九五码| 日韩欧洲操屄视频| 国产强奸乱伦第1页| 久久綜合很很很| 精品国产人成在线| 久久久久国产精品久久久| 久久综合18p| 国产女s强制榨精视频| 久久香蕉超碰97国产精品| 久久社区一区二区三区| 97日亚洲欧美| 亚洲成人av色网| 一级岛国大片| 亚洲情色 自拍| 色性综合| 亚洲天堂人妻熟妇视频| 麻豆天美在线| 亚州高清色综合| 激情四射五月天| yiqicaoav| 操死我了啊啊啊| 精品久久視頻在线| 欧美一区二区三区日韩| 人人看黄色视频| 欧美色图天堂网m| 99re热有精品视频国产| 国产农村妇女精品| 亚洲人人夜夜澡人人爽| SS久久| 婷婷大香蕉| 91综合网在线| 久久久精品一区二区| 嗯啊不要啊在线| 欧美日韩色综合网| 国产深夜福利| 国产精品久久久午夜夜伦鲁鲁| 97青青操视频| 五月婷婷爱六月丁香色| 天天色黄色影院天天操| 91欧美色| 爱丝福利| 亚洲第二页| 久色99999| 欧美制服网站美腿丝袜| 狠狠久久四虎| 激情五月天婷婷| 中文字幕aⅴ在线视频| 亚洲男人综合| 国产成人自拍视频视频| 在线观看一级α片刺激高潮视频| 91亚洲情色| 欧美 日韩 婷婷 五月| 一区二区精品更新提醒| 亚洲 中文 女同| 久久久久亚洲AV无码专区少妇| 亚洲色宗合| 国产91 丝袜在线播放| 天天操天天干美女网址导航| 中文字幕在线观看网址| 人妻精品免费一二三区| av影片在线观看不卡| 日本一线产区和二线产区伦理片| 97中文综合| 亚洲91色在线| 黄总AV色图| 日韩一区二区熟女| 国产怡红院| 国产精品交换一区二区| 性爱动态120秒| 岛园激情| 久久人妻视频| 美女人妻色网站| 精品久久久九九九孕妇| 97资源超碰| 久操黄色视频| 久久久性爱视频| 69精品人人人人| 天天天乱色综合全| 97超碰超欧美。| 亚州综合图片| 亚洲操操操无码| 一卡二卡在线播放| 极品另类| www国产精品| 久久超碰网| 亚洲无码 国产无码| 国产精品嫩草影院午夜两性| 尤物视频一区| 大地资源在线观看中文第二页| 404操逼福利视频| 韩国一级婬片A片AAAAA| 欧美熟爽综合| 搞中出视频在线观看| 欧美熟妇乱码在线一区| 丰满人妻一区二区中文| 94色色电影网| 一区二区三区探花在线观看| 国产激情综合| 国产精品 亚洲情色| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 欧美韩日精品资源| 精品久久人妻成人网| 99热99色| 亭亭丁香激情| 91日韩网站| 色激情综合网站| 免费一级a毛片久久久久久鸭绿欲| 天天日天天搞天天干| 久久精品国产亚洲AV成人直播| 一本久道久久综合狠狠爱| 久久人人爽爽爽人久久久| 97精品中文字幕| 欧美在线电影| 91艹B视频| 志村玲子视频一区二区| 日韩情色视频| 欧美猛交黑寡妇中文字幕| 色在线69堂| 丰满人妻一区二区三区免费 | 中文字幕精品丝袜| 偷拍亚洲情色| 18禁无码永久免费无限制| 黄色欧美性爱视频| av操操不卡| 人妻喷水| 北约熟女超碰| 亚州成人A√| 香蕉国产97| 久艾草在线精品视频在线观看| 国产家庭乱伦网址| 97丝袜亚洲在线播放| 天天日夜干| 国产92麻豆天美精品色欲5| 欧美三级一级| 蜜臀网 一区| 999亚洲国产视频| 国产成人www免费人成看片| 射丝袜高跟鞋99| 亚洲欧美视| 亚洲性爱成人| 中文字幕55555| 超碰78| 黄色av一区二区在线| 91丝袜美腿网站| 天操老女人| 婷婷婷婷婷婷久久久久| 高树玛利亚无码流出| 国产精品白丝AV| 操逼操网| 婷婷午夜成人色中色| 亚洲18禁| 狠狠超| 青草视频在线看看看看看看看看看| 久久伊人青青草| 精品一区二区三区国产 | 国产久9| 国产成人精品无码久久| 五十路熟女工口 | 78精品| 精品久久人妻成人网| 色踪合AV| 日本无码1| 国产又大又粗又长视频在线| 久久国产熟女影院| 国产熟妇一区二区| 人人妻人人狠人人| 韩日欧亚a级| 国产亚洲综合欧美一区| 亚洲风情在线观看| 手机av天堂久久久久| 亚洲91射| 不卡免费av在线播放| 中文字幕精品三级久久久| 日韩 欧美 另类 人妻| 色婷婷成人综合| 成人无码在线超碰网| 9999亚洲电影| 日韩人妻播放| 国产精品蜜臀久久久久无码AV| 啪啪资源网| 91久久国产综合精品| 欧美激情一| 色欲日韩欧美在线一区| 天堂伊人久久| 国语国产操逼伊人AV网| 99热国产精品| 你操综合| 91人妻精华帖| 久久风骚城市| 午夜久久一区二区无码中出| 一区二区三区黄色片a| 极品后入免费视频| 亚洲AV成人无码久久精品播放| 另类欧美综合| 精品无吗久久| 在线观看精品国产免费| 中文字幕丰满子伦无码专区在线视频最新| 久久超碰亚洲人| 久久综合国产精品国产| 91精品人妻五十路| 99999久久久久9国产精品| av网站免费线看| 日韩人妻操B| 久久狠狠色噜噜狠狠狠狠97| 九九久久一区二区三区| 久久狠狠色噜噜狠狠狠狠97| 国桃视频产巨乳精品一区二区在线| 国产成人在线观看综合| 91春色| 搡老女人老91妇女熟女| 日日干日日操五月天伦理视频| 综合久久久久久久综合网| 男人的天堂com| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 操逼逼无码| 97欧美资源| 9999伦理视频| 五月丁香影视| 狠狠中文字幕| 强奸乱伦AV网址| 亚洲欧洲综合| 美女网站黄页| 日韩三级在线观看mp4| 国产毛片久久久久久久| 欧美大片91| 东方亚洲在线操逼天堂| 精品亚洲俞拍视频一区| 丁香五月综合| 国产精品国产精品国产| 91老司机在线| wuyechaopeng| 桃色人妻在线视频| 嗯嗯嗯啊啊啊操的我好爽| 91GD.COM| 粉嫩av久久一区二区三区| 老司机香蕉久久久久| 欧美中字不卡| Aa东京男人的天堂| 精品网站99999| 亚洲av在线免费观看| 久久亚洲AV无码专区国产精品| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 无码人妻毛片丰满熟妇精品区 | 日本二三四区| 18禁久久| 国产精品久久久久久久久久二区三区| 国产亚洲日本| 久日综合网| 久久天天躁日日躁狠狠躁 | 啊啊啊97视频| www.久久久久| 五月丁香在线| 高凊专区人人操| 久综合网| 五月婷丁香| 搡老熟女老女人老熟妇免费视频| 精品无码久久久久久久久果冻糖心| 欧美色97| 综合色好色| 欧亚三区动漫| 亚洲天堂少妇| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 色99久草| 天天噜| 日韩一卡二卡三卡| 欧综合网| 日本一二区不卡| 综合色好色| 舔人妻中文免费视频| 女上位精品在线| 婷婷九月国产| 一本色道久久综合亚洲二区三区| 超碰 欧美| 狠狠躁久久躁| 欧美性Fer办公室秘书| 俺去久久| 欧美日韩国产人人| 99re这里只有精品2| 久久久久久十| 日本操逼视频在线| 久久综合国产精品国产| 一区二区三区视频在线观看免费| 免费日韩黄片| 综合一区中亚洲国产成人综合精品| 伊人五月天| 亚洲 日本 一 二 三| 欧美另类色| 国产成人主播| 亚州欧美总和| 久草老司机| 欧美天天综合在线| 四虎在线视频| 久久精品 六十路 熟女 欧美| 亚洲精品无码成人久久久99 | 久久精品夜色国产亚洲AV| 91高潮喷水美女| 新怡红院| 免费?级毛片无码?∨蜜芽试看| 日韩一级特黄av毛片| 在线国产探花| 欧美视频第二页| 午夜操操操| 91夜色| 欧美劲爆视频一区二区| 91在线综合网| 青青草AV色| 国产精品人妻无码久久久老鸭窝| 色哟哟511老熟女| 国产 日韩 欧美 人妻 熟女 中文 69人妻精品一区二区绯色 | 韩国黄片aaaa| 日本熟妇熟色97一本在线观看| 亚洲资源网| 日日不卡av| 亚洲av青草久久一区二区| 日本三级一区二区 在线| 日本色婷婷| 老熟女区| 我想要 啊 啊 啊| 亚洲中文字幕久久人妻| 熟女日韩| 久久东京热久久| 黄色网址在线免费观看| 亚洲 日韩 欧美 国产综合体| 伊人久久大香蕉线AV五月天| 久久久久夜夜夜夜| 午夜男人一级A片7777| 久久人妻97久久久久久久| 91痴汉| 天天操天天射天天日| 日韩三级一区 | 伊人国产成人av网站| 亚洲色欲天天人妻无码系列专区| 2017大香蕉国产精品久久| 欧美色视| 五月丁香啪| 色噜噜人妻av中文字幕| 免费a在线播放v| 欧美日韩理论一区| 亚洲无码com| 日日夜夜干| 热久久99999| 欧美色女人| 九九碰九九爱97超碰| 国产人妻精品一区二区三区秋霞| 韩国手机不卡无码三级视频| 亚洲情色图片区| 国产成人超碰在线| 嗯嗯啊啊啊好舒服| 欧美日韩*字幕一区| 精品久久人妻成人网| 亚洲日韩少妇一道本视频| 亚洲黄片免费在线播放| 亚洲一二三四区机械| 久久久新亚洲AV| 久久久com| 最新日本中文字幕| 国产人伦精品一区二区三区| 亚洲天堂在线怕怕视频| 成人精品视频一区二区| 亚洲高清无毛一区二区| 欧美影音在线| 国产日韩精品人妻久久久久色欲网站| wwe 天天干.com| 久久精品国产亚洲5555| 国产熟妇一区二区| 人人贴人人摸| 狠狠躁AV| 丁香六月激情| 亚洲情色 自拍| 精品成人动漫一区二区| 欧美丝袜美女电影一二三四区| 夜间福利片1000无码| 青青草原成人| 久久久久久久一级黄色打同平台| 伊人国产成人av网站| 精品国产一区二区三区久久久蜜臀 | 91暧暧| 一区操逼日比视频| 国产AV天美传媒一区二区三区 | www.色吧5.com| 高潮综合网| 免费看久久久性性| 东京热一区二区中文字幕| 少妇一区二区三区在线观看| 无码精品久久久天天影视| 欧美亚州色的图| 亚洲国产激情国产av| 97色97干| 道久久五香丁月婷婷激情综合| 日本理论在线| 超碰免费人妻人人| 97欧美色| 中文字幕少妇色 | 热热色色综合| 一色网男人的天堂| 色嗨嗨在线| 东京热综合久久一区二区| 日韩av色图综合| 国产麻豆一级精品视频| 国产精品高清2021在线| 女人香蕉久久毛毛片精品| 尻女朋友一夜| 福利在线观看一区二区| 在线免费观看高清无码视频| 情色图区| 五月天久久婷婷亚洲| 97国产成人精品免费视频| 97欧美| 久久中文字幕女同性恋一区| 久久精品亚洲东京热色播| 国产一级作爱毛片| 亚州综合| 91制服丝袜| 日韩精品人妻中文字有码在线| 国产一级片| 18禁免费视频| 91视频伊人| 日本大香蕉综合网红本杳社区| 色婷婷五月天| 99无码视频| 亚洲成a人片在线观看中文!!!| 国产乱子伦久久精品综合一区二区三| 国产AV天美传媒一区二区三区 | 试看日韩黄片| 91天堂| 精品欧美日韩在线观看| 国产美女精品| 青青草黑寡妇男人天堂| 久久色激情一区二区三区| 国产自产一区视频在线| 午夜国产综合视频在线观看| 伦理第一页| 丁香7月婷婷| 精品小视频在线| 久久久五月天| 99热精品在线| 大香蕉啪啪啪| 91啪啪视频| 立川理惠无码一区二区| 日韩成人私密一级精品av| 夜夜爽夜夜操| 九热中文字幕| 91综合熟女| 熟女91网站| 蜜桃精品一区二区三区久在线| 传媒免费一区二区三区| 欧美韩国你懂得在线 | 色男人色天堂东京热| 亚洲人妻熟妇三十三区| 九九拍拍精品视频在线播放| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 日本黄色精品专区网站| 被窝影院午夜看片无码| 18禁在线视频| a一区二区三区乱码在线| 丰满美女一级毛片在线播放| 美女网站91| 国产精品视频在线观看| 亚洲?V高清一区二区三区尤物| 91久久久久久久久18| 俄罗斯及免费在线看| 国产成人亚洲精品无| 欧美一级A一级a爱片久久| 超碰在线人人射| 青娱乐淫乱1314| 成人一级性爱| 人人妻人人狠人人| 久久激情综合| 婷婷三区| 精品无码久久久久| 欧美精品不卡一二三四在线91| 97超碰人操| 蜜臀网址在线| 国产黄色剧情影片麻豆免费播放| 国产操逼视频在线观看| 黑人精品成人一区二区三区| 狂操嫩妻视频一区二区三区| 日本中文字幕高跟| 人伦四五区| 99热在线观看| 国精精品无码一二三区水多多| 一块操欧美性爱| 欧美精品成人亚洲| 亚洲色9| 久久精品无码熟妇一区二区三区视频导航 | 五月色网| 在线观看一卡二卡| 日韩精品三级片长长久久| 亚洲精品97p| 在线视频亚洲无码| 色爱三区| 欧美色图中文字幕| 综合熟妇一区二区三区| 岛国片在线视频网站| 国产精品久久久久久 百度| 玖玖爱免费观看视频| 人人乐大香蕉| 999熟女精品| 黄骗免费网站| 日韩精品在线观看网站| 男人的天堂在线2| 亚洲成人妻日韩在线| 欧美精品黑人猛交高潮| 视频国产精品未满十八禁止在线观看| 蜜臀久久一区二区| 日韩欧美蜜桃精品久久中文字幕久久 | 干超碰碰熟女| 欧美做爰无码A片视频| 午夜啊啊啊| 欧差乱伦二三| 狠狠色色| 久久大线蕉一区| 精品人妻一区二区三区鲁大师| 色哟哟511老熟女| 久久a久久| 农村少妇久久久久久久| 人人干人人操人人..com| 天天综合影院91| 久欲AV| 日韩中文字幕精品一区在线| 欧美综合骚| 超碰久久精品| 手机在线播放国产福利| 国人欧美精品一区二区| 久操黄色视频| 女性91网站| 九九热精品| 四虎免费视频| 丁香五月综合| 嫩草黄页| 无码精品蜜桃一区二区三区ww| 午夜欧美神马久久久久| 三级日本一区二区三区| 欧美亚综合色图| 火箭成精品视频884必出精品| 九九色影院| 超碰人人干天天射| 国产又色又爽又舒服的三级视频| 四虎884a| 免费AV中文网在线观看| 婷婷激情综合网| 亚洲精品熟妇1区2区3区。| 高清国产成人无码| 日韩天天本| 国产精品福利资源在线尤物| 一本正道久久熟女| 日韩极品无码B| 日逼五月天| 久久透逼视频| 中文字幕视频免费| 亚洲精品亚洲人成在线麻豆| 精品美女少妇一区二区三区| 飘花国产午夜精品不卡| 欧美色图 人妻| 亚洲91在线播放影院| 91丝袜美腿片| 操屄不卡视频| 蜜臀Av一区二区三区| 乱色视频中文字幕| 97干在线视频| 九九九午夜| …亚洲黄色厕厕女女在线播…| 青青草日本无码| av激情亚洲五月天| 日本啊啊啊啊啊视频| 樱花蜜乳av| 另类图片五月天| av资源在线观看少妇| 久偷拍欧美日韩三区| 尤物一级在线免费观看| 变态另类专区| 日韩人体偷拍| 天天色天天干天天射| 亚洲AV在线资源| 99在线精品观看99| 国产午夜精品理论片一二三区区 | 97色欧洲| 久久丝袜| 国产男女无套视频免费观看| 日夜伊人网| 九九九九一区| 亚洲AV无码天美传媒一区| 久久精品72| AV女资源| 99re视频在线观看这里只有精品| 精品国产乱码久久久久久免费| 啊啊啊啊啊在线观看网址| 久久久国产护士丝袜美腿一| 热无码中文亚洲H一道本一区二区| 欧美 亚洲 综合 制服 另类| 日韩另类色图| 97人人操人人摸人人爱| 国产久久久久久| 亚洲的天堂网| 色吧综合网| 国产极品精品美女视频| 97精品在线视频| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 国产精品一区av在线| 色吊丝 日日骚 清纯唯美| 操操操操操操| 亚洲精品亚洲人成在线麻豆| 成在线人在线观看视频| 国产路线专区| 精久久久| 日本亚洲vr欧美不卡高清专区| 在线无码网站| AV中亚| 青青草大香蕉视频| 亚洲熟久久| 国产农村妇女精品一| 亚洲图片欧洲图片aⅴ| 国产91亚洲精品一区二区三区| 舔舔啊| 成人热久久精品| 啊啊啊 在线| 日本人体九九九九九九| 日本综合久久| 91看黄片| 久操97| 久久超碰com| 久操视频在线| 国产免费一区| 少妇色综合| 国产精品欧美激在线| 午夜精品久久久久久久男人的天堂 | 国产女同性恋视频| 午夜激情床戏激情| 99视频只有精品| 亚洲精品三| 国产精品亚洲一区二区三区四区| 黄片com.| 亚洲精品啪视频| 超碰在线观看av不卡| 美国黄片aaa| 一区二区三区色综合| 精品一区99999| 中文字幕精品一区欧美| 亚洲国产成人精品女人久久久| 欧美色图自拍| 97chaopenrihan| 国产午夜视频| 久久成年精品| 一区二区三区 丝袜高跟| 97国伦国色| 91亚洲欧美色图| 中文字幕免费观看| 国产精品 午夜福利| 青青草吊丝| 丁香五月天社区| 久热这里| 伊人久久亚洲中文字幕| 美女大乳久久久久久久女人18| 久久久久久中文版| 日韩欧美丝袜诱惑| 天天综合网1| 成人天天看站长推荐| 91色女| 熟妇在线视频一区二区| 91国产丝袜白虎| 97视频在线视频| 大香蕉99re| 日韩在线观看字幕精品| 色狠狠 - 百度| 手机在线中文字幕国产| 俺去俺来也在线www| 女人被添高潮免费视频| 超碰九色| 午夜精品一区二区三区三上悠亚| 99超碰色| 97 亚洲 日韩 欧美 在线| 日韩精品人妻中文字幕久久久| 啊啊啊快操我视频| 久久精品无码不卡| 大香蕉久久| 又粗又长又大国产不卡| 超碰色图| 国产精品久久天天干| 亚洲色图日韩精品| 日韩精品区二区三区不卡| 亚洲男人天堂2012| 另类专区加勒比| 久操视频这里只有精品| 亚洲码在线中文在线观看| 十八禁的黄污污免费网站| 五月丁香激情综合网| 狠狠狠狠狠干| 中文字幕精品一区二区精品| 欧美精品91| 噜噜瑟| 日本色色色网站免费看不卡| 美女写真| 91啪9色| 精品美女人人干| 97免费在线视频| jizzjizz欧美| 激情接吻视频久久久久久| 五月丁香久久| 日韩欧美偷拍美女视频| 九九草| 国产精品蜜乳AV| 一区二区激情国产熟女| 亚洲精品蜜桃久久久久久久| 国产精品乱码久久久久| 婷婷丁香五月天亚洲天堂网| 欧美专区第一页| 久噜噜| 欧美不卡五十路| 5月婷婷6月六月丁香| 91夜夜蜜桃臀1区2区3区| 久超碰这里只有精品| 美国精品国产精品| 久久久艹艹艹| 久久精品噜噜噜成人看免欧美大片| 桃花色综合影院| 国产福利影视| 欧美亚洲中文| 激情五月天丁香社区| 久久久久久久久久久久黄色| 九九九九九精品视频| 久久久久成人亚洲国产| 久草久热| 久久精品黄色| 久久五月视频| 影音资源男人日韩| 很黄很色的视频在线观看| 国产极品999| 96精品久久| 色综合色综合网| 欧美中文狠| 亚洲无码精品AV久久久| 国产成人自拍视频在线| 亚洲色图第一页| 国产欧美日韩一区二区三区| 五月丁香六月婷| 天天综合网~91| 亚洲 欧美日韩 另类| 2019午夜福利视频| 成人aⅴ一区二区三区| 97色爱| 色视频蜜乳| 欧美日本久久精品一区| 精品人妻一二三| 黄色污污污污污污网站| 亚洲AV不卡在线观看| www.91理论| 亚洲欧美日韩电影网站一区| 日韩精品一区二区高清| 九久久九精品视频| 国产亚洲色停停久久99精品91| 啊啊啊啊啊在线观看网址| 欧日韩一二三f区| 亚洲欧洲综合视频在线| 97亚洲中文| 天天综合网~69| 日韩在线观看三级电影| 91九久| 欧美精品23| 美女AV一区二区| 国产夜夜操| 偷拍欧美激情| 亚洲AV小说| 免费少妇一区二区| 日本性爱不卡视频| 欧美男人亚洲天堂| 欧美成人性爱视频免费观看| 久热91| 五月天激情网图片| 午夜男女爽爽大片免费观看| 日韩熟女精一区二区三区不卡| 色吊丝 日日骚 清纯唯美| 中文字幕日韩情色| 日本黄色裸日本黄色裸体| 一区二区视频你懂的| 午夜120视频在线观看| 免费网色网站| 美国日韩黄色片| 亚洲高清欧美总合| 婷婷国产精品九区| 精品无码不卡视频| 久久久999国产精品| 婷婷精品| 中文字幕一区二区三区四五区| 久久久五月天| 国产成人拍国产亚洲精品| 亚洲黄色网址| 精品久久久久久亚洲| 亚洲加勒比久久日本道| 亚洲性图91| 婷婷成人五月天| 亚洲āv网址在线观看| 日本黄色天堂| 狠狠躁AV| 精品一区二区成人| 91丝袜| 熟妇国产免费一区| 一区二区激情国产熟女 | 久久成人午夜精品影院| 天天综合网~91| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲码专区| 秋霞 色色| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 亚洲天天影视色综合| 91chinese在线| 秋霞操逼片| 欧美日韩人妻精品系列一区二区三区| 超碰人人超在线观看| AV大香蕉| 国产亚洲精品av一区| 女性91网站| 亚洲精品黑丝| 欧美熟妇操操视频| 亚洲.欧美.丝袜.中文.综合| 国产人妖的免费的视频| 国产精品视频在线观看| 久热大香蕉网站| 真实高潮91| 蜜桃臀av在线观看| 超碰国产精品久| 日本阿v天堂在线观看| 人妻夜爽夜夜爽| 裸模AV女优| 麻豆精品久久久久久久| 自慰白浆在线观看| 97超碰磁| 亚洲日韩国产精品| 欧美色蜜桃97| 丰满少妇精品一区二区| 大香蕉之青青草原| 欧美亚洲综合色| 99re国产精品视频| 四虎午夜影院| 久久精品国产亚洲5555| 欧美不在线| 97欧美综合网| 激情五月天校园春色网| 久久综合女优| 五月天伊人| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 青草一区二区| 亚洲天堂情色| 色女网日韩| 日韩亚洲美州欧洲综三区一品在线| 大香蕉久| 婷婷五月色| 五月婷婷综合在线| 性爱乱伦网址| 日本污ww视频网站| 97干在线视频| 亚洲精品啪视频| 国产又色又爽又舒服的三级视频| 天天天天天天天天天天干美女| 尤物av网站免费在线播放| 天天干18禁| 欧美九九九九九| 久久岛国| 91无遮挡| 内射夫妻三片| 久9精品| 中英熟女操女| 九九精品无码专区免费| 精品国产一区二区三区香蕉欧美| 韩国一级婬片A片无码天美| 国产无码精品无码| 日韩操逼性鲍| 日韩精品 视频一区二区| 国产精品久久久鸭无码的功能| 五月婷婷久久综合| 毛片电影一区二区三区| 丁香五月激情啪啪| 成人综合色网| 东京热一区二区三区四区五区六区| 天天精品| 99无码| 亚洲男人天堂网久久| 久久內射| 91网站18+| 91青青在线视频| 玖玖爱视频网站| 精品国模无码| 精品一级毛片在线观看| 欧亚无码视频| 一类无码操逼视频| 日本成人A片免费看| 无遮挡h肉动漫在线观看| 屌逼麻豆| 国产传媒美日韩av| 久操| 亚洲中文字幕在现观看| 中文字幕丰满人妻日本| 天天操夜夜嗨| 2018色综合天天操| 高树玛利亚无码流出| 黄呦呦在线| 亚洲AV色图一区| 97中文字幕九区| 亚洲AV无码乱码| 午夜精品视频777| 日产中文字幕2020| 丰满少妇精品一区二区| 国产老太乱伦一区| 久久久国产亚洲精品系列| 加勒比大香蕉视频在线| 内射日韩大臀美女| 91高跟美女在线播放| 伊人久久大香蕉线AV五月天| 精品久久久一本一道| 人人操人人干xxx| 我爱大香蕉| 日韩噜噜69| 天堂男人网| 午夜欧美女人操逼| 国产精品久久久久绯色| 99re这里只有精品中心播放| 国产吹潮女在线观看| 亚洲色图欧美一区二区不卡| 午夜男人av| 91视频观看网站| 色欲久久99精品久久| 性暴力欧美猛交在线直播| 天天色播| 呻吟 欧美 日本 中出| 国产精品内射婷婷一级二| 久久日本熟女精品一区| 亚洲精品97p| 欧美日本中字另类在线| 天天爽天天| 精品二区三四区五电影 | 久色网| 亚洲美欧999| 欧美色97| 日韩成人精品视频自拍| 看黑丝美女操逼青青网站| 五月天亚洲色图| 搡老女人老妇女AAA一VU麻豆| 色穴精品| 日本一区二区三区四区五区六区七区八区九区| 精品视频免费在线一区| 四虎AV影视国产精品亚洲精品| 熟女精品一区二区在线观看| 狠狠操,使劲操| 天天综合91在线| 久久在肏| 五月天激情小说| 正宗无毛一线天嫩逼| 激情小说成人日本无码一| 性爱AV天堂| 免费看片黄| 精品女人999| 蜜臀久久久99久久久久 | 日韩精品熟妇| 亚洲一区二区三区在线激情| 丝袜熟女2P| 精品少妇人妻| 亚洲啪啪视频一区二区| 美女干逼2| 熟女乱伦A| 日本精品性生活久久久| 国产精品蜜臀久久久久无码AV| 免費人妻夜夜爽天天爽爽一区| 亚洲国产精品成人久久蜜臀| 少妇二级| 国产成人久久精品蜜臀| 午夜情侣自拍网站| 99热在线观看| 久久久国产三级黄色片| 四虎av在线| 国产成人网址| 欧美97爱| 亚 欧 美 综合| 91丝袜在线观看| 极品后入免费视频| 天天操天天射天天日| 伊人久大| 亚洲天堂区| 日韩综合成人免费视频| 激情终合网| 色色色色网站| 97超碰超| 91九九| 久艾草在线精品视频在线观看| 啊啊啊啊二区好大| 国产 三级自拍| 国产熟女无套内射| 少妇三P| 国产av美女被艹的乱叫| 亚洲怡春院| 大香蕉AV丝袜| 国产精品国产自产高清AV| 日韩BBN| 人人喜人人妻| 国产中文字幕曰本毛片| 96超碰网| 成人黄页| 激情小说五月天| 欧美色图综合网| 欧美精品久久| 色玖玖| 欧美αv.com| 欧美伊人电影| 欧美国产有色电影| av九九| 免费一级黄色录像影片| 97色欧洲| 亚洲情色电影网| 亚洲黄色网址视频| 欧美激情专区| 九久久精品| 91九久| www.久久久久| 国产亚洲精品精AV.| 欧色网址| 日本东京热大香蕉a片| 欧美亚洲综合色| 视频在线观看免费一区二区三区 | 久久XX| 国产欧美精选自拍一区| 久久久久九九九九| 国产一区二区精品在线视频| 国产白嫩精品久久| 亚洲夜夜欢无码一区二区| 密乳AV免费观看| www国产精品| 极品出轨视频网站| 成人五月天色网| 五十路三级片| 天天懆天天日| 久夜视频| www欧美91| 欧洲亚洲天堂精品| 亚洲欧美setu| 综合色图区| 九九碰九九爱97超碰| 波多野结衣先锋影音| 亚洲 日本 国产 综合| 伊人久久AV诱惑悠悠| 欧美激情 亚洲色图| 台湾佬大香蕉| 亚洲经典啪啪| 午夜啪啪片| 九九九九九九综合| 中文字幕av一区二区三区人妻少妇| 一区麻豆 高清中文字幕| 成人夜夜爽| 极品色www影院| 无色无码| 俄罗斯一区二区视频在线观看| 欧美亚洲自拍另类人妻| 青青五月天| 密臀在线视频| 一区二区亚州激情久婷婷欧美| 日韩少妇无吗| 一区二区三区四区久久视1| 操操操操操操| 久久久精久久久| 一区二区三区日韩欧美 | 色情五月丁香| 一区二区三区四区免费视频| 亚洲第一黄色av网站 | 熟女网站最新| 动漫av中文| 嫩草伊人久久精品| 国产成人主播| 成人综合视频久久| 黄色十八禁网站| 精品国产一区二区三区久久久蜜臀| 国产精品午夜成人福利| 久视频在线观看| 亚洲日韩一区电影| 欧美中文字幕男人天堂久久精品 | 人妻 中文 日韩| 免费强奸av| 欧美啪啪女女| 国产原创自拍| 91xingse| 亚州 综合 色图| 91nbbbbbb| 国产美女91| 欧美 亚洲精品首页| 久久永久无码人妻视频| 亚洲欧美另类激情小说| 眼镜人妻101.com| 99re公开精品免费视频| 婷婷色播婷婷| www.夜夜| 九九成人精品| 色哟哟1区2区| 少妇大屁屁| 91综合中文字幕| 国产精品毛片?v一区二区三区 | 国产97亚洲| 曰韩人妻中文字幕在线 | 天堂网亚洲区手机版| 影音资源男人日韩| 91少妇人妻| 精品成人动漫一区二区| 久久肏大逼| 亚州操操穴网| 天操天操夜操夜月操月年年操| 秋霞福利网| 亚洲影视第一页| AV中亚|