色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
久久激情四射婷婷丁香五月天| 无码视频黄色网战| 国产精品久久久久久久久久久久久久久久| 亚洲AV成人精品网站在AV| 操操啪| 日韩色女精品| 五月香婷婷| 国产美女91| 白嫩国模丰满一二三区| 东北操逼| 婷婷伊人| 久九九九| 91 国产丝袜在线放观看| 美女网站91| 99性爱视频| 清纯唯美综合亚洲| 久久草草欧美精品| 欧美大波激情xxxx| 97操97干| 男人亚洲91首页在线| 日韩性色| 亚洲91亚洲| 中文字幕奈奈美被公侵犯| 久久男人网| av网站免费线看| 超碰在线974| 被男人吃奶很爽的毛片| 加勒比综合在线| 五月婷婷六月激情| 日韩在线国产字幕| 四虎免费看黄| 秋霞蝌科网日本一区| 啊啊啊好疼| 精品-91人妻子系列| 日韩欧视频| 国产伦精品一区二区三区视频女| 精品黄色电影| 日本最新1区2区3区| 亚洲操逼视频网站| 9丨久久九九九| 日本 成 人 小说 电影 一区二区| 日日摸天天爽夜夜欢| 亚州成人A√| av在线免费一区二区| 欧美热图99| 91精品国产综合久久久蜜臀| 人妻一二三区| 蜜汁欧美| 国产精品久久久777| 国产日韩在线播放| 人妻少妇久久中文字幕一区二区 麻豆| 一道本东京热加勒比一区二区三区| 成人无码电影在线观看网| 国产AB视频| 91中文在线| 久久久久国产精品久久久| 欧美日韩少妇色情| 99热在线播放| 亚洲精品尤物yw在线影院| 欧成人在线| 天天操天天射青青草| 家庭乱伦国产| 夜夜性| 久久99手机免费视频| 中文字幕日韩人妻视频一区二区三区| 麻豆AV一区二区天美传媒| 欧美色图中文字幕| 精品久久在线区一区| 日本一区二区不卡精品| 97视频网站| 伊人亚洲综合| 嗯嗯啊啊操死我| 欧亚性爱视频免费看| 新亚洲无码| 97欧美久久久久久久| 东京热男人的天堂网| 亚洲精品第一| 无码高清操逼网址| 夜色91| 黑人综合色| 青青草国产亚洲精品久久| 亚洲色诱惑| 亚洲人妻中文在线视频| 国语精品av| 激情终合网| 丁香六月婷婷| 大香蕉久久| 日本天天操| 午夜操一操| 欧美九一精品久久久熟妇| 欲色影视综合吧| 99热最新网址| www.久久久久| 曰韩成人免费视频| 亚洲乱伦图片视频| 国产隔壁老王影院在线| 思思久热在线精品66| 一二三四区电影| 久久久久ab| 人妻啊啊人妻啊| 人妻-91porn| 黄色AAAAAAAAAAA大片| 亚洲一区中文精品| 欧美的性爱网站免费| 免费精品无码一级毛片牛牛影视 | 日韩乱伦影音先锋| 日韩无码黄色片| 性videos欧美熟妇hdx| 偷拍亚洲| 老司机天天操| 自拍偷拍草一草| 1769成人国产精品视频| 91在线视频国产网站| 蜜屁av| 99热精品在线观看| 狠狠色五月亚洲91| A级片一区| 色图综合网| 欧美色图第一页| 日韩天天综合| 九九九九九精品视频| 99999国产| 国产suv精品一区二六| 久久久九精品| 五月天精品| 风韵犹存大大大大香蕉| 久久女人| 97精品视频| 精品无码一区二区三区色欲| 99久久精品无码一区二区毛片免费| 久久在线观看免费视频| 国产在线激情视频| 超碰在线人妻| 人人天天欧洲| 天美一二三在线观看Av| 久久视频,这里只有精品| 精人妻无码一区二区三区伊人直播| AV色五月天| 淫穴高潮色图| 亚洲欧美色图片| 深夜福利黄片| 北约熟女超碰| 在免费jIzzjIzz在线视频| 五月天色色网站| 久久一二三四五六七八九区区区 | 欧美色图片91| 人妻素股| 久久精品店| 无码一区免费在线不卡| 艹精品| 无码乱人伦中文视频| 亚洲激情网| 视频在线观看一二三区| 日韩丝袜高跟制服在线观看| 午夜福利合集| 国产一区二区三区免费视频在性观看| 免费看欧美美女黄色大片 | 亚洲天堂性爱| 操死我了啊啊啊| 91无遮挡| 国产小黄片在线免费观看 | 国产农村妇女一区二区| 天天看高清麻豆| 91插B网站| 欧美日韩资源| 国产欧美亚洲精品a第2页| 五月天激情网站| 久久久18禁| 一卡二卡在线播放| 欧美亚洲第一页| 色婷视频| 美女诱惑在线一区| 天天操天天舔| 操逼操网| 91亚洲不卡一区| 亚洲交换| 涩涩这里只有精品视频| 岛国小电影| 97视频在线观看网站| 中日韓欧美高清| 性色av蜜臀av色欲aV| 花野真衣| 亚洲高清欧美总合| 亚洲欧美日韩夜夜| 高潮综合网| 天天干18禁| 亚洲 日本 国产 综合| 久久露脸国产老熟女| 中文字幕亚洲欧美在线不卡| 久久粉色| 精品国产片亚洲一区| 区一二区日韩亚洲乱码av电影| 亚洲在线观看| 亚洲第一狼人丝袜美女另类| 99亚亚热| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 一区二区三区不卡视频| 欧亚在线视频| 国产91 丝袜在线播放 | 人妻黑丝袜电影| 懂色aV一区二区天美传媒| 天天干天天操天天干天天操| 亚洲中文电影| 精品日韩人妻视频| 91女人的网站| 一二三区精品视频| 久久露脸国产老熟女| 人妻黑丝袜电影| 亚洲成人黄色在线观看| 欧美三级一级| 一区二区三区免费视频入口| 亚洲国产精品乱码在线观看| 91丝袜视频在线观看| 午夜精品探花| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 内射小黄片| 看看小穴| 超碰在线一区二区| 久久久久无码| 欧美色图片| 日韩成人色图| 91情色| 97超碰美国| 久久久久久性爱免费视频| 丁香五月天堂网| 欧美的精品的视频| 日韩 人妻 精品| 91在线视频国产网站| 碰碰在线视频| 久久专区| 粉嫩少妇自慰在线| 操逼国产免费| 亚洲做性| 开心五月婷婷激情| 日日夜夜精品视频| 欧亚乱色熟一区二区三四区| 一区二区三区美女超清| 蜜桃在线观看一区二区三区| 无码高清少妇久久| 九九九九97| 国产懂色精品国产av| 少妇熟女视频一二三区| av国产无码| 欧美色97| 鲁鲁色综合网| 操屄日韩| 大香蕉之青青草原| 色噜噜综合网| 欧美不卡五十路| 青青草伊人久久| 日韩无码三级影院| 漂亮人妻被强中文字幕hd| 国产欧美一区激情交| 国产三级片在线观看| 蜜伊人色综合97| 中文字幕乱码人妻二区三区| 黄页网站成人免费| 青青草视频爽一爽| 国产操偷| 综合久久2017| 91真人天天在线| av资源在线观看少妇| 91丝袜视频在线观看| 小草精彩毛片| 五月婷网站| 久久香蕉国产线看观看亚洲女人| www老逼91| 亚洲色图尤物视频| 欧美色91| 性生活无遮挡纯毛片在线看| 六月丁香久久| 欧美性生活免费网| 天天日天天干少妇日| 日韩精品熟妇| 色婷久久| 正在播放国产精品一区| 成人性交午夜免费片| 天天综和| 920日本午夜免费| 综合av社区| 国产一区二区在线看| 久久久久久大| 99热最新网址| 中文字幕一区二区三区高清| 国产精品免费久久久久久久久久| 人妻人久久精品中文字幕| 91婷婷伊人狠人| 国产69精品久久久久99尤物| 日韩免费中文字幕视频| 91成人亚洲色图| av情色影音| 中文字幕在线日亚洲9| 一本色道综合久久欧美| 超碰诱惑| 高精欧美色| 少妇三P| 99re6国产精品99re在线| 色噜噜精品一区二区三| 69少妇一区二区| 偷拍综合网| 日韩成人人妻网站| 色老牛| 91久热这里只有精品| 影音先锋国产精品| 日韩 欧美 另类 人妻| 亚洲婷婷丁香在线| 久久一区二区蜜桃| 天天综合网~91| 亚洲熟女乱色一区二区三区久久久| 中文字幕视频在线观看一区二区| 久久,精品一二三| 操逼逼福利视频| 无码国产Av| 亚洲黄片免费在线播放| 欧美极品| 久久久96| 天天综合欧美| 国产剧情在线| 熟妇色99| 国产老女人久久毛| 久久人妻熟女一区二区 | 天躁夜夜躁2021| 日韩综合97P| 天天看高清麻豆| 1区2区3区中文字幕日韩| 天天欧美色| 天天干天天干天天干| 午夜男人一级A片7777| 亚洲国产综合视频| 人人爱人人操人人性| 嗯阿好爽好紧| 成人性爱AV在线免费观看| 啊啊啊好湿久久| 亚洲精品99999| 大香蕉色十月| 午夜a成v人电影| 久久爽爽精品| 国产精品一区二区三区,亚洲综合| 亚洲 综合 第一页| 亚洲成人久久美女| 欧美综合91| 久久伊人网视频一区二区三区 | 一类无码操逼视频| 欧美性Fer办公室秘书| 久草大| 黑人在线91| 丰满人妻一区二区三区在线| 亚洲精品影视老司机| 天天干夜夜| 婷婷中文字幕| 欧美福利视频啊啊啊啊| 男人的天堂无码| 九月婷婷| 黄色电影观看久久9| 人妻 欧美亚洲| 天天天天干| 91在线精品一区二区三区| 中文字幕超碰CAO| 午夜高清成人在线视频| 国产免费黄色一级大片| 玖色av| 久热伊人99re| 国产精品久久久久久无码红治院| 东京热av影院| 嗯嗯,好大,好爽,好骚| 1769精品一区二区三区| 无码高清操逼| 蜜臀一二三区| 伊人色综合超碰| 黑人无码一区二区| 超碰97色| 加勒比99999| 欧美精品91| 91干熟女| www.yeyecao| 极品少妇久久久久| 久久久穴999| 色色色色综合网| 你懂的在线观看区国产| 大逼色网站| 今日头条成人一区二区三区四虎精品| 啊啊啊好爽快点啊啊啊嗯嗯| 国产av又色又爽又黄| 精品一区二区三区麻豆| 日韩三级性| 日本精品人妻少妇一区二区| 大香蕉啪啪网| 最新日产中文在线麻豆| 91精品亚洲内射孕妇| 欧美男人的天堂| 色综和网| 91 丝袜在线| 日日夜夜干| 永久免费发布性爱网| 欧美组图日韩亚洲中文字幕| 精品一区二区三区蜜桃| 亚洲性综合| 91美腿丝袜在线观看| 丁香色五月 97干| 欧美性生活免费网| 欧美Ⅴ性爱| 久久久久久久9999| 色色青青久久| 亚洲视频二区| 国产男女无套97| 中文字幕在线观看丝袜| 午夜黄色免费在线观看| 亚洲国产精品9999在线观看 | 免费精品人妻一区二区三| 色吧91| 欧美操逼录像国产黄色国产| 国产精品乱码久久久久久| 欧洲免费一区二| 六月丁香网| 亚洲欧美精品福利在线| 日韩视频啪啪| 亚洲美女自拍偷拍视频| 男人a天堂手机在线版| 日韩偷拍一区二区三区| 亚洲中文字幕熟女| 91黑丝在线| 天天干夜夜鈤| 加勒比aⅴ| 亚洲女优有码无码高清| 天天综合站| 丝袜高跟澳门91视频| 天操老女人| 北京美女一区二区| 97在线观视频免费观看| 夜精品久无码| 亚洲 综合 第一页| 97欧美色综合| 97超碰中文字幕| 五月天亚洲网| 国产av色网| 啊啊啊啊啊舒服| 欧洲精品区| 丝袜美腿射精91| 人妻少妇精品久久久| 久久国语| 天天在线91| 2020中文字幕在线| 91白虎| 大香蕉日韩| 色网在线| 青青草久草AV| 青青欧洲黑| 91超碰在线播放| 欧美日本不卡| 狠狠97| 久久精品操| 九久久精| 91人人| 亚洲中文字幕熟女| 久久天天艹| 日韩精品碰碰| 国产大学生高潮在线播放| 秋霞欧美性爰视频| 一本久道久久综合狠狠爱| 91色综| 人妻精品综合中文字幕在线 | 狠狠操一区二区| 超碰97久久观看| 欧美色图97| 超碰久草| 日韩欧美加勒比| 无码久久国产| 日本激情免费大片| 日本国产成人亚洲精品无码| 人妻AV 中文字幕的| 怡红院视频在线| 无码人妻丰满熟妇奶水区毛片| 躁躁日曰躁2020| 国产精品3| 一区二区三区看视频| 97碰| 美女写真| 久久久久久亚洲精品不卡人乳 | 九月色婷婷| 四月丁香婷婷| 欧美在线中M| 啊啊啊啊啊啊啊啊在线观看| 色综合V| 色情乱伦AV| 美女超碰978| 秋霞一区二区三区四区五区六区七区| 日韩精品亚洲一二三| 搡老女人老91妇女老熟女| 香蕉热人人精品| 精品一区二区亚洲国产| 偷窥自拍亚洲色图| 尤物视频偷拍免费| av网站在线看| 国产精品成人无码av无码免费| 开心激情站| 亚洲人妖网| 亚洲图片欧美偷拍| 草莓精品视频在线免费观看| 啪啪啪大香蕉| 96免费视频在线| 亚洲资源吧| 国产精品视频91久久| 秋霞视频一区二区| 成人天天看站长推荐| 人妻丰满熟妇av无码区蜜桃| 思思热在线视频免费| 欧美视频边做饭边橾| 91n美女视频| 久久久内射良家| 亚洲综合第一页| 亚洲免费人妻在| 亚洲图片欧美制度| 亚洲女人91| 日韩中文字幕人妻视频| 九九热精品免费视频| 久久一区二区加油站| 东京热一区二区中文字幕| 伊人久操| 91久久国产综合精品| 九九九网站| 亚洲操逼无码| 欧美国产一区二区三区麻豆传媒| 亚洲精品九九九| 国产午夜无码片在线观看影视| 日韩中字av一区| 91中文字幕在线观看| 日韩精品碰碰| 嫩草 人人网精品| 日韩在线电影| 欧美久久伊人| 亚洲伊人久久精品影院| 日本熟女不卡视频| 天天影视综合网欧美精品| 国产精品大屁股999| 都市久久精品激情亚洲| 99r九九| 久久啊啊| 亚洲久热| 欲香欲色综合天天伊人| 欧美日韩国内不卡| 97爱碰| 亚洲国产精品9999在线观看| 第45页一区二区| 2019天天干| 大香交伊人网| 大鸡巴久久| 3p国产欧美99热| 天天操天天7| 色在线亚洲视频www| 亚洲人妻熟妇三十三区| av毛片aaaaa免费看| 国产亚洲人妻综合日韩 久久| 国产91丝袜 在线播放| 国产一区二区三区影片| AV男人天堂网| 国产精品免费视频人成| 欧美日韩亚洲国产中文永久天天看| 再深点灬舒服灬太大了添视频| 欧美日韩电影一区二区| 最近2018中文字幕在线高清第一页| 国产13区| 亚洲精品免费中文字幕| 99re只有精品| 欧亚性爱在线视频| 亚欧美综合网。| 18禁免费视频| 欧美激色| 久久99精品视频| 偷偷人人精品女女久久| 91丨九色丨东北熟女| 蜜臀99久| 高凊专区人人操| 国产色产精品在线观看| 天天综合有色网| 秋霞一级A片黄色视频| 色综和网| 国产精品自拍欧美在线| 欧美性第1页| 啪啪一区| 综合夜夜| 亚洲色性情三级| 久久精品中文字幕观看| 一区二区亚州激情久婷婷欧美| 中文字幕免费看大片| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 怡红院久久老司机| 久久久蜜桃一区二区三区| 97色碰| 久操操| 夜夜影视四色| 欧美97网| 东北黄色电影| 国产精品嫩草久久久久| 一二三卡欧美日韩人妻免费精品| 人妻av在线| 高清孕妇孕交| 九九拍拍精品视频在线播放| 夜色AV无码手机在线影院| 色97欧美| 嗯阿好爽好紧| 国产浮力影院第1页| 亚洲丨在线| 江都AV在线| 人妻81p| 97ai亚洲| 一区 欧美 日韩 麻豆| 中日韩久久久| 9Ⅰ超碰| 日韩国产十八禁| 日本色色色视频| 亚洲天堂男人网| 国产极品久久久| 亚洲国产无码精品首页久久久| 久久久久久九九九| 久久国语| 无码9区| 亚洲自拍天堂| 天天综合网在线91| 亚州春色| 五月天激情婷婷| 91人妻最真实刺激绿帽| 欧美日本不卡在线| 99www.bibizy香蕉资源国产一区二区三区高清 | 欧美日产国产在线成人第一区| 精品少妇一区二区三区| 国产农村妇女精品一二区| 韩日无码在线观看| 亚洲最新Av| 九九久精品| 一区二区首页| 五月丁香六月婷| 国产多人在线观看视频| 亚洲国产日韩精品久久久| 欧美色天堂网在线视频| 91校园春色长篇| 欧美日韩国产中文精品字幕自在自线| 欧美日韩1234| 91青青在线视频| 婷婷色香| 丁香六月综合激情| 91成人久久| 69视频入口| 亚洲欧美激情小说| 情侣操 逼视频99| 一区二区三区在线资源| 亚洲制服欧美另类内射| 日韩精品色呦呦| 干B网| 亚洲综人| 999 久久久| 99国产精品人妻人伦| 一级免费啪啪片| 可以在线观看的黄色网址| 好色综合| 鸥美中出| 欧美色图99| 亚洲天堂日本| 抽插爽| 日韩美女久久一区二区三区| 99色在线观看| 日韩中文字幕在线视频观看| 亚洲国产欧美另类自拍| 俺去啦俺来也久久综合| 免费国产视频| 啊啊啊啊无码| 天天操福利视频综合网站| 91nbbbbbb| 97 视频在线| 婷婷国产精品九区| 女优免费一区二区永久| 超碰AV在线| 国产激情在线观看| 黄色性爱网网| 综合久久六月久久婷婷| 亚洲精品性爱片| 亚洲精品一二牛牛| 欧美成人免费在线观看| 欧美日韩在线小说 | 精品亚洲国产成人AV制服丝袜| 乱伦图av| 蜜乳AV一区| 操逼www.| 亚洲αv一区二区三区| 欧美1区二区三区公司| 强被迫伦姧在线观看无码网站| 超碰成人人人爽人人爽| 中文久久| 精品国产Av无码久久久伦古装| 日骚逼视频| 久操免费观看| 爱逼综合| 精品高潮| 牛牛AV人人夜夜澡人人爽| 视频国产成人精品日本亚洲18| 97免费在线| 韩国一级做a久久久久| 97综合久久| 视频一区二区免费在线| 日本人妻最新在线中| 99久久无码| A片大香蕉在线| 亚洲码在线中文在线观看| 国产超碰AV在线精品| 影音先锋新男人| 天天色黄色影院天天操| 精品国产丝袜一区二区三区乱码 | 亚洲蜜臀精品视频久久| 色97欧美| 99999re| 精品国产乱码久久| 三级精品三级在线观看| 在线观看高清AV| 国产中文精品一区二区在线观看| 在线观看中文av字幕| 亚欧韩av| 丁香五月综合| 美女啊啊啊啊啊啊啊| 蜜臀人妻少妇久久在线观看| 男人天堂综合| 大白逼三四级| 欧美色视| 成人97人人超碰人人| 日韩精品人妻一| 久久久国产成人一区二区三区在线| 99久久婷婷| 天天操天天射青青草| 青青草视频导航官网| 黄色一区三区| 啊啊啊啊啊啊在线| 亚洲一区中文精品| 加勒比久久综合网高清| 亚洲精品亚洲人成人网| 爱射综合| 中文字幕第23区| 综合网少妇| 久久精品一区二区一8| 被男人添B超爽视频| 新版天堂中文资源8在线| 久久精品人体AV| 加勒比综合九九99视频在线播放| 久久 久久国内精品亚洲 | 成人精品电影| 青青草色插素人| 一卡二卡在线播放| a片久久久久久久久久久久 | av一区二区三区四区五区久草臀| 91亚洲狠狠色| 亚洲无码电影久久久| 亚洲日韩美女中文字幕乱| 婷婷成人五月天| 国产中文福利| 国产精品不卡少妇白| 日韩字幕一区| 亚洲黄色网址视频| 99精品在线| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 一区二区三区在线美女| av资源在线播放天堂| 亚洲天堂另类小说男人| 青青草原成人| 91色人妻| 久久综合五月天| 欧美72网页| 九九热三级片| 国产三级中文有码在线视频| 欧美在线官网| 伊人久大| 人人操肉肉| 夜夜嗨一区二区| 黄色片G G G| 欧差乱伦二三| www.色五月| 国产性爱欧美性爱在线 | 午夜精品久久久99| 精品久久久久综合无码| 日本操大逼| 蜜桃久久久久久| 日日躁天天躁狠狠躁| 免费啪啪av| 久热色情精品| 日韩干B| 精品乱码在线观看| 日本一区二区中文字幕久久| 91人妻Pr| 亚洲drav色图| 国产亚洲性生活视频播放| 九九热最新| 超碰久草| 人妻81p| 在线天堂999| 夜夜欢天天干| 无码视频黄色网战| 久草草一二三四区久久| 日本国产亚洲一区在线观看| 五月婷婷综合网| 另类图片五月天| 东北丰满熟女国产一区| 97香蕉人人乳| 女性喷水高潮在线观看| 日韩AV片| 欧美综合色,www| www…国产操逼| 丝袜亚洲91| 国产精品4p在线观看| 欧美图片偷拍| 夜夜爽夜夜高潮夜夜爽| 日本福利二区视频| 久久是精品| 污污汅18禁网站在线永久免费观看| 亚洲最大的黄色电影网站。| 久久免费少妇| 天天日天天插| 亚洲欧美洲综合| 欧洲熟妇xxXx欧美老妇裸体 | 国产兽交视频在线播放| 嗯啊啊啊轻点视频 | 亚洲 日本 国产 综合| 日本三级人妻a人妻一在线| 熟女人妻一区二区三区| 五月丁香色综合| 国色综合天| 激情小说五月天| 人人妻人人爽一区二区三区| 色香蕉影院| 麻豆一区二区三区在线看| 国模吧 一区二区三区| 俺去啦自拍| 国产一区二区三区影片| 密臀国产在线| 美女自卫慰黄网站免费| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 黄色免费网页无码| 国产精品色色| 九九九九久久久久| 久久秀这里有精品| 亚洲日韩人妻中文字幕一区| 乱理日韩中文| 一级@啪啪视频| 日韩精品三级片长长久久| 91在线视频免费播放| 欧美日本不卡| 91精品黄在线观看| 色妺妺AⅤ| 欧美美女啪啪视频| 国产精品黑人一区二区三区| 久久精品国产99国产精品亚洲| 26uuu性| 精品国产乱码久久久久久日本公司| 亚洲一区二区性爱电影| 新91视频.cmp| 97久久资源| 一级性爱视频免费在线| 欧美国产成人在线| 免费操逼视频下载| 精品久久97| 精品久久在线区一区| 亚洲欧洲无码bt精品合集| 男人的天堂2000| www.av在线观看| 啊啊啊啊好爽好舒服一区二区易域| www.狠狠干.coom | 伊人97色天使| 无码丰满熟妇一区二区浪潮AV| 无码人妻系列少妇| 婷婷在线视频| 搡老女人911熟妇老熟女| 精品久久大胆人体| 久久精品国产免费观看99| 亚洲欧美黄| 白丝少妇一区二区| 亚洲免费人妻在| 久操97| 中文幕97| 五月大香蕉| 黄色成人网久久久久久| 97av,com| 日本一区三级韩国| 探花一区二区三| 久操免费电影| 一区麻豆 高清中文字幕| 国产熟女免费观看久久| 人人妻人人澡人人爽久久av| 神马久久网| 操逼日韩无码| 91视频伊人| 精品一区二区2| 久久久久久中文字幕中文字幕最新| 2018天天干在线视频| 992视频一区| 自拍视频大全亚洲专媒视频/一区二区三区| 亚洲成熟国产精品美女| 999综合网| 夜夜爽爽夜夜精品视频| 五月婷婷丁香| 亚洲成人日韩小说| 91精品国产一区三一| 亚洲综合九| 亚洲91少妇| 久久夜黄色无码A级大片| 神马麻豆福利院| 91AV天堂| 日韩人妻操B| 日韩性爱再线视频| 麻豆国产精品午夜视频| 亚洲日韩狠狠撸视频| 久插综合| 开心激情婷婷| 日韩人妻播放| 91精品国产91久久福利| 99热欧美| 亚洲性少妇| 国产精品国产自产拍高清AV| 在线观看av区| 亚洲?V无码专区在线电影| 欧美日韩狠狠爱| 国产性爱欧美性爱在线| 旡码电影特区| 人妻av在线| 国产h片在线观看视频| 乱欲视频| 欧美96在线|欧| 欧亚揄拍偷拍精品视频| 黄色小说亚洲| 屌逼传媒| 性爱av在线免费观看| 亚洲欧洲综合成人av一区| 98久久| 天堂亚洲精品| 91国产丝袜美女| 色盈盈影院| 看日韩美女二区三区免费操逼视频| 人人爱人人操人人性| 欧美日韩另类在线| 国产白丝精品在线观看| 国产999精品久久久| 狠狠操狠狠燥| 婷婷五月天无码 | 欧美亚洲厕所精品偷拍91| 精品一区二区三区最新| 丁香六月婷婷| 日本熟女中文| 中国东北熟女老太婆内谢| 天天躁日日躁成人字幕aⅴ| 男人天堂电影院| 色臀AV| 超碰天天去日穴| 亚洲se电影| 青青青草伊人精品| 无码久| 中文字幕十五区| 色鬼在线综合| 久久欧美1卡2卡3| 伊人天堂在线| 中文字幕在线播放2中文字幕在线观看2| 国产麻豆一级精品视频| 91操人| 少妇干B| 久久精品高清AV| 欧美性爱中文字幕无线码| 男人的天堂午夜av| 精品丝袜无码一区二区三APP| 精品无码秘 人妻一区二区| 国产精品熟女一区二区三区| 天美传媒AV在线| 91九色丨风韵犹存| 网友自拍第1页| 亚洲国产天堂| 久久久四区| 玖草在线视频| 九九九久久久| 中文?日韩?免费?精品| 极品销魂美女一区二区| 日本黄大片在线观看视频| AV乱伦专区| 狠狠操官网| 波多野42部无码喷潮在线观看| A 在线网址| 93人人操人人| 秋霞曰韩R级| 操逼日韩无码 | 2018天天日天天日| 先锋影音av先锋一区| 免费自拍三级综合| 国产AV激情无码久久无码| 一区二区三区四区免费视频| 92午夜免费福利视频| 成视频在线观看免费看| 日日日日日| 啊好大好舒服| 久久一二三四不卡 | 亚州情色j区| 精品射1999| 超碰这里只有精品| 老鸭窝日丰县女人| 色九九久九九| 97爱综合| 免费?级毛片无码?∨蜜芽试看| 欧美一级国产一级| 精品亚洲国产成人AV制服丝袜| 激情色播| 久久综合日韩亚洲欧美| 青女在线| 久久精品一区一起草| 人人妻人人澡人人爽久久av| 毛片久久| 国产亚洲精品美女久久久久久2021| 精品久久人妻成人网| 色五月婷婷麻豆在| 欧美日本久久精品一区| 高清肉丝中文无码| 97伊人超碰| 少妇综合| 欧美aaaaaaa| 无套内射性感少妇视频| 一二三四日本视频高清| 97超碰亚洲| 殴美色网| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 日韩欧美中文字| 99少妇| 亚洲成人黄色在线观看| 中国女人内射6XXXXX| 一区二区日韩欧美久久| 在线视频一区二区传媒| 欧洲自拍第一页| 久久神马| 日韩激情中文字幕有码| 玖色AV| 国产精品久久久久久久久久久久久久久久 | 亚洲第一无码播放立川理惠| 国产乱码久久| 龙兴卡官方查询| 久久久久久久性爱| 狠日操| 人妻少妇蜜桃视频欧美一区| 中国小夫妻勾搭露脸淫荡对白| 国产97av| 操逼日批| 天天干天天干天天| 国产av热热色| 色妺妺AⅤ| 做爱A级亚欧| 久久国产精品一级二级三级| 狠操91,com| 亚洲国产成人综合碰碰三级经典| 日本Xx性爱| 四月丁香婷婷| 蜜桃午夜视频一区二区| 98人妻精品一区二区色欲| 国产成人无码网站在线视频| 亚洲不卡av在线| 丝袜美腿操av| 狠狠操官网| 欧美日韩超碰在线| 亚洲情色综合网| 20cm女自慰在线日韩欧美| 欧美日韩性爱精品| 夜草欧美| 日韩在线观看三级电影| 被体育老师抱着c到高潮| 91新在线欧美| 大香蕉日韩| 亚洲一卡2卡3卡4卡乱码网站| 亚洲中文字幕有码视频一区二区三区| 激情婷婷丁香网| 三级色综合| 九九九综合精品| 精品一区二区三区蜜桃| 亚洲 一区二区 自拍| 夜夜操91744565| 超碰色97| 精品久久人妻成人网| 美女AV一区二区| 五月亭亭六月丁香| 欧美色婷婷| 很狠操| 二男一女成人A片| 久久久久久性爱视频| 免费视频一二三区| 97精品综合久久| 欧美91色| 日本操大逼| 97干天天| 亚洲第一页第二页激情| 丰满人妻-区二区三区免费| 亚洲骚男同com| 欧美亚洲| 欧美亚洲涩涩| 伊人一区二区在线播放| 久久熟女人| 性91| 97人人草| 男人的天堂VA| 色色色99| 91天天美女| 91天堂色男人的天堂| 97精品国产精品免费观看| 欧洲欧美视频一区二区| 91偷拍欧美亚洲| 国内偷拍精品一区二区| http://qxhbdz.com| 97精品一区二区三区免费| 97人人操人人干| 91天美免费| 极品极品色影院| 亚洲精品九九九九九九| wwwcaobibi| 欧亚韩国999| 影音先锋中文字幕日本好一区二区| 丝袜天堂网| 天堂中文资源在线bt| 亚洲日本天堂| 黑人精品成人一区二区三区| 国偷自 一区二区| 强奸乱伦大香蕉网| 超碰午夜| 无码国产精品久久久久| 国产蜜臀在线| 立川理惠无码一区二区| 日本不卡中文| 亚洲人妻AV| 亚洲不雅视频1区二区| 久久久98网站免费视频| 成人久久久| 99久久com免费视频′| 偷拍精品一区二区三区| 亚洲最大的黄色电影网站。| 浓厚中出中文字幕在线| 日韩精品操少妇| 99热99在线播放激情| 四虎免费视频| 婷婷久月| …亚洲黄色厕厕女女在线播…| 韩国一区二区精品亚洲| 亚洲欧洲成人在线电影| 男人干美女| 搡老女人老妇女AAA一VU麻豆 | 日韩簧片免费看| 青青伊人久久| 久久亚洲精品成人av| 18+91网站| 美女尤物福利视频| 日韩成人高清一区二区| 青青草白白色| 欧美人妻精品一区二区| 精品少妇一区二区| 偷拍伦理视频| 最近2018中文字幕在线高清第一页| 美美91成人国产精品欧美精品久久久久久久 | 后入精品| 色综合美国| 8x福利精品第一福利视频导航| 天综合网欧美| 日本99久久| 亚洲色图欧美一区二区不卡| 四虎免费看黄| 日日碰狠狠添天天爽超| 婷婷爽人人婷婷爽视频| 久久夜嗨| 日本123区操B视频|