国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲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
返回資訊列表
91黑人狂躁丰满熟妇| 天天日天天舔天天喷天天射| 天色综合网| 国产精品九九九| 玖玖草久草99蜜月一区二区三区| 91久久久久久| 日韩免费看在线黄色片| 国产白丝AV| 日韩在线97| 波多野42部无码喷潮在线观看| 啊啊啊慢点| 日韩精品三区四区| 欧美aaaaaaa| 无码人妻一区二区三区色欲aⅴ | 欧美国产一区二区三区麻豆传媒| 亚洲 欧美日韩 另类| 91天天综合| 蜜桃午夜视频一区二区| 人人操人人摸avav| 天天看高清麻豆| aaa亚无码专区| 欧美色偷拍| 午夜精品久久999热蜜桃介男人用| 人人干人人搞人人摸| 欧美日韩天堂| 色五月激情AV在线| 久久宗合亚洲| 天美传媒av在线| 亚洲精品久久久久久久蜜桃臀| A级毛片在线看免费| 亚洲久9| 日本黄色XXX| 大香蕉伊人亚洲| 天天日天天舔天天喷天天射| 九九九九久久久| 日韩另类| 丁香五月av| 99精品国产户外露出| 极品美女嘿咻| 亚洲精品国产熟女久久久| 欧美日韩国产三级黄色| WWW操逼| 伊人久久婷婷| 爱做久久久久久| 黄色在线网站| 无码直播久久久| 色欲久久99精品久久| 日本人妻天堂网站在线播放| 上床不卡网站| 天天影视射综合网| 亚州色国| 精品女同一区| 亚洲九九视频| 亚洲综合91| 成人性生活高清视频在线播放| 久久色AV线| 东京热不卡视频| 狠色婷婷久久一区二区三区_| 又黄又爽在线观看视频| 玖玖97综合| 性爱久久| 欧美熟爽综合| 91偷拍欧美亚洲| 一区=区三区视频| 哈哈操电影AV| 国产欧美成人精品| 欧美性夜| 亚洲**2021在线观看| 91AV入口| 国产精品人妻熟女aⅴ| 久久无码成人| 久久99网站| 夜夜嗨一区二区| 亚洲男人bt天堂| 成人婷婷丁香| 色婷婷婷五月天激情四射| 麻豆影音天美视频| 亚洲精品国产熟女久久久| 久久一区二区加油站| 日韩视频小说在线观看| 99色热| 大色网久久| 蜜桃网熟妇| 测评在线观看AV| 国产多人在线观看视频| 伊人色综合网电影| 在现视频女上位好爽| 色呦呦、国产精品| 婷婷10月天青娱乐| 成人免费不卡在线视频| 一区 欧美 日韩 麻豆| 天堂伊人久久| 我想要 啊 啊 啊| 超碰在线观看av不卡| 久久婷五月| 精品网站9999| 黑人精品欧美一区二区蜜桃| 亚洲人体视频在线观看| 欧美嫩性色| 自拍视频大全亚洲专媒视频/一区二区三区 | 公司1区2区3区精产精| 一卡二卡在线播放| 老熟女乱子伦中文字幕一区二区| 99性爱视频| 久久高清无码夜夜操| 久久精品无码一区二区三区| 人妻系列无码专区中文有码| 日本女厕偷拍| 欧美激情区| 日本精品网站在线中文| 婷婷伊人綜合中文字幕小说| 欧美猛交黑寡妇中文字幕| 欧美96精品在线| 在线观看岛国有码| 91av天美性媒精品视频| 97在线观看| 国产精品亚洲美女久久久久| 国产激情综合五月久久| 91网站18在线| 婷婷五月天基地| 欧美专区第一页| 欧美日韩国产男人| 日韩性爱视频在线免费观看 | 国产精品视频精品一二| 五月天婷婷色色| 操逼网免费无码视频| 家庭乱伦国产| 岛国片在线播放| 你懂的在线观看区国产| 国产a片操逼| 2020久久免费视频| 欧美A片中文字幕| 成人精品无码| 国产熟女乱论| 国产99 中文字幕日韩小视频| 激情久久久| 一级黄色牲爱A级片| 最新av中文字幕高清| 久久国产在线一区二区| AV在线性爱| 久久久久久亚洲中文| 欧美性爱综合,免费| 中文字幕高清精品一区| 国产精品网址| 亚洲偷拍自拍在线视频| 荡小穴在线观看| 97综合在线观看| 欧美日本久久精品一区 | 欧美成熟性爱精品| 99精品视频在线观看免费| 日韩中文字幕视频在线观看| 三级片网站在线播放| 九九香蕉网| 色玖玖| 精品国产乱码久久久久久影片| 操人妻丝袜高跟| 东北女人的毛片| 裸体1区| 人人操人人精品影片| 97ai亚洲| 日人妻视频91| 天天爽爽爽爽| 男人精品天堂一区| 99热这里只有精品18| 久久中文字幕不卡人妻| 国产综合永久精品日韩鬼片| 午夜激情床戏激情| 男人天堂网手机版婷婷| 久久精品熟妇丰满人妻99| 欧美日韩啪啪电影| 午夜男人一级A片7777| 性欧美另类高清| 久久久久网站-538在线视频-欧美永久乱码| 熟女露脸激情自拍视频| 无码不卡亚洲成?人片| 国产成人手机视频激情| 欧美乱色| 好湿好紧视频| 久操com| www.夜夜| 97亚洲国产| 无码国产精品96久久久久孕妇| 人摸人人操人| 97精品国产97久久久久久户外免费| 操91| 人妻一区二区三区四区视频| 中文字幕一区日韩精| 久久伊人网视频一区二区三区| 熟妇高潮二区三区| 精品午夜福利国产一区二区在线观看| 激情四射婷婷四五月天| 东北女人性交| 殴美大黄片| 亚洲 中文 女同| 日韩欧美久久婷婷网站| 精品视频在线观看精品| 成人福利视频网| 在线天堂999| 精品999一区二区| 手机在线看片免费人成视频| 人夜夜精品网站香蕉嫩草| 亚洲欧美啪啪| 偷拍自拍在线视频观看| 久久av网| 日韩性爱1级片视频| 三级三级三级日本99| 91欧美性| 无码人妻精品一区二区中文| 99黄页网站| 日韩一级二级三级在线不卡观看完整| 四色永久成人网站| 208天天久久九九九| 国产一区自拍欧美日韩| 淫骚熟女一区二区三区| 亚洲精品乱码线路中文字幕 | 操逼视频国产无套| 精品一区二区三区蜜桃臀赵总| 国产日韩中文字幕欧美| 天天综合色电影| 国产白丝AV| 大香蕉综合| 欧亚日韩综合精品国产| 静品嫩模一区二区| 日韩精品-原创伙伴| 亚洲美女自拍偷拍视频| 成人草草视频| 床上啊啊啊一区二区三区| 黄页网站成人免费| 操美女高潮抽搐白浆| 色噜噜日韩精品| 婷婷五月天av| 色五月AV| 乱老熟女一区二区三区| 手机在线播放国产福利| 国产欧美后入| 爱我干综合| 欧亚 另类 久| 天天流夜夜操| 欧美日韩黄片精品在线| SUV一区二区在线看| 岛国大片在线观看网站入口| 欧美特黄视频网站| 天综合网| 九九九九九精品| 红杏大香蕉| 91久久久亚洲| se,,,亚洲欧美| 精品人妻美妇91job| www久久精品| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 玖玖97综合| 国产无吗在线播放| 欧美日韩97在线| 久久思思热| 久久婷婷电影网| 欧洲射精91| 欧美一区二区三区四区综合| 中文熟女五十乱码在线| 偷拍伦理视频| 精品久久久久久中文字幕三区| 欧洲性人爱视频| 亚洲黑丝在线| 亚洲AV无码AV吞精久久久久| 成人性交午夜免费片| 婷婷色一区| 第四色奇米影视777| 色69大色97香蕉| 国产欧美一区激情交| 综合网亚洲1| 99re9在线| 日韩免费av片高清无码| 亚州精品人妻一二三区| 免费看污网站| 国产精品久久久久久片| 亚洲欧洲自拍图片专区满春格| 欧洲一区二区三区四区在线观看| 国产精品亚洲免费| 中文字幕精品一区二区精| 清纯唯美第一页| 大吊色| 丁香色婷婷| 国产精品99精品视频网站| 78m成人视线| 安徽熟妇视频| 天天添天天干电影| www色日本| 久久久久久久久久va| 黑丝制服中文字幕 | #NAME?| 91亚州欧美| 香蕉在线一区二区三区| 91麻豆va国产精品| 强奸乱伦资源| av天堂天堂av日韩| 精品人妻一区二区三区四区石在线 | 日日玩天天干| 亚州国产成人精品女人久久| 操死我了嗯嗯嗯| www.狠狠干.coom| 欧美亚洲日本视频久久久| 午夜a成v人电影| 91狠狠综| 东京热天堂网| 综合网 欧美| 亚洲偷拍欧美激情| 欧美熟妇亚洲版| 99青青草国产视频| 欧美日韩免费专区在线| 国产suv精品一区二区四区999| 久久美女福利是上海美女| 国产欧美精选激情视频| 91成人高清在线观看| 国产精品白领在线观看| 国产精品剧情| 欧美激情综合| 四虎精品永久在线播放| 乱伦强奸区日韩| 欧美色图片| 东京太热男人的天堂久久久| 国产国产亚洲一二三久久| 大香蕉日亚洲日本亚大 | 黄色操人| se吧提供国产乱老熟视频胖女人| 女欧美一区二三区| 草草影院日本第一页| 亚洲国产精品成人综合| 欧美黄色片在线播放| 日韩性爱1级片视频| 亚洲AV麻豆Aⅴ无码电影一| 青娱乐淫乱1314| 69XX一中文字幕人妻91| 秋霞网—男女啪啪亚洲免费体验区 | 五月天婷婷色| 校园春色综合| 成人热久久精品| 国偷自 一区二区| 色与欲影视天天看综合网| 久久是精品| 亚洲色人阁| 亚洲在线欧美| 黄在线| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 国产强奸乱伦xd| 热久久国产| 欧美人妻久久精品二区三区| 在线啊v一区| 99热超碰在线| 毛片17S| 国产天天看| 人妻大相焦在线| 综合激情一一91| 美女91网址| 久久久久久久97| 天天日天天干天天操| 国产欧美日本亚洲精品 | 国产久久日韩网站导航| 麻豆 亚洲 97| 蜜臀久久99精品久久久久久酒店| 国产三级在线现体验区| 亚洲欧美中文日韩视频中国语| 日韩AV电影网站| 另类 综合 日韩 欧美 亚洲| 国产97av| 人人操人人插人人摸人人干| 蜜臀少妇一区二区| 中文熟女五十乱码在线| 思思热在线视频免费| 91足交| 日韩一级二级| 日本东京热大香蕉a片| 偷窥自拍亚洲| 中文字幕一区二区三区高清| 午夜福利久久久噜久噜久久综合 | 操婷婷逼| 97碰碰日本乱偷人妻中文的| 国产精品99999| 男女猛烈无遮掩视频免费软件| 91干熟女| 四虎在线观看网站| 日本天天人人狠狠在线日美女| 高凊专区人人操| 国产高清免费不卡av| 人人玩人人添人人澡免费| 操逼操操操91| 欧美亚洲高清不卡| 久久久久亚洲Av无码专区老牛影视| 国产一级内射无挡观看| AND人妻系列| 亚洲色电影在线| 亚洲国产麻豆一区二区三区| 欧美人妻色| 国产精品久久久久久久久久久久久久吹 | 亚洲超碰AV| 欧美熟女妇同| 欧美精品一区二区少妇免费A片 | 大香蕉五月天| 欧美亚洲在线| 日韩AV熟女乱伦| 97精品久久| 青椒国产97在线熟女| 性爱欧美五月| 欧美日韩性爱无码| 啊嗯嗯啊好大好爽| 凹凸视频特色日本特黄| 日本黄色精品| 欧美黑人性猛交91| 深夜福利黄片| 超碰97玖玖爱| 欧美日韩性爱无码| 国产女主播视频在线观看| 中文精品一区二去| 青青草在线视频播放器| 人妻天天操天天爽视频免费| 亚洲春色一区二区三区| 黄色高清久久无码依人| 久久激情亚洲精品无码?V| 五月天亚洲网| 五月天激情小说| 91丝袜在线播放| 99re6久热只有精品6在线直播 | 9久久美女首页| 人妻81p| 9ⅰ久久久天天| 91精品久久久久久77777| 亚洲女人91| 国产夜夜艹| 小日子操bb在线看| 亚洲伊人青青草| 97干日韩| 无码逼| 97精品在线视频| 亚洲人在线成线成人| 免费的黄片有限公司| 中文字幕无码不卡啪啪| 久久精品人体AV| 操人人| 好湿好紧视频| 熟妇一区二区三区| 午夜福利成人免费视频| 强被迫伦姧在线观看无码网站| 偷拍2020| 啊啊啊com| 亚洲美女自拍偷拍视频| 999久久久免费精品国产牛牛| 久久综合久色欧美综合狠狠| 男人的天堂不卡一区二区| 青娱乐福利99| 蜜臀AV午夜精品久| 肉丝无码中文高清| 国产夫妻一区二区| 日韩黄色成人性爱| 成人免费毛片| 九九九九AV| 久久大陆| 不卡超碰护士AV在线免费播放| 欧美人妻精品一区二区| 2023天天操夜夜操| 国产9熟妇视频网站| 久偷拍| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 国产视频97| 91天美传媒在线观看| 啊啊啊好爽快点啊啊啊嗯嗯| 欧美日韩岛国大片在线观看| 日韩欧美成人综合在线| 久久无码一区二区二三区性色| 91观看 国产白丝| 精品国产久久乱码| 精品九九九九九九九| 五月丁香六月激情| 国产吞精a级片激情电影| 亚洲欧美精品国产一区二区| 国产1024在线播放| 亚洲AV无码乱码| 色路综合| 五十路成人在线视频二区三区| 亚洲综合图文| 青青草视频在线观看一区二区| 丁香激情五月天| 一区二区三区欧美激情| 亚洲成人美女无吗| 亚洲精品xxx| AV在线性爱| 黑人精品XXX一区一二区| 风月影院十八禁| 日韩小电影| 一本久久久精品| 啊啊啊 在线| 人妻丰满熟妇av无码区蜜桃| 国产不卡的视频 | 性欧美另类高清| 成人情色一区二区| 99热精品在线| 97超碰jingpin| 九九热免费国产视频婷婷伊人五月 | 亚洲同性aV综合| 婷婷10月天青娱乐| 99re黄| 女优大全 - 91n| 天天肏天天干| 老熟妇乱轮| 91精品国产91久久青草| 日本黄色精品专区网站| 成人免费毛片| 久久精品国产亚洲AV嘿嘿| 国产在线激情视频| 人人干人人操人人..com| 欧美视频一区二区在线| 静品嫩模一区二区| 天美传媒一二三区永久网站| 欧美激情亚洲色图| 2017大香蕉国产精品久久| 欧美乱妇狂野欧美在线视频| 日本不卡一区二区三区| 一二三区精品视频| 91在线视频国产网站| 日韩欧美操逼xxx| 岛国网址国产 | 性开放中文AV高清无码免费看| www网站黄| 久久婷婷五月| 亚洲最大的黄色电影网站。| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 91色图| 国产自产自拍| 色五月综合| 蜜桃久久久久久| 亚洲色图伊人网| 91色欧美| 成人影院永久免费观看网址| 国产 三级自拍| 色精品极品| 精品一二三区四视频| 97欧美资源| 久久透逼视频| 五月丁香综合啪啪| 欧洲精品一区二区三区| 亚洲丝袜少妇在线| 最新中文字幕精品在线| 国产伊人自拍| 亚洲欧美内射| 国产日韩欧美中文在线播放 | 丁香六月激情| 国产精品青青草| 96久久久精品| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 在线综合色| 日韩欧美中文字幕搭讪巨乳美人妻视频| 日韩综合色图| 99久久久无码国产精品性男| 嗯嗯嗯,草死我| 竹菊一区二区三区AV线| 日韩熟女乱伦中出| 嗯嗯嗯嗯啊啊啊好紧好大| 欧美日日人人天天| 国产精品亚洲无码| a男人的天堂| 欧亚三区动漫| 国产97视频免费观看| 精品久久久久瑟瑟| 久久大| 色综合久久久久| 青娱乐手机日韩在线视频| 美女91网站| 丁香五月天堂网| 欲色啪| 人人操人人插人人摸人人干| 欧美性战999| 亚洲少妇在线观看| 丁香五月天啪啪| 男女性扦B| www.伪伪| 99久久综合| 丰满美女一级毛片在线播放| 久久9精品视频| 香蕉视频精品亚洲一区二区三区在线播| 亚洲暴力强奸AV| 欧美午夜视频| 美女极品一区二区三区| 2026国产精品视频| www.大香| 亚州男人的天堂| 91人妻精华帖| 国产精品久久久久久久久久久久久久久久 | 欧美亚洲在线| 婷婷五月色| 亚洲成人在线乱码色午夜| 激情视屏国产乱伦强奸| 亚洲麻豆18发?| 亚洲天堂无码| 欧美色吧综合| 九九热在线视频| 午夜精品久久久久久久第一页按摩| 凹凸视频特色日本特黄| 精品久久97| 久久99热这里只频精品6学生| 亚洲97资源| 婷婷午夜| 蜜臀99久久精品久久久懂爱| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 九九热免费视频| 国产精品视频在线观看| 少妇99成人麻豆| 日韩成人性日韩成人性爱视频在线免费观看| 欧美熟爽综合| 在线观看不卡一区二区三区| 动漫av中文| 欧美性爱系列| 国产综合久久久麻桃个| 欧美成人亚洲精品| 最新的亚洲无吗| 青娱乐 青青青操 日逼| 97国产超湿| av在线人气| 啊啊啊不要嗯嗯在线观看| 九九九九热只有精品| 色欲无码人妻日韩欧美精品| 97视频7| 国产AAAAAABBBBB| 无码操逼天堂| 一类无码操逼视频| 日韩在线观看三级电影| 久久青青草在线视频| 熟女精品va中文字幕| 最新亚洲风情电影| 青青青青操国内视频在线| 久久久久久久久久久精| 久久狠狠色噜噜狠狠狠狠97| 免费观看有码高清视频| 国产九月婷婷| 国产亚洲精品美女久久久m| 欧美少妇色图| 无码外流操逼视频| 加勒比在线视频| 日本一卡二区在线| 丁香五月天堂网| 亚洲一二三四区机械| 成人在线日韩| 日韩免费三级黄片电影| 92大香蕉| 青青草色情网站视频| 婷婷久久五月| 国产免费操逼| 亚洲欧美综合| 欧美天天影院| 九九自拍伦理| 91女网站| 99色天堂| 美國A片| 天天日天天操天天射河南省| 怡红院亚洲怡春院av| 亚洲一区二区三区麻豆传媒| 99热9| 欧美大香蕉专区网| 美国黄片aaa| 欧美天天性| 91亚洲黄色网| 久久久男人的天堂| 青草香蕉网| 香蕉99秘 精品一区丁香| 久久精视频美日韩在线视频| 免费观看国产不卡av| 高清有码一区二区| 无码人妻1727| 97网色| 91精品在线播放| 久草线上视频免费看| 亚洲美女30b| 91偷拍欧美亚洲| 欧美亚洲性爱一区二区| 超踫中文字幕| 欧美国产日韩清纯唯美| 精品久久久亚洲AV成人网站| 操逼逼福利视频| 国产熟女完整版中字| 内射夫妻三片| 日韩激情电影中文字幕| 26uuu最新| 成·人免费午夜在线观看| 欧美姓爱综合网| 亚洲欧美碰碰| 久久 精品| 91综合熟女| 91黑丝在线| 97视频网站| 91狠狠综合| 88xx成人精品视频| 精品国产无码中文| 免费αⅴ在线观看| 强奸乱伦Av网| 竹菊影视国产一区二区| 立川理惠无码一区二区| 99自拍视频在线| 99久久9| 在线观看AV不卡| 高凊专区人人操| 极品白嫩福利在线| 久久精品视频28| 搞中出视频在线观看| 国产精品久久久久久久久久久久久久久久 | 国产肏屁眼视频| 91AV天堂| 国产又黄又粗的视频| 樱花蜜乳av| 国产精品无码久久久久2028| 国产亚洲精品农村妇女 | 国产午夜精品理论片a大结局| 网友自拍第一页| 精品人妻中文字幕4399| 亚洲综合中文字幕有码| 丁香激情网| 熟女色图在线| 无码人妻毛片丰满熟妇精品区| 99久在线精品99re8蜜桃| 大香蕉一级黄色片久久| 日韩精品一区二区日韩| 六月婷婷色综合| 亚洲精品一二三四区| 色妇91| 欧美激情视频一区二区| 无码人妻一区二区三区色欲aⅴ| 操迟操逼在巾线Fre看| 亚洲日韩精品在线播放| 一道本东京热加勒比一区二区三区| 亚洲限制级| 人妻第一页| 日日干天天干夜夜爽| 黑丝自慰喷水网站| 久操B网| 东京热99999| 亚洲91色| 精品v日韩欧美国产| 中文伊人大香蕉视频| 天堂涩涩| 色综合加勒比| 国产做?爰片久久毛片?片美国| 久久黄黄| 在线小说视频一区| 婷婷操视频| 久久性视频| 久啪| 久久精品国产Aⅴ| 最新日韩黄片| 国产AV人人 夜夜人人澡| 国产激情在线| 美女极品一区二区三区| 人妻久热在线| 怡红院成人视频| 日韩精品黄片免费观看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 91精品人| 亚洲综合九九| 91强在线播放| 日韩免费福利在线观看| 中亚精品极乱| 亚洲欧美内射| 日本免费专区| 干b在线性社区| 亚洲毛片基地专区| 五月丁香色色网| 超碰一区二区| 中文字幕久热视频在线| 国产精品亚洲四五区在线观看| 中文字幕视频在线观看| 国产 v乱码一区二| 久久97超碰香蕉| 精品国产无码中文| 国产精品亚洲四五区在线观看| 香蕉视频精品亚洲一区二区三区在线播| 国产区性爱在线视频秋霞豆| 97超碰巨乳| 中文字幕日韩专区精品系列| 999久久久精品国产| 亚91网| 婷婷在线精品| 91中文字幕在线观看| 黄色在线网站| 蜜臀亚洲综合一二三四区| 99e久久国产精品| 二区熟妇韩日| 国产成久久综合片| 综合日韩激情另类图片| 搡老女人911熟妇老熟女| 99热亚洲天堂| 极品销魂美女一区二区| 亚洲国产一区二区三区在线| 亚洲色图欧美色图另类图片| 清柠毛片| 超碰在线一区| 熟女一区二区| 久久国产在线一区二区| 91国产大片| 91香蕉视频在线观看免费| 啊啊啊不要好爽日韩无码一区| 国产欧美日本亚洲精品| 中文字幕十五区| 6080YYY午夜理论片在线观看| 狠狠夜色午夜久久综合在线| 亚洲色图欧美色图日韩色图| 2019午夜福利视频| av天堂手机版追回| 9精品久久久久| 嗯嗯嗯好爽| A级国产欧美激情在线| 宗合情欲网| 狠狠色狠狠色狠狠五月| 欧美色图小说综合| 日本三级中国三级99人妇网站| 国产久久久| 欧色综合| 家庭乱伦网站国产| 综合色欧美| 视频在线观看一二三区| 亚洲一区操| 加勒比综合a∨| 99综合网| 69少妇一区二区| 黑人粗大V S日韩女优视频| 色五月婷婷久久| 亚洲国产成人精品久久久国产成人一区二区 | 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 精品久久久久成人码免| 国产亚洲人妻综合日韩 久久| 乱伦日本中文自拍| 日韩精品一区,二区 九九...老司机| 欧美黄色片AAAAA| 97久久久| 亚洲清纯唯美| 麻豆天美国美国产| 乱伦图av| 欧美色图亚洲激情| 久久人爽| 国产欧美日产一区二区三区 - 国产欧美日 | 人人爱人人乐人人操| 久久九精品| 婷婷五月天激情小说| 国产一区免费午夜视频| 后入合集| 白 大 人妻 区 在线| 啪啪啪大香蕉| 岛国激情视频软件| 亚洲天天更新| 91视频综合在线| 丝袜夫妻自拍| 精品成人av一区二区三区在线| 黄色免费一级在线毛片| 综合自拍| 后入式在线免费观看60秒| 69超碰综合| 8050午夜少妇无码| 免费国产电影一区二区| 91亚洲网站| 欧洲精品久久| 蜜桃久久久久久久| 337p大胆噜噜噜噜噜91Av| 亚洲性爱电影| 亚洲色图欧美色图另类图片| 国产蜜臀在线| 性色国产东北露脸精品视频| 大香蕉碰碰| 免费一级毛片在线视频观看| 51久久夜色精品国产麻豆| 69一区二区| 精品视频一区二区| 亚洲宗合网| 九热大香蕉| 久草综合京东| 99精品久久| 懂色AV蜜臀无码精品APP| 岛国激情视频在线观看| 操逼A∨| 神马麻豆福利院| 欧美激情 一区| 欧美综合色综合| 天堂综合| 男人精品天堂一区| 久操 高清| 国产熟女一区二区丰满| 欧美三级一级| 国产精品女同| 97网址www| 亚洲国男人的天堂| 91熟女熟妇视频网站| 天天做天天爱天天爽| 性爱av在线免费观看| 亚洲免费成人精品电影| 乱伦图av| 无码天天操| 国产成人一级av88| 国产A v无码专区| 免费αⅴ在线观看| 国产黄片精品在线| 无码精品人妻一区二区三区妖精| 午夜福利激情在线视频| 亚洲图片激情综合另类| 波多野结衣被操50分钟免费视频| 欧美真人抽搐一进一出gif| 在线视频亚洲无码| 国产在线综合福利网站| 少妇熟女1区2区3区| 欧美操人视频| 国产精品久久久久久久AV大片| 日韩99精品视频综合区| 18禁免费视频| 国产成人免费观看在线视频| 无码视频黄色网战| 91操人视频| 夜夜一区二区| 九九热五区| 91久久18禁| 新精精品久久精品| 久久久久极品| 欧美激情精品久久久久久| 亚洲男人天堂2017| 亚洲中文字幕在现观看| 亚洲欧洲日本精品中文a∨| 亚洲第一免费视频| www.av在线观看| 日本福利社| 黄色成品网站| 色天堂在线观看| 久久久免费高清中文视频| 欧美人妻少妇| 五月天婷婷在线看| 91快色色色色色| 任你艹| 午夜天堂精品久久| 丰满欧美放荡少妇在线| 亚洲性天堂| 26uuu欧美日韩| 五月婷婷丁香中文字幕| 天天综合91在线| 伦在线97| 久久高潮妇女视频| 亚欧毛片基地国产毛片基地| 在免费jIzzjIzz在线视频| 淮穴色AV| 欧美色日| 丝袜亚洲综合| 日韩丰满熟妇| www.97在线| 亚洲色图第一页| …亚洲黄色厕厕女女在线播…| 人人干黄色| 欧美婷婷| 久啪| 啪啪综合网| 日日碰狠狠添天天爽超| www四虎| 天天性射网| 亚洲精品性爱片| AA丁香综合激情| 91挑色欧美| 外站AV在线| 亚洲综合中文字幕有码| 亚洲色欲一区二区三区| 一本色道久久综合亚洲二区三区| 精品无码欧美三级| 久久99视频| 国产视频小说| 很很操在线| 超碰导航97| 91丨国产丨白浆秘 洗澡动漫| 九一国产精品| 久久久亚洲| AV无码久久久精品| 中文字幕av久久爽Av| 麻豆熟妇乱妇熟色A片在线看| 国产一区二区三区免费视频在性观看| 91热爆在线| 中文字幕AV片| 91一区二区三区蜜桃| 99热婷婷| 大香蕉伊然在亚洲91| 国产无码精品无码| 亚洲综合五月天| 少好三P| 影音先锋日本一区二区| 欧美制服网站美腿丝袜| 欧美色图另类图片| 免费在线观看国内色片网站网址| 97色欧州| 人人操,人人液| 亚洲91极品| 久久婷婷成人综合色怡春院| 日韩性爱电影一区| 大香蕉欧美国产日韩高潮| 亚洲97成人在线观看| 亚洲色鬼| 欧美加勒比| 九九精品热| 天天综合~91| 亚洲aV性爱| 国产AV人人夜夜澡人人爽麻豆| 日逼视频日本| 久久久久78| 亚洲国产精品成人综合| 欧美性战999| 思思久热在线精品66| 欧美日不卡| 91熟女视频| 欧美另类色| 日韩欧美亚欧在线视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 女人的久久久| 啊啊啊啊网站| 精品一区96| 欧美人人操人人插| 大香蕉国产中文自拍| 激情抓乳插进去啪啪啪日韩 | 欧美性猛交美女自慰91| 不卡日本一区二区| 中文伊人大香蕉视频| 日韩啊V| 91美女在线看| 91人妻中文| 18精品一二区| av天堂影视中文在字幕在线中文| 91bbb| 麻豆福利视频导航| 97人妻免费中文字幕| AV男人天堂网| 五月婷婷综合网| 欧美懂色综合网| 国产人伦精品一区二区三区| 免费av在线播放二区| 欧美亚洲se91| 欧美一区二区三区日韩| 春色91| 91在线视频免费中出| 人妻干天天| 91美女高潮| 亚洲天堂中文字幕无码男同| 人人操人人93| 色男人色天堂东京热| 亚洲黄网在哪免费看| 日韩啪啪视频| 久久超碰98| 操美女高潮抽搐白浆| 日韩欧美亚洲自拍偷拍| 久久夜夜夜| 亚洲AV成人无码一区二区三区在线观看| 日韩91网站| 久久久18禁| 亚洲欧洲网站免费观看| 亚洲欧洲激情卡通另类文学四射小说网站| 一二三啪啪专区| 激情综合网五月婷婷五月天| 久久αⅴ| 乱子伦一区二区三区国产精品| 翔田千里av一区二区三区| 亚洲av成人精品一区| 国外91| 午夜天天碰综合视频| 国产福利小视频高清在线观看| 日韩熟女精一区二区三区不卡| 97精品97| 天天日老熟妇| 黄色小视频日本txt| 久久性爱视频免费看| 亚洲第一男人天堂| 色女网日韩| 中文字幕在线免费观看视频| 国产家庭乱伦表演| 精品免费囯产一区二区三区 | 理论久久婷婷网 8| 探花在线免费观看视频国产一区| 91综合网站| 日韩综合97P| 一区二区三区日韩欧美| 久久精品99| 国产亚洲精品农村妇女| 伊人国产成人av网站| 亚洲成人帖图| 久久综合超碰| 无码一区二区三区四区五区六区七区八区九区十区视频 | 精品国产三级av韩国在线| 久久久久久99999国产精品| 久久只有精品一区二区三区| 激情婷婷| 久久三| 小视频国产| 精品人妻中文字幕高清| 91女色| 91精品操美女| 国产女人9999| 岛国人妻少妇av在线观看| 天综合网| 中文字幕在线免费观看视频| 亚洲1区2区三区高清中文字幕| 亚洲电影中字一区二区| 国产成人网| 日本操逼视频导航| 中国AAAAAA黄色片| 久久超碰com| 蜜臀Av一区二区三区| 欧美极品少妇| 精品中文日韩字幕视频| 亚洲黄日韩无码专区| 久久久久日本视| 天天影视网综合少妇| 久青草影院| 激情综合色| 婷婷伊人网| 2020国产精品| 六十路日本| 抽插无码高清一区| 黄片不用下载在线观看| 日韩欧美午夜视频在线| 国产精品人妻熟女aⅴ| 一个人免费视频观看在线WWW| 久久婷婷电影网| 最新亚洲黄色免费电影| 亚洲成a人v欧美综合天堂下载| 亚洲色宗合| 日韩小电影| 91视频综合| 精品免费视频国产一区| 国产高清自拍| 亚洲欧美日韩免费观看| 亚洲婷婷综合网| 无码人妻一区二区三区色欲aⅴ| 亚洲性爱成人| 无码高清操逼网址| 午夜操逼不卡| 中日韩久久久| 国产成人bd在线观看| 色综合久| 九九热精品| 青青国产精品在线| 精品国产污一区二区三区| 丝袜性亚洲| 97色妞| 日本最新1区2区3区| 亚洲情色无码一区二区三区| 亚洲资源吧| 亚洲男人天堂av| 欧美成人性爱视频在线播放| 国产精品日韩在线一区| 3d成人精品一区二区| 色五月婷婷色| 97网址www| 中文字幕AV片| 日韩精品亚洲一二三| 91麻豆天美| 草草影院日本第一页| 国产三级电影免费观看| 性爱动态120秒| 欧美日韩亚洲天堂网| 丝袜高跟澳门91视频| 久久在肏| 在线亚洲 欧美 日本专区| 东京热男人的天堂精品| 九九碰九九爱97| 欧美亚综合色图| 偷拍2020| 青青色在线观看| 丰满人妻无码一区二区三区| 91丨九色丨东北熟女| 秋霞男人网|