亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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
返回資訊列表
日本性感人妻91| 亚洲有码 视频一区| 久久久久久久久久久久黄色 | 久肏视频字幕| 夜草欧美| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 18禁看网站一区| 精品一久久久| 精品人人| 五月天综合网| 在线看免费无码AV天堂的| 中文字幕欧美日韩三级| 日本精品一区二区三| 一块操欧美| 人人干人人操人人爱| 九九九九九九九九九九精品视频| 青青草操逼逼视频| 日本视频在线观看污污污| 久久久久久九九九九| 草久久久| 色av中文字| 久久久夜夜嗨免费视频| 91深夜夜| 国产日韩欧美亚洲精品95| 97精| 91久| 日本二三四区| 久9爱精品| 青青草AV色| 99RE在线视频精品,这里只有精品| 91操人| 操逼操逼逼操操逼91| 久久国产熟女影院| 农村少妇久久久久久久| 国产精品一区二区三区在线| 国产尤物在线三区| 午夜精品久久久久久久第一页按摩| 欧天美中出| 亚洲国产欧美中文永久| 精品成人av一区二区三区在线| 91精品黄在线观看| 久草视频在线视频在线视频在线观看 | 天天综合网网欲色| 欧美色图20p| 亚洲se电影| 99re99视频在线免费观看| 九九九九久久久| 亚洲九月丁香| 亚洲综合激情五月久久| 大香蕉亚洲中文| 婷婷五月成人| 美女高潮视频91| 超碰人人妻| 午夜精品久久久久久久男人的天堂| 蜜臀AV网站| 日韩有码 一区二区三区| 夜夜肏2021| av在线不卡一区二区三区| 国产精品久久久无码aV去| 欧美日韩国产成人高清| 免费超碰97在线观看| 人人操人人干网页| 欧美日韩国内不卡| 密桃99999| 99久久无色码| 精品亚洲俞拍视频一区| 黑人中出21连凳花野真衣| 色狠狠综合| 熟妇熟女视频一区二区三区| 97日视频| 天堂69亚洲精品中文字| 操操啪| 亚州国产精品乱| 98一区二区精品| sss视频华人在线| 欧美性爱一内片一区二区三区| 国产亚洲色婷婷99精品91| 无码九九九九| 国产精品国产亚洲区艳妇糸列| 国产福利电影| 丁香五月大香蕉| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 黄页av| 国产丝袜美女在线一区| 日韩欧美性吧婷婷乱伦大香蕉 | 五月婷婷爱六月丁香色| 夜夜爽妓女| 欧美一区二区三区互相| 91三级理论片播放器| caorenqi shipin| 中文字幕乱偷人妻久久艾草网| 青青色在线观看| 国产一区二区三区白丝| 色九区| 少妇 综合| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 国产精品香蕉| 色噜噜人妻丝袜a∨先锋影| yazhousetuoumei| 久久激情视频| 一级特级aaaa毛片免费观看| 亚洲在高跟鞋自慰久久在色线| 色欲色香天天天综合网www-亚洲综合国| 97天天| 九九干| 91狠婷| 大茄子熟女AV导航| 性爱1区| 影音先锋一区二区在线资源| 亚洲色图欧美| 91婷婷| 啊嗯嗯啊好大好爽| 色官网色综合| 亚洲熟女一区| 国产东北女人在线视频| 日本人妻一区二区| 国产91福利小视频在线观看| 日韩二三区| 97AV在线观看| 丝袜美腿欧美| 欧美+日产+中文| 狠狠综合| 人人妻人人爽一区二区三区| 色综合av男人天堂| 先锋音影AV| 熟女91网站| 精品夜夜澡人妻无码| 欧美激情1区| 国产精品国产拍高清AV| 亚洲有薄码区久久在线一区| 亚洲色图大香| 免费视频在线一区二区不卡| 富二代亚洲精品99| 国产女人高潮嗷嗷嗷叫小说 | 91国产丝袜白虎| 国产av美女被艹的乱叫| 男人的天堂三级| 婷婷五月综合激情| 亚洲Av诱惑| 亚洲色图久久精品蜜| 加勒比色99999| 国产AV无码AV| 精品999999| 熟妇熟女亚洲天堂网| 久久免费少妇| 嫩草 人人网精品| 午夜a成v人电影| 欧美色日本| 97人妻免费中文字幕| 九七人妻在线| 97福利视频| 91熟女网| 97久久久精品| 99热久| 无码一区免费在线不卡| 有码人妻系列| 99热国产| 另类小说综合网| 超碰欧美97资源| 婷婷操逼| 大干人妻| baiduhicn.com。| 无码在线亚洲| 7777奇米影视久久| 综合少妇网| 自拍视频大全亚洲专媒视频/一区二区三区 | 美国久久一二三四| 一区二区三区欧美激情| 99re9| 久久久久久久久久久久久久久久9| 日逼国产| 欧美后入| 澳门成人网站久国产日韩| 青娱乐福利99| 亚洲情色 自拍| 少妇与黑人高潮在线| 国产一区二区a毛片| 97 国产精品| 欧美日韩国产中文精品字幕自在自线,| 国产精品不卡一区二区三区av| 亚洲91射| 蜜臀久久在线视频| 99热在线观看| 天天干人妇| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 麻豆成人影音在线| 青娱乐黄色录像| 又摸又舔在线观看网站| 丝袜制服字幕在线| 亚洲日韩一区电影| 二色av| 日韩欧美成人午夜福利| 97伊人网| 91网站18+| 操学生天天| 九月丁香婷婷| 日欧亚洲二三区大片不卡| 亚洲在线a| 清纯唯美第一页| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 中文字幕综合人妻| 嗯阿好爽好紧| 伊人五月天青青草婷婷| 亚洲精品99| 欧美亚洲第一页| 色欲天天综合久久久无码网中文| 美女91网址| 98福利在线视频| 精品一区96| 免费中文在线| 免费人成在线观看网站品爱网| 91狠狠狠| 女上位精品在线| 久久人人爽av亚洲精品天堂桃色| 91精品成人| 啊啊啊啊啊在线观看网址 | 午夜免费视频1000| 偷窥自拍亚洲色图| 免费观看有码高清视频| 欧美亚洲丝袜人妻制服99| 大香蕉乱伦视频网| 欧美乱色| 久久久久78| 日本大香蕉| 情侣操 逼视频99| 亚熟hd视频在线| 抽查国产福利主播| 又黑又大又粗| 中文字幕在线观看网页| 日本日日色视频| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 国产精品3| 97视频在线观看网站| 久日91在线| 青青草乱入乱欲视频在线观看| 婷婷色网| 丝袜狂射91| 亚洲天在线| 啊啊啊免费| 精品人成视频在线观看| 日本免费人成视频播放120秒| 操迟操逼在巾线Fre看| 26uuu性物| 丁香五月激情综合国产| 天天干天天做| 成人网欧美风情| 老熟妇一区二区三区啪啪| 99这里都是精品| 伊色久人大在线| 亚洲欧美日韩免费观看| 亚洲日韩成人性爱视频| 国产女上位好爽在线| 国产精品91一样| 欧美性天天影视| 亚洲 欧美 91| 欧美色日| 密乳视频在线| 在线中文字幕极品av| 欧美操人| 青青草久久在线| 老熟女91视频| α√在线| 97色插| 小骚逼被操的爽不爽| 超碰97伊人| 亚洲一区中文精品| 亚洲成人免费电影| 午夜福利在线合集| 亚洲 欧美 日韩 国产一区二区 | 九九久久久九九| 亚州春色| 精品毛片av一区二区| 1024人妻| 亚拍在线| 亚洲天堂AV在线播放| 欧美综合站| 黄呦呦在线| 超碰美女97| 色娱乐色呦呦夜夜夜夜av| 台湾佬中文娱乐自偷自拍| 人妻精品一区一区三区蜜桃91| 2025年A片视频精品| 99色色网| wuyechaopeng| 在线观看成人性爱免费小视频| 农村妇女一级二级三级视频| 亚洲丝袜色图| 夜夜爽夜夜操| 成人在线日韩| 97久久久久久久久久| 国产美女自拍AV| 天天做天天爽| 黄页av| 高清国产av无码| 中出后入| 日韩三级伊人| 九九无码久久精品视频| 乱伦日本中文自拍| 欧美有码亚洲中文字幕一区二区三区四区| 日韩有码中文字幕女同性恋| 久久婷婷综合国际产色怕| 啊啊啊啊啊好大好舒服想要| 综合伊人激情| 天天综合网在线| 亚洲无码精品AV久久久| 亚州情色j区| 91制服丝袜| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 少妇诱惑视频| 国产精品白领在线观看 | 中国操逼无码| 麻豆AV96熟妇人妻| 国产毛片久久久久久久| 日韩情色视频| 日韩成人高清一区二区| 操B久久| 国产成人无码a| 91欧美综合| 午夜精品一区二区三区三上悠亚| 欧美AB在线| 四虎AV无码| 小说区 图片区色 综合区| 欧美久久草熟女| 黄色成人网久久久久久| 97免费视频网| 日日操丁香五月天| 亚洲中文字幕av | 精品久久久久9999| 超碰国产精品无码| 伊人96在线| 色噜噜狠狠色综合日日| 偷拍亚洲| 中文字幕蜜乳av| 精品区国产区一区二区三区| 亚洲综合第一页| 五月色综合| 国产吹潮女在线观看| 国产中文精品一区二区在线观看| 国产熟女自拍| 日本在线一二| 精品九九国产无码| 国语精品av| 色婷婷99| 青草草免费网站av| 91老妇女| 国产一区二区三区,在线观看观看| 日本五十路熟女一区二区| 丝袜视频网国产90| 吉田爱美AV在线| 亚洲国产精品成人久久蜜臀| 九九热免费国产视频婷婷伊人| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 天躁夜夜躁2021| 中日无幕一二三四区| 91精品久久久| 91少妇人妻| 97爱b| 五月婷婷无码| 五月丁香拍拍激情综合三级| 美女诱惑久久| 日韩综合色网| 亚洲少妇喷视频看| 日韩A优精品在线观看| 肉丝无码中文高清| 91新在线欧美| 美女露胸露屁股| 黄色高清无码无码破解免费暗网| 人人干人人操人人爱| 久久久久久无码人妻中文字幕| 操狠狠| 亚洲国产精品成人无码久久久 | 97资源站日韩| 伊人aaa| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲中文字幕精品一区| 97青娱乐超碰久久| 亚洲少妇色| 无码乱人伦中文视频| 永久电影三级在线观看| 99re在线精品78| 96AV精品| 天天综合色电影| 成人国产精品三级A片| 亚洲欧美综合区自拍另类| 久久六六| 狠狠91| 欧美激情视频一区二区| 亚洲精品乱码久久久久久蜜桃麻豆| 看黑丝美女操逼青青网站| 激情五月综合网| 婷婷五月天av| 黑丝自慰喷水网站| 亚洲精美粉嫩嫩泬在线观看| 乱伦熟女论坛| 思思热在线视频在线| 97亚洲欧美| 97亚洲欧美| 2017天天拍大香蕉| 91亚洲色图| 久久夜夜| 精精品人妻一区二区三区| 久久久久久久久9| 欧亚 另类 久| 欧美人妻少妇| 东京热一区二区中文字幕| 国产在线播放成人免费| 人人做,人人操,人人摸| 国产熟女完整版中字 | 亚洲精品无码少妇久久| 欧美日韩国内不卡| www.色婷婷.com| www久| 黄色AAAAA欧美| 免费福利视频中文字幕| 97国产高清视频在线观看| 2018天天干在线视频| 波多野结衣先锋影音| www.91逼逼.com| 亚洲成人久久一区二区| 色婷婷影视| av天天在线观看| 久久超碰、| 亚洲第91页| 亚洲欧洲色情高清| 国产熟码AV| 91亚洲网| 欧美人与性动交a美精品| 国产福利影视| 有码人妻系列| 大屁股国产在线视频| 天天色怡春院| 亚洲AV色图一区| 国语精品对白| 国产一区免费午夜视频| 日本精品不卡一二三区| 97AV爱| 日本99一区二区| 中国黄色特级精品一区二区三区片| 欧美日韩精品久久久久东北老熟妇| 欧美三级偷拍| 国产一级高跟丝袜| 日韩pv中文| 中文幕97| 91亚.色| 手机看片日韩人妻| 国产视频一区二区免费| 国产精品2020| 男女啊啊啊啊啊| 一区二区精品日韩欧美在线观看 | 激情久久久| 麻豆AV一区二区| 免看60秒涩涩视频| 在线综合 亚洲 欧美中文字幕| 大香蕉人妻| 久久鲁夜| 成人影院永久免费观看网址| 久久草在线综合视频| 日韩二三区| 熟妇人妻精品一区二区| 日韩,欧美,中文在线| 97人亚洲综合字幕| 午夜在线播放| 91Chinese在线| 97精品国产手机| 亚洲日韩天堂| 中文字幕日韩人妻视频一区二区三区| 欧美有码亚洲中文字幕一区二区三区四区| 抽插一区二区视频| 十八禁av无码免费网站APP| 五月天社区| 欧美手机在线综合| 欧美 日韩 亚洲 春色| 97久精品| 亚洲欧美不卡线| 成人午夜视频免费播放| 免费男人的天堂| 上海一级黄片| 天天操天天看| 岛国艾薇凹凸视频天堂| 91亚.色| 97欧美性爱| 青青草女人天天干| 唐山老熟妇露脸啪啪叫| 青青草国产盗摄一二三区| 翔田千里A片一区二区| 好吊色在线观看| 天天日熟妇| 东北丰满熟女国产一区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 久久大精品乱码视频人妻熟女| 26uuu最新| 91原创在线观看| 欧美综合91| 91在线页| 欧美高清无码免费视频高清版| 精品视频123区小说区| 久久风骚城市| 熟女精品一区二区三区| 丰满人妻-区二区三区免费看 | 色97欧美| 蜜臀国产AV中文字幕| 天天操熟妇| 综合久久久久久久综合网| 久久久久久中文字幕中文字幕最新| 丰满人妻-区二区三区免费看| 精品国产乱码久久久久久久久1 | 欧亚久久偷拍视频| 日小BB小视频| 国产精品夜夜夜| 97色色网| 国产AV久久野战精品| 欧美综合777| 色九月婷婷| 精品久| 色欲人妻一区二区在线| japan日本高清乱xxxx| 97伦乱| 五月天精品| 黄骗免费网站| 欧美性暴力猛交XXXX | 美女裸体无遮挡永久免费观看网站| 久久综合久久综合人久久夜精品| 久久亚洲欧美中文字幕国语| 淫纸中9区| 国内黄色精品| 人人扣人人操| 人人操人人色人人摸| 国产2.3.4区| 国产精品视频电影| 日本操逼无码| 日影院久久婷婷夜夜网| 午夜丁香| 无码WWW免费视频网站| 国产91美女视频| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 一区二区播放| 麻豆久久久久久久久丝袜| 家庭乱伦网站国产| 97亚洲色图| 97人人爱人人做人人乐| 色色婷婷五月| a天堂视频| 国产欧美在线观看免费观看| 老鸭窝成人| 97人人爱人人做人人乐| 国产黄色av大片网站| 欧美精品欧美精品系列| 久久久9品一区二区三区| 9久在线视频只有精品| 天天日熟妇| 欧美性爱一区| 岛国片在线观看视频亚洲| 偷拍亚洲熟女视频播放| 亚洲国产精品无石码久久 | 伊人午夜福利视频| 白丝jkav| 青青草在线成人视频| 破苞ⅩXXX性无码动漫无码| 成人免费看吃奶视频网站| 综合97| 91bbbbbb| 97欧美日韩综合| 天天日熟妇| 精品久久久av| 成人av影院在线观看| 国产真实子伦对白| 人人妻人人澡人人爽久久av| 国产精品乱码久久久久久久久| 人妻无码视频一区二区三区久久| 久久大线蕉一区| 久热伊人99re| 4141514逼喷水三级片| 亚洲午夜免费狠狠干| 欧美精品自慰系列寂寞少妇| 欧美人人AAA| 岛国黄色大片网站| 午夜大香蕉| 婷婷色在线| 色情综合网| 91美女丝袜诱惑视频| 亚洲色图大香| 9久久9综合| 久久25| 国产SV一线| 91丝袜激情在线| 国产原创精品| 日韩亚洲Av人人夜夜澡人人爽| 日本激情免费大片| 18禁在线视频| 狠狠操夜夜| 国产在线视频午夜精华在| 国产精品不卡高清在线观看| 91操熟女| 色婷婷激一区二区三区| 91精品丝袜在线观看| 丁香五月婷婷啪啪| 欧美综合97www| 2020中文字幕| 日韩精品99999| 欧美老熟另类| 天综合网欧美| 日韩99999| 无码人妻精品酒店| 国产女人和拘做爰视频| 99自拍视频在线| 91ise欧美| 欧美18老人禁| 精品人妻av在线播放| 久久精品亚洲成a人天堂| 日日夜夜天天| 久久精品亚洲婷婷| 九九国产| 天天拍夜夜| 日韩精品在线观看观看| 99视频只有精品| 欧洲射精91| 九七毛片九九毛片| 夫妻天天操岛国视频| 亚洲欧洲综合成人av一区| 日本3级一区二区免费| 婷婷三区| 91热热色| 日韩卡一卡二卡三在线| www.婷婷五月天| 婷婷久草一区二区三区| 夜夜一区二区| 91激情国产| 中文字幕精品免费一区二区| 蜜桃av综合网发布| 欧美少妇性乱| 成人免费性爱视视| 婷婷久热| 99re在线视频| 亚洲精品一区二区精品| 久久超碰久| 人妻蜜桃臀| 亚洲 暴爽 AV人人爽日日碰| 中日韩久久久| 男生女生啊啊啊啊| 91色欧美| 播播亚洲小说亚洲| 91天射| 久久婷婷电影网| 久9热| 久久久久久裸体| 成年人三级黄色片视频| 亚洲 日韩 欧美 国产综合体| 亭亭在线资源| 日本黄色大片一级视频免费麻豆| 亚洲欧洲偷拍一区| 蜜汁欧美| 综合色啪| 熟妇一区,二区,三区。| 久久三| 精品网站9999| 神马久久久久久| 亚洲操操操| 少妇人妻在线| 中文字幕精品日韩中文字幕| 日韩国产品视频中文字| 亚洲玖玖爱| 九九黄色视频在线观看| 人人九九精| 亚洲五码一区二区三区| 99热8| 日本视频一区二区三区| 中文久久96| 91欧洲国产成人久久精品网站| 91超级碰碰| www.男人的天堂| 2010男人的天堂| 人妻精品一区二区| 蜜桃久久综合视频| 亚洲日韩人妻中文字幕一区| 亚洲激情四射| 国产农村妇女精品| 一区二区三区日韩欧美| 综合激情二| 男人精品天堂一区| 97在线观看| 磁力99AV| 亚洲午夜福利视频| 99久久99九九99九九九| 日韩精品区二区三区不卡| 亚洲色欧美| 女生自91网站| 8050无码八戒| 噜噜噜噜久久久精品免费| 欧美日韩国产在线| 久久中久文96| 亚洲美乱| 久久久久亚洲熟妇熟女| 97超碰免费生活| 97人人草| 免费αV在线视频| 久久精品电影| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 精品毛片久久久精品毛片| 日韩无码第3页| 久久伊人在线五区| 太久视频| 国产强奸无码乱伦| 熟女高潮合集-永久久久-成人AV| 欧美另类精品xxxx| 怡春苑东京热| 日韩精品99999| 国产乱伦性爱区| 毛片99-全集电影手机免费观看完整-B029AV | 黑人综合网| 久久人爽| 人妻无一区二区三区| 欧美线天码中字| 欧美日韩国产色图在线| 2017av无码免费无线播| 91在线国产后入风骚翘臀美女素人| 一区二区偷拍拍视频| 久久九九视频九九视频| 91激情| 天天操熟妇| 嗯嗯啊啊用力视频免费| 日本欧美国内在线| 一区操逼| 久久97超碰| 澳门人妻久久| 精品国产乱码久久久久久口爆网站| 97天天综合| 熟妇一区,二区,三区。| 国产精品大香蕉| 日本人妻伦在线中文字幕| 亚洲男人天堂网站| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 综合欧美日韩在线观看| 无码一区免费在线不卡| 亚洲高清欧美总合| 夜夜国自区| 精品一二三区女同| a人欧美综合天堂麻豆| 射 色综合| 五月丁香婷婷色| 国产呦精品一区二区三区下载| 摸奶性爱视频网站在线免费播放| 久久影视二区三区行押| 成人日韩欧美| 牛黄色久午久| 国产九九九九九九九九| 国产 热久久久久国产精品| 久草资源在线| 伊人91| 久夜操| 98久久超碰| 香蕉精品二区二区| 狠狠色五月亚洲91| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 欧美写真视频一区| 大香蕉中文网| 91岛国动作片| 92久久| 欧美性色网| 日本新免费二区三区| 欧美视频第二页| 男人的天堂欧美| 97干天天| 欧美 日韩 婷婷 五月| 婷婷爱五月| 大香蕉123| 久久日韩毛| 天天淫人人妻日日色| 偷拍亚洲高清图片| 久草综合视频| 91操人| 日日97| 殴美性天天| 偷看洗澡一二三区美女| 久久精品亚洲成a人天堂| 亚洲欧美国产成人综合不卡| 极品尤物在线观看| 色九九综合| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 日韩一卡二卡三卡| 欧美97| 免费αV在线视频| 日本丝袜人妻内射| 99久久99九九99九九九| 日韩情色视频| 日韩美女,国产传媒,视频一区| 欧美狠狠操| 久久精品国产久精国产| 亚洲国产福利视频| 校园春色五月天| 国产精品分类在线观看| 日韩AV无码中文一区二区| 五月婷婷六月丁香| 欧美成人精品一区二区三区| 新版天堂中文资源8在线| 中亚精品极乱| 新视频sss国产| 麻豆天美在线| 九九九九九精品视频| 美女网站91| 国产一区二区三区久久久精品| 国产麻豆一级精品视频| 国产精品久久9| 色网综合网| 国产又黄又爽| 国产精品久久成人免费| 九九热AV| 人妻人妻天天碰| 日韩小电影| 亚洲AV性爱电影| 综合色图,成人综合网| 69久久久久久久久久久久久| 熟妇色99| 免费作爱一级视频| 好湿好紧好爽 视频| 91性感网站| 中字幕人妻一区二区三区| 亚州免费啪啪视频| 久久五月综合| 青青草久久在线| 色悠悠伊人网五月天| 成人性爱av| 91久久精品蜜臀| 大香蕉日亚洲日本亚大 | Blackedraw视频一区二区| 欧美亚涩| 伦理第一页| 一级特级aaaa毛片免费观看 | 另类专区加勒比| www.av家庭乱伦| 免费看日本操逼视频| 裸体1区| 怡红院成人视频| 国产 亚洲 丝袜 制服| 亚洲精品欧洲精品| 欧洲性爱无码区| 色97| 另类专区加勒比| 国产精品蜜臀久久久久无码AV| 污啪啪啪视频| 精品无人区麻豆乱码1区2区图片| 国产高清免费不卡av| 精产国品一区二三产品| 蜜臀在线视频| 伊人久久青青草| 九九九国产| 色播综合| 久久日韩肥臀| 萌白酱自拍视频| 超碰天天操| 欧美天天射| www色色色com| 日韩一卡二卡三卡| 欧美色视频在线| 色综和网| 国产日韩欧美亚洲精品95 | 久久久久久精品免费看A级| 夜夜人妻爽| 一本精品日本在线视频精品 | 大香蕉乱级| 神马久久久久久久久久久久| 国产超碰AV在线精品| 大胆91| 大JI巴好深好爽又大又粗视频| 国产精品视频精品一二| 欧美亚洲国产日本在线,久久精品国产| 国产日逼视频| 色五月激情AV在线| 伊人色综合网电影| 综合亚洲网| 午夜精品视频777| 最新制服中文第一页| 欧美少妇性爱网站| 亚洲骚逼少妇| 天天日日舔舔| 天天躁日日躁成人字幕aⅴ| 中文字幕女同在线| 国产亚洲禁久一区二区 | 亚洲情色婷婷五月天| 亚洲av噜噜噜噜噜噜| 欧美日韩色| 啊好大好舒服| 被男人添B超爽视频| 打av高清| 午夜影美女日鸡鸡天天视频国产| 超碰偷拍| 欧美性猛交美女自慰91| 日韩免费在线视频观看| 男人天堂无码| 婷婷成人久久久精品| .精品人妻一区二区三| 91N综合网在线| 97人妻色| 亚洲第一狼人丝袜美女另类 | 精品国产人成在线| 97硬碰| 操逼操网| 国产农村妇女精品| 中文字幕人乱码中文字的预防方法 | 亚洲一区二区在线观看91| 超碰97爽| 日本性爱不卡视频| 久久久啊啊啊| 亚洲性少妇| 男人的天堂不卡一区二区| 久久久久久久久久va| 91痴汉| 另类av天堂| 欧美成人AⅤ大片在线观看| 中文字幕乱码在线观看| 美女黄码视频午夜| 天天影视色香色欲| 色哟哟511老熟女| 精品亚洲| 夜夜夜爽www精品视频| 亚欧免费| 热99这里有精品综合久久 | 最新日韩黄片| 欧美成年人性爱视频免费观看| av操操不卡| www色色com| 精品少妇人妻av久久免费| 后入式免费视频| 九久久精品| 91蜜臀在线久久久久| 最新国产亚洲精品精品国产亚洲综合| 久久草草亚洲蜜桃臀| 少妇丝袜在线观看AV| 操我啊啊啊啊啊| 丁香婷婷久久| 人妻人人做人人澡人人爽欧美一区| 久久产精品一区二区三区电影| 不卡六六在线91| 另类 综合 日韩 欧美 亚洲| 久久久婷婷| 久久久成人国产精品无码| 高清有码一区二区| 人人么人人操| 九久精品| 黄色工厂这里只有精品| 九九九久千久久激情蜜桃在线看 | 久久久性爱视频| 人妻在线臀日韩| 视频二区美腿丝袜制服人妻欧美| 国产亚洲精品农村妇女 | 97这里只精品| 农村妇女精品一区二区| 青青草黑寡妇男人天堂| 99热超碰| 久久乐| 激情婷婷五月天| 97人人射| 国产免费一区二区在线A片视频| 狠狠色噜噜狠狠狠狠狠色综合久久 | 操屄不卡视频| 日本操BAV| 亚洲一区二区性爱电影| 欧美成人性爱视频免费观看| 性在久久久久久| 日本人妻伦在线中文字幕| 亚洲女人毛茸茸91| 无码精品啪啪啪一区二区三区三州| 欧美日韩人妻少妇 一区二区三区| 素颜老阿姨乱情色| 性爱AV天堂| 9久9久| 99rre在线精品99re8| 黄片免费看黄片免费看| 偷拍自拍在线视频观看| 婷婷AV一区二区三区| 色综合色欲色综合色综合色综合| 狠狠中文字幕| 欧美国产伊人久久久久| 激情五月天婷婷| 国产免费永久精品无码| 成人 日韩欧美一区| 青青草九九九九九| 亚洲少妇诱惑| 天堂涩涩| 精品女同一区二区三区| 啊啊啊久久久视频| 青青草好吊色| 日韩免费a级毛片无码a∨| 欧美日韩性爱电影在线| 日本五十路熟女一区二区| 成人日韩欧美| 欧美亚综合色图| 亚洲欧美另类少妇精品| 久久婷婷色| 久久久久久大| 青青青艹在线视频| 少妇高潮一区二区三区在线| 蜜臀99久久精品久久久久久| 女人久久久| A 在线网址| 青青久久手机线视频| 在线观看亚洲专区| 大香蕉黄色一区| 久热无码| 97爱b| 亚洲综合夜色| 夜夜嗨绯色| 久久内射| 东北丰满熟女国产一区| 91日本在线观看| 国产白嫩精品久久| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 久久久免费高清中文视频| 色区97| 亚洲字幕一区二区| 九九久久九九久久| 久操av在线| 日韩精品字幕| 欧美精品日韩久久久九| 鲁鲁色综合网| 一区二区三区四区五区久久久久久| 日夜尻逼网| 国产综合在线视频网站| 亚洲天堂综合AV| 99少妇精品视频| 欧美激情黑人| 欧美国产婷婷久久| 5278欧美一区二区三区| 亚洲 图片 欧美 色图| 国内精品99999| 午夜亚洲国产理论秋霞| 欧美性爱97超碰| 欧美色图自拍| 狠狠色伊人亚洲综合网站色| 91狠狠色丁香婷婷综合久久| 五月开心久久AV官网| 欧美gv在线观看| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 亚洲色图 91| 日本视频在线中文字幕| 成人日韩欧美| 97超碰欧美手机在线| 欧美日韩另类在线播放| 久操高青| 日韩九九九| 免費黃色視頻觀看一| silk lablo在线观看一区二区| 天天躁日日躁狠狠躁| 综合色色网| 人妻人人澡人人爽人人| 中文字幕在线免费观看2| 99热只有| 超碰97综合在线| 色99在线| 欧美性高潮在线| 色情五月丁香| 78m成人视线| 亚洲成人久久美女| 日本淫穴在线| 亚洲高清视频在线免费观看| 又黄又爽在线观看视频| 亚洲欧美91√| 日本精品一区二区中文字幕| 五十路成人在线视频二区三区| 日韩亚洲中文字幕在线| 日本999精品| 亚洲精品国产无码高清| 97精彩视频网站| 欧美黄色手机在线观看| 800zy一区二区| 麻豆精品.欧美精品.日韩精品.| 激情四射五月天| 欧美日韩亚洲天堂| 日韩欧美女优电影| 九九九九九九成人| 亚欧高清v| 精品少妇一区二区| 天天综合精品| 97色碰| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 另类图片五月天| 久久久精品视频免费观看| 亚洲欧洲日韩中文字幕一区| 亚洲综合婷婷| 青青草好吊色| 夜夜爽妓女| 少妇啪啪自拍| 97视频7| 色翁荡息又大又硬又粗又爽| 97超碰中文字幕| 2010男人的天堂| 偷拍 欧美 日韩| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 久久久一二三四区| 亚洲欧美校园另类春色| 2024年最新色情网站在线观看| 99国产精品在线观看| 国产女同视频在线播放| 久久综合久色欧美综合狠狠 | 久久只有精品一区二区三区| 人妻 中文 日韩| 伊人宅男大香蕉 | 69AV女优男人的天堂| 粉嫩粉嫩一区性色AV片| Aa东京男人的天堂| 人妻日日干| 亚洲天天在线| 夜夜操夜夜爽夜夜高潮| 福利在线黄片| 久久精品国产精品一区| 超碰97欧美日韩| 亚欧无码在线| 一区二区三| 激情五月天校园春色网| 国产后入精品| 国产三区免费在线观看| 大香蕉99999| 欧美黑人与女人91~| 五月丁香久久| 伊人网免费视频| 日比av无码| 久久久专区| 美女在线H91| ..日韩av毛片精品久久久| 欧美图片校园春色| 性性欧美| 色综合91| 手机在线中文字幕国产| 美女91| 97精品国产手机| 一二三四免费视频| 久久久久久精品免费看A级| 秋霞一集毛片观看| 老熟女综合网| 婷婷日韩一区二区三区中文字幕在线| 亚洲导航深夜福利| 一级婬片120分钟试看| 人妻素股| 久久久111| 伊色综合天堂色97| 欧美日综合| 日韩一区二区精彩视频| 日韩丰满熟妇| 乱抡国产91| 淫穴高潮色图| 射丝袜高跟鞋99| www.99热| 极品色www影院| 亚洲欧美国产成人综合不卡| A 天堂| 一区二区三区四区理论片| 青娱乐手机日韩在线视频| 一本道综合色图| 欧美黄色大香蕉一区二区| 亚洲图片欧洲图片aⅴ| 人人看欧美性爱| 精品国产91内射久久| 婷婷超| 国产99999久久精品| 桃色人妻在线视频| 九九热超碰97亚洲最新香蕉| 97精品一二区| 91狠狠色丁香婷婷综合久久| 亚洲成人免费在线| 久久精品国产免费观看99| 懂色中文一区二区三区|