色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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亚洲情色| 家庭乱伦麻豆| 91人妻做a观看视频| 爽 好舒服 无码刺激久久| 日韩av在线播放不卡| 伊人久久婷婷| 欧美日韩婷婷中文| 亚洲情色 无码专区| 熟妇一区二区| 成人三一级一片aaa| 9999免费精彩视频| 一区中文字幕二区日韩| 亚洲97精品| 国产福利电影| 色综合久久888| 操美女人妻| 白丝AV| 日本大香蕉综合网红本杳社区| 日韩情色一区二区| 大香蕉黄色一级片免费看| 极品欧美一区二区三区| 久久伊人五月天| 人人看人人插| 国产粉嫩出水在线播放| 国产伦精品一区二区三区视频女| 亚洲第一二区另类图| 97精品一区二区视频在线观看| 精品国产av一区二区三区四区入口| 人人操人人摸人人看人人干| 日韩熟妇二区| 三级色影综合网| 性色av大全| 国产极品美女高潮无套在线观看| 97精品一二区| 亚洲欧美91| 日韩欧美成人综合在线| 女人高潮抽搐喷水视频网站| 加勒比五月天| 色色毛片| 97亚洲在线| 亚欧性爱无码| 97综合在线观看| 亚洲交换| 日韩亚洲精品一区二区| 色爱欲亚洲| 久久啊啊啊| 国产精品爽爽va在线观看98| 91国产丝袜美女| 26UUU欧美日本| 日韩精品 资源| 亚洲综合骚逼| 日韩欧美操逼xxx| 人妻加勒比东京热| 国产日韩欧美中文在线播放| 91模特在线观看| 97超碰精品图片| 91c色| 东京成人一区| 超碰91在线| 色综合尤物| 免费97视频| 亚州熟女乱伦| 国产av青草| 密臀视频三区免费网站| 国产av美女被艹的乱叫| 欧美综合777| 一个色导综合| 亚洲第一页欧美| 麻豆精品.欧美精品.日韩精品.| 国产精品婬乱一级毛片彝族| SUV一区二区在线看| 狠狠婷婷亚洲中文综合久久| 97在线欧洲| 亚洲欧美综合| 99久久久无码| 69麻豆天美| 五月婷婷五月天| 五月天啪啪| 久久精品综合| 久久99亚洲精品久久99果| 欧美综合第一| 伊人热综合| 精品免费一区二区三区在线亚洲人成| 欧美人妻少妇| 殴洲老熟女| 在线观看不卡一区二区三区| 精品176精品2| 岛国毛片在线观看免费| 一区中文字幕二区日韩| 日韩字幕一区| 韩日精品福利视频一区不卡在线免| 日本爽爽爽爽爽爽免费视频| 日本 免费 一区二区三区 久久香蕉 | 久久老熟女| 五月天综合在线| 国产久久天堂资源| 国产亚洲在线观看| 农村女一级毛卡片| 91性生活久久久| 眼镜人妻101.com| 神马午夜久久久| 伊人丁香五月婷婷| AV色图| 亚欧Av| 日韩精品午夜操呦呦不卡影院| 91丨九色丨国产打屁股| 成人精品无码| 天天看高清麻豆| 中文字幕熟女人妻丝袜丝| 日本中文字幕在线视频| 青草成人免费视频一COm| 人妻天天夜夜爽一区二区| 久久男人的天堂| 成人精品电影| 日本1区2区不卡视频| 97精品中文字幕| 亚欧高清v| 亚洲图片欧美偷拍| 四月丁香婷婷| 成人 日本A片无码8888| 久热久操| 五月天婷婷色| 国产亚洲精品农村妇女 | 四虎AV在线观看| 欧美性暴力猛交| 99超碰色| 日韩精品 视频一区二区| 综合天天。| 99热在线播放| 亚洲一区二区久久久久| 伊人性在线视频| 日韩人妻少妇中文字幕| 日韩国产欧美伦理在线| 伦理第一页| 99久久无色码| 丝袜美腿制服人妻二区中文字幕| julia在线观看久久| 国产乱伦亚洲| 色综合大香蕉| 黑人精品久久97| 蜜桃传媒视频第一区入口在线看| 超碰视97中文| 九七超碰| 少妇人妻在线| 丁香色色网| 午夜小电影在线插入淫高潮| 国模91| 日韩一级二级| 欧美强奸乱| 天天做天天爱| 久久色AV线| 手机看片1024你懂的国产| 可乐操亚洲蜜911| xxx亚洲午夜天堂| 午夜福利视频在线一区| 欧美黄色大片在线观看 | 日本天堂网| 国产亲戚伦亲在线| 肏逼福利网站| 91欧美网| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 91社区伊人| 免费男人的天堂| n1038 一二三区| 免费一级性爱久久| 欧美性爽xyxOOOO| 99婷婷| 国产精品久久久吖| 日韩15p| 色老久久| 久久精9| 日韩精品99999| 无码国产Av| 天天爽天天操啊啊啊| 大香蕉之青青草原| 人妻一区久久二区三区色播| 蜜臀少妇一区二区| 在线观看色视频| 18禁在线视频| 97视频在线看| 久久久96| 俞拍久久国应视频| 国产AV天美传媒一区二区三区 | 人妻干天天| 一区在线精品中文字幕| 欧美日韩另类激情图片| 亚州色图欧美| 一区二区三区四区姦女| 精品一区二区三区最新| 深夜啪啪啪视频免费| 色官网在线| 久草视频在线视频在线视频在线观看| 日本三级A片网站com| 粉嫩av在线| 久久无码精品| 精品日韩| 91人人| 日韩97超碰中文字幕| 2024人人操人人摸| 婷婷综合网站| 大香蕉啪啪网| 国模精品一区二区三区苹果色戒| 九九色逼| 能看的AV| 999久久久久久久精| 啊…啊…操我用力操我| 综合熟女| 影音综合网| 免费看污网站| 伊人久久大香线综合无码| 精品国产一区二区三区久久久蜜臀| 亚洲一二三精品久久网| 亚州再线| 91久久伊人婷婷青青草| 97超级欧美| 亚洲色图加勒比| 99re在线观看| 日韩八十路老熟女| 亚州熟妇精品| 日韩欧美天堂| 大香蕉99999| 啊啊啊啊啊啊啊啊在线观看| 亚洲在线网站| 黄色电影在线播放综合网站| 日本午夜精品理论片A级APP发布| 97干在线| 久久精品72| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美最大综合网| 97人人干| 和协无码影院| 精品无码产区一区二| 亚洲影视第一页| 大香蕉中文网| 国产精品 视频| 日韩免费中文字幕视频| 在线一道啪| 乱伦熟女区| 欧美乱色| 中文字幕久久精品一区| 中文字幕精品亚洲熟女| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲999综合| 成人性爱视频在线看| 超碰午夜在线| 校园春色五月天| 少妇精品久久久八区九区| 国产激情视频在线观看| 日韩电影中文字幕| 天天影视色香色欲| 国产女人操逼视频| 亚洲激情综合| 一本大道久| 天天添天天干电影| 国产 无码 一区二区| 青青草原综合久久大伊人精品| 国产隔壁老王影院在线| 99熟女| 操死我干死我| 五月天久久人妻| 91免费看一区二区三区| 无码最新| 大香蕉乱伦视频网| 热久日综合| 十八禁黄色| 国产精品视频自拍在线| 久久这里只精品99re66图| 九九热免费在线国产视频伊人五月| 粉嫩久久久久| 91N综合网| 国产精品视频在线观看| 精品国产三级av韩国在线| 日韩精品亚洲专区在线影视| 精爱久久| 五月天婷婷社区| 日本熟女免费視颖| 啪啪91| 舔人妻中文免费视频| 国产亚洲色婷婷久久99精品91 - 百度 | 五月丁香黄色网| 日韩性爱视频免费在线 | 欧美激情精品久久久| aa片毛片| 超碰在线看| 9999亚洲电影| 日韩一级欧美一级国产一级台湾| 中国一区二区亚洲人妻| 10000部十八禁看电影| 男人的天堂三级| 91国产美女丝袜足交精品视频 | 啊啊啊啊啊啊在线| 成人精品久久久午夜福利| 丝袜 亚洲 偷拍| 成人黄页| 日小BB小视频| 精品久一区免费| 漂亮人妻被强中文字幕hd| 影视综合无码少妇| 日欧毛片久久| 免费观看国产小粉嫩喷水精品午| 欧美五区| 国产男女边吃边摸视频网站| 欧美性战999| 91少妇| 六九九九| 在线不欧美| 91狠狠综合久久| 97超级色碰碰| 404操逼福利视频| 91/欧美| 超碰在线欧美性爱激情| 欧美另类色| 欧美激情区| 极品极品色影院| 亚洲综合色在线| www.大香| 久久九操在线观看| 免费伦费视频在线观看| 校园春色宗合网| 精品高清一区二区三区三州| 免费97视频| 最好看的中文字幕在线2018| 午夜福利在线合集| 成人免费福利在线观看| 国产99999久久精品| 黄色人人| 日韩精品一区,二区 九九...老司机| 一区二区三区高清天码| 久久超碰98| 偷拍亚洲熟女视频播放| 97视频620| 一级性爱网| 亚洲激情 欧美色图| 国语精品对白| 日韩乱码av| 极品少妇久久久| 久久九色| 伊人久久AV诱惑悠悠| 人妻少妇一区二区| a'v在线资源| 91色图片| 国产精品麻豆视频网站| 激情专区综合| 91天堂| 久久老子无码午夜伦不卡| 91亚洲黄色网| 亚洲 日本 一 二 三| 欧美成人性活片| 亚洲熟妇乱女区二区三区| 乱伦熟女专区| 亚洲电影91| 欧美麻豆成人同性GⅤ在线| 午夜视频久久久| 天天操夜夜操| 国产福利电影| 91视频综合在线| 黄色片大香蕉| 老妇女91| 麻豆福利视频导航| 91强奸乱轮| 大香蕉中文在线| 日本少妇va7777| 黄色激情电影在线观看| 国产精品一二三| 亚洲色鬼| 欧美五十路熟| 性欧美第一页| 日韩内射视频| 日韩免费在线视频观看| 大香蕉性欧美| 91在线美女| 国产亚洲日韩在线三区黑人| 亚洲综合校园春色| 亚洲天堂电影精品一区| 国产精品成人无码a v毛片| 日本天天干天天搞一区| 乱色视频中文字幕| 婷婷色色五月天福利| 亚洲妇色| 免费A V在线| 一起草高清无码| 91n免费处女| 99热综合| 嗯啊视频免费在线观看| 国产suv精品一区二区四区999| 成人av影院在线观看| 天美久久久久| 九热大香蕉| 日韩性爱高清免费视频| 中文字幕精品一区二| 国产丝袜一区二区三区| 99re在线观看| 97福利视频| 翔田千里AⅤHD无码| 我爱操| 成人色女网| 亚洲午夜AV| 成人无码在线超碰网| 久久成人东京热人妻| 色女综合| 日韩精品99999| 殴美在线AⅤ| 国产在线综合福利网站| 天堂亚洲欧美| 97在线资源| 91大神电影天堂| 亚洲欧洲网站免费观看| 国产精品呦一区二区三区| 91 综合网| 91激情综合| 久久蜜桃综合网| 密桃99999| 东北丰满熟女国产一区| 三级日韩一区二区三区| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 欧美后入视频| 2025亚洲男人天堂| 婷婷激情啪啪| 一级aaaaa欧美中文字幕录像片| 亚洲毛片基地专区| 国产精品禁久久久精品| 亚洲精品白丝| wwe 天天干.com| 欧美综合站| 欧洲一级性爱视频在线观看| 亚洲一区二区三区播放在线| 东京热av男人的天堂| 丝袜AV一二三区| 色九九综合| 国产性爱在线视频一区二区| 俺去啦俺来也久久综合| 日韩成年人性爱视频| 校园春色亚洲色图| 天天综合麻豆视频| 亚洲性感丝袜诱惑在线观看| 少妇毛片久久| 成人AV素股で擦久久| 久久人妻办公室视频| 精品性爱无码在线播放| A片 AV一级在线播放观看免费| 国产精品久久久久久照片| 黄色片A级一区二区三区| V A在线| 又大又大又大又粗爽高潮观看 | 夜夜肏2021| 久久思思热| 操99| 在线观看国产黄色| 国产免a费看黄片在线| 老司机天天操| 亚洲黄色a级片| 3D污黄视频在线观看| 综合 欧美 亚洲 日本| 欧美激情另类一区二区| 色色香蕉| 久久久久久AV无码免费网站| 日韩一级特黄av毛片| 九色精品视频导航1| 中文字幕精品一区二区精| 伦伦成年午夜免费视频| 日韩A优精品在线观看| 高清无码 国产精品| 思思性爱| 成人片在线播放| 人妻熟女午夜精品在线| 日韩有码免费视频| 日韩激情小说一区二区| 亚洲一欧洲中文字幕在线| 在线中文字幕极品av| 一类av片在线看| 秋霞影音一区二区三区| 丁香啪啪| 国产性感骚丝袜在线| 久久精品老司| 免费草草草草草视频| 少妇天堂网络| 热的中文 热的有码 热的国产| 91日日夜夜| 人妻熟女一区二区在线视频| 亚洲成人贴图| 日韩性爱视频在线免费观看 | 中文AV制服乱伦| 日韩性爱视频在线免费观看| 中国亚洲呦女专区| 国产超碰国产97| 天天综合有色网| 欧洲精品久久| 久久精品无码一区二区三区| 午夜成人爽爽爽爽A片李冰冰| 俄罗斯一区二区视频在线观看| 91成人久久| 色爱综合网| 不卡人妻少妇精品毛片一区23区视频| 都市激情人妻一区二区青青操视频| 蜜乳av一区二区三区| 午夜精品久久99蜜桃的功能章节| J?P?NESEHD熟女熟妇伦| 欧美日韩国产高清在线一二三区| 五月婷婷综合网| 亚洲欧美性生活| 精品人妻视频一区二区在线播放| 天美传媒AV在线播放| 日韩免费在线视频观看| 亚洲第2页| 嗯嗯啊操我| 伦在线97| 少妇无码999| 久久性爱精品一区| 色综合五月天| 亚洲最新a在线观看| 五月婷婷六月丁香| 五月婷婷hd| 四季av一区二区凹凸精品小说| 日本阿v天堂在线观看| 国产操偷| 福利风月五月天影院| 狠狠干2020| 粉嫩av平台| 国产高清无码一区二区三区四区皇冠| 日本九九久久99播| 大香蕉日韩| 国产精品久久久久无码A√| 久久精品亚洲成a人天堂| 成人精品电影| 超碰吊日色| 国产成人精品必看| 91色艳| 色天使AV天堂| 一级毛片久久久久久久女人18| 性爱久久| 加勒比av中文| 久久在线观看免费视频| 丁香六月婷婷久久综合| 国产传媒一区日韩| 亚洲激情视频| 六月婷婷综合| 欧美亚洲国产日本在线,久久精品国产| 中文字幕一区二区三区50路| 欧美日韩国内不卡| 欧洲精品网| 综合伊人网12色| 国产精品一级毛片不卡视| 久热色情精品| 人人操人人摸超碰| 日本亚洲熟女视频| 亚洲宗合网| 九九视频黄色片| 大香蕉久久| 男人的天堂无码| 精品国产91av一区二区三区| 亚洲中文字幕妇伦久久| 97爱亚洲| 开心激情婷婷| 蜜臀久久99精品久久久久电影| 操高情无码| 操B久久| 精品无码欧美三级| 狠狠爱综合网| 极品少妇久久久久| 免费看久久久性性| 四虎在线观看网站| 男女激情黄色网址| 久久99精品九九久久久婷婷| av网站在线看| 97免费在线视频在线观看| 九九热国产| 在线只有精品| 久草精品热视| 9久精品| 欧美激情性爱视频网站| 99色日| 日韩性爱视频在线免费观看| 麻豆天美制片厂网站视频| 午夜成人爽爽爽爽A片李冰冰| 成人网站 免费观看| 欧美亚洲激情一二三| 国产精品人人爽人人做可爱福利| 日本免费不卡二区| av毛片aaaaa免费看| 日韩国产品视频中文字| 久久婷婷电影网| 9久久9综合| 男人女人18禁片免费看网站| oumeisetupian| 日韩字幕一区| 污污污8888| 久久riav中文精品| 丝袜色综合| 插日本熟女视频| 超碰97人人乐| 长长久久免费视频| 亚洲精品少妇| 97玖玖人妻| 黄视频免费| 国产中文福利| 久久精视频美日韩在线视频| 欧美BT 亚洲色图| 色色99| 欧美性xxxxx狂欢| 欧亚不卡| 国产97视频免费观看| 91狠狠狠| 丝袜熟女2P| 蜜臀AV秘一区翔田千里| 天天日美女的B| 2020国产精品| 视频不卡中文字幕| 久久久久ab| 亚洲蜜桃V妇女| 久草这里只有精品| 理论久久婷婷网 8| 精品久久久久久AV无码| 欧美综合传媒| 色婷五月天| 久久亚洲国产成人| 夜夜爽夜夜摸夜夜操免费视频| 午夜福利免费精品视频| 欧美啪啪色吧在线| 蜜桃视频一区二区三区在线观看| 啪啪啪精品| 欧美洲精品一级| 女人的久久久| 福利操逼| 人妻少妇久久| 嗯嗯嗯嗯啊啊啊好紧好大| 久久精品国产亚洲AV高清演员表 | 亚洲激情片| 99久在线精品99re8a| 久久久夜夜嗨免费视频| 国产亚洲色停停久久99精品91| 中文字幕神马久久| 好吊妞转入那个网| av亚欧| 欧美日韩国产色五月综合在线| 亚洲天堂区| 综合五月婷婷亚洲一区| 亚洲天堂资源网| 欧美亚洲高清不卡| 九色97| 精品亚洲黄色片 国产精品导航一区二区 | 亚熟hd视频在线| 大香蕉啪啪啪| 欧美性爱免费短视频| 东北女人高潮视频| 久久大陆| 国模一区二区三区| 思思热影视| 91精品国产91久久青草| 久久人妻一区二区三区高清| 中文字幕版| 精品人妻一区二区蜜桃视频 | 伊人网在线视频| 日本三级中国三级99人妇网站| 国产精品久久天天干| 青青草一区二区三区四| 超碰激情808| 色婷婷丁香五月天| 日韩卡一卡二卡三在线| 91综合无码| 偷拍五区| 玖玖综合色| 亚洲激情网一二三四区| 久久久久国产精品喷潮免费观看臀 | 久久久久9999精品九九九| 精品区国产区一区二区三区| 一级做a爰片性色毛片久久| 日韩大香蕉AV影片| 97精品视频免费| 亚洲综合97中文网| 欧美在线干| 日本视频在线观看污污污| av一区二区三区不卡| 人妻丝袜一区二区三区在线| 男人的天堂日韩| 欧美在线55555| 超碰国产情侣自拍网| 久久精品99| 人人操人人摸人| 神马久久久久久伦理片| 日韩免费av片高清无码| site:sinbotex.com| 日本黄色精品| 少妇特黄一区二区三区| 欧美综合 站| 99re3这里只有精品| 日韩高潮一区| 六月婷婷色综合| 91在线视频观看国产| 欧美爱三级日韩久久| 亚洲春色一区二区三区| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 黄色操人| 美女操逼A A| 日韩操啪| 日本αv| 九九久久玖玖| 亚洲国产精品无石码久久| 国产日韩怡红院| 久久久青青草| 精品日日人妻| 97欧美综合网| 加勒比综合88| 国产精品第一页国产大屁股视频免费区 | 97超碰精品| 中文字幕后石码四区五区| 少妇无码999| 美女久久久久久久久久久| 99热这里只有精品1| 中文久久96| www被窝色com| 国产九九九九九九| 亚洲在线综合| 人妻第一页| 婷婷激情丁香| 一本久道久久综合狠狠爱一密臀精| 成人性交午夜免费片| 欧美性色网| 国产丝袜啪啪| 国产60页| 男人午夜天堂| 欧美福利视频啊啊啊啊| 免费一级性爱久久| 操国产逼| 翔田千里一区二区三区奶水| 色呦呦呦在线观看视频| 欧美日韩操逼嗦吊| 五月丁香在线| 91女在线观看| 国产精品久久久777| 亚洲鸥美色图| 偷窥自拍亚洲| 欧美激情综合| 人人操人人摸人人看人人插| 国产综合在线视频网站| av在线观看不卡网站| 欧美黄片免费在线观看视频| 亚洲国产高清福利视频| 亚洲欧洲另类| 色女网日韩| 素颜老阿姨乱情色| 久啪视频| 亚洲精品久久久久毛片A片拉屎 | 欧美日韩97| 欧美成人一区二区| 乱欲性色| JuliaAnnXXX888| 97超碰人人模人人拍人人| 中文AV制服乱伦| 日本熟女不卡视频| 精品在线观看视频在线| 色九九九九久| 超碰这里只有精品| 国产欧美另类久久久精品课程| 大黄片做爱的大的| 久综合国内精品自在自线| 亚洲最新av无码成人精品区| 这里有精品| 操淫穴亚洲五月丁香 | 国产精品一级特黄aaa大片在线观看| 亚洲最大AV网| 欧美色图天堂网m| 国产精品一区二区麻豆| 国内偷自视频区视频综合| 激情开心五月天| 亚洲日本天堂| 丁香六月激情| 伊人久久国产免费观看视频| 99热一区二区三区四区| 日韩人妻播放| 97人人爱人人做人人乐| 女人天堂av在线播放| 亚洲性爱无码乱伦av| 亚洲少妇色图自慰直播| 78超碰| 乱伦系列一区二区| 素人无码中文字幕| 51久久夜色精品国产麻豆| 天天射网| 精品午夜福利导航| 少妇一线天久久久久久| 五月天人妻综合| 日韩无码视频黄色| av操操不卡| 碰碰97| 色五月婷婷五月天| 99rre在线精品99re8| 都市久久精品激情亚洲| 日本天堂网| 久久久久96| 操逼视频亚洲| 狠狠干妹子| 欧美网站免费| 欧洲自拍第一页| 亚洲精品人妻在线| 日韩av色图| 丝袜剧情| 中文在线视频| 国产精品免费美女视频| 日本免费一区二区不卡| 国产精品无码AV网站| 神马午夜久久久| 天天干天天中出av| 蜜臀AV秘一区翔田千里| 欧美曰韩国产精品| 一级黄色视频网| 日本新免费二区三区| 久操网无码在线| 亚洲久久东京热一二三四五区视频| 精品少妇人妻av久久免费| 丝袜狂射91| 国产精品秘 福利姬在线观看| 香蕉综合网| 蜜桃精品一区二区三区ww| 久久嫩草| 91丝袜美女| 岛国激情视频在线观看| 精品人妻视频一区二区在线播放| 日本狂喷奶水在线播放212| 好看的久久不射无码影视影院| 亚洲熟女乱色一区二区三区| 亚洲资源网| 性色av婷婷久久一区二区点复制| 亚洲综合性网址| 超碰在线国产| 啊啊啊好多水| 亚洲 图片 欧美 色图| 午夜啪啪片| 久久婷婷成人综合色怡春院| 日韩AV色图| 岛国在线一区二区三区| 青青草在线视频播放器| 77777亚洲蜜臀精品久久综合蜜臀| 五月天婷婷在线看| 98超碰日本| 后入美女国产| 久久社区一区二区三区| 欧美色青| KK色在线影院| 日本精品人妻少妇一区二区| 久久精品国产72国产精品福利 | 东京热精品97综合网| 免费AV播放| 国产第12页| 亚洲在线91| 超碰免费欧美7| 久久久久免费少妇| 另类TS人妖一区二区三区| 97二区四区| 无码日韩网站| 国产老太乱伦一区| 欧美一二级| 亚洲欧美另类少妇精品| 小情侣高清国产在线视频| 欧美成人免费在线观看| 999久久芭蕾| 后入美女国产| 2026国产精品视频| 欧美成人A√在线一区二区| 美国三级日本三级久久99| 91在线免费观看处女| 插欧洲美女欧美精品| 亚洲AV成人无码一二三久久 | 99人妻| 日本性一区| 久久综合女优| 人人喜人人妻| 97操操| 精品一二三区久久AAA片| 求求你操操我| 亚洲男人的天堂亚洲| 色踪合AV| 精品一区二区麻豆| 大地资源在线观看中文第二页| 日本精品中文字幕视频| 亚洲成人贴图| 91制服丝袜| julia ann久久| 囯产操逼片| 成人夜夜| 欧美九一精品久久久熟妇| 亚洲欧美国产中文字幕| 2001天天操| 天天影视网综合少妇| 97人人干| 99人人干| 亚洲一区日韩精品中文字幕| 欧美综合1性辶| 91在线一起| 欧美色图成人网一区二区 | 色妇综合网| 久久老熟女| 欧美在线综合| 亚洲999综合| 中文字幕精品一区二区精品| 九九人人操| 亚洲国产无码精品首页久久久| 国产中文字幕曰本毛片| 激情抓乳插进去啪啪啪日韩| 亚洲国产精品无石码久久 | 狠狠狠狠狠狠| 五月激情小说| 中文字幕黄色一起草| 亚洲情色1区| 久久亚洲熟妇在线视频| 2019天天操天天爽天天拍| 久操在97| 日本天天干天天日一区| 97爱啪| 久久久久99精品成人片蜜臀| 亚洲精品99999| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 99r九九| 日韩国产十八禁| 91爱欧美| 99热这里都是精品| 大香蕉日韩欧美| 天啪| 中国AAAAAA黄色片| 亚洲av影音先锋| 国产亚洲精品自在线亚洲情侣| 超碰99在线观看| 九九热精品免费视频| 色女综合| 大香蕉92| 蜜臀久久99精品久久久久久酒店| 免费人成毛片乱码| 乱伦图av| 欧美性巨大╳╳╳╳╳高跟鞋| 日韩懂色网| 欧美啪啪啪91| 91丨国产丨白浆秘 洗澡动漫| 中日韩免费看男女操逼大全| 伊人丝袜美腿高跟在线观看高清| 天操老女人| 色欲久久99精品久久| 欲香欲色综合天天伊人| 三男一女不戴套的A片| 久久这里是精品| 涩涩五月天| 久久9亚洲| 九九热视频这里只有精品| 天天干夜夜| 精品亚洲| 欧美做爰无码A片视频| 天天日B狠狠操| 黄久在线| 12一15性XXXX粉嫩国产| www熟女乱伦com| 97干在线视频| 九九热超碰97亚洲最新香蕉 | 日韩精品亚洲专区在线影视| 农村妇女一级二级三级视频| 欧美韩日精品资源| 火箭成精品视频884必出精品| 人人摸人人摸人人干| 日本人体九九九九九九| 97超碰精品成| 婷婷伊人五月| 久久伊人大香蕉| 日韩精品一区,二区 九九...老司机| 久久91| 久热大香蕉| 激情综合av| 日韩国产精品人妻无码久久久| 中文字幕性感少妇av| 成人精品视频| 免费无码婬片AAAA片直播色戒| 蜜乳AV一区二区三区四| 区一在线观看| 色777999综合| 无码人妻精品一区二区中文| 日本不卡三级网在线播放| 亚洲九九视频| 国产精品久久伊人| 国产欧美伊人| 大香蕉草草| 强奸乱伦动态污图免费| 亚洲综合色男人网| 国产诱惑| 91伊人久| 日韩超碰精品综合| 亚洲色图欧美激情| 东京热男人的天堂网| 国产91丝袜 在线播放| 欧美亚洲日本激情在线| 天美传媒AV国产在线| 人妻无一区二区三区| 久jiu久神马影院| 人人妻人人爽| 99色在线| 91色夜| 五月激情小说| 日本在线999| 亚洲天堂久久| 四虎精品亚洲| 99爱在线视频| 欧美色图20P| 99亚洲精品| 色香av| 天天欧美色| 欧美综合另类| 99热婷婷| 黑人在线91| 婷婷色导航| 美欧色综合| 欧美激情在线观看视频| 色综合九九| 欧美激情精品久久久| 最好看的中文字幕在线2018| 香港日本韩国人妇99www.wccm20| 欧美色宗合| 欧美精品偷拍| 国产啊v在线免费播放| 97亚洲国产| 一区在线国产播放| 日日躁夜夜躁狠狠躁超爽| A久久| 最新亚洲黄色免费电影 | 最新欧洲欧美日本激情网站| 猛猛干| 粉嫩少妇自慰在线| 亚洲第一黄色av网站| 男人的天堂com| 亚洲天堂区| 男女做爰猛烈动高潮A片免费应用| 禁十八久久| 久久99午夜精品一区人妻| 97少妇人妻中文字幕久久 | 18禁在线视频| 亚洲欧洲无码一区夜| 婷婷操逼| 亚洲欧美小说| 色婷婷淫色网| 成人av动漫在线观看| 国产乱子伦久久精品综合一区二区三| 日韩在线女优天天干| 日韩三A大片在线观看| 色哟哟av网址| 91人妻人人妻| 亚洲精品一二区| 一区二区视频在看| 曰本熟女视频| 久久99综合| 超碰在线欧美性爱激情| 欧亚日韩综合精品国产| 五月丁香婷婷啪啪| 黄视频免费| 国产三级中文字幕粉嫩| xxx亚洲午夜天堂| 欧美日韩 强奸乱伦| 性色亚洲| 天天操天天看| 久久久99久9| 操逼片中文| 日韩精品字幕| 在线播放欧洲免费av| 少妇天堂网络| 99久久网站| 操迟操逼在巾线Fre看| 超碰人人干天天射| 天天天天做夜夜夜夜做| 屌逼麻豆| 偷看洗澡一二三区美女| 国产操逼网站亚洲一级黄色| 婷婷20月天青娱乐| caopeng97人妻| 国产黄a三级三级三级av在线看| 一区二区三区黄色片a| 91操熟女| 国产精品另类一区大香蕉| 99久久综合| 五月婷婷激情综合| 艹比视频国产精品| 日本成人免费一区二区三区| 蜜臀网 一区| 久热精品色情| 高凊专区人人操| 九九无码| 欧美成人一区二区三区在线播放 | 国产少妇内射| 国产精品天干天干综合网麻豆 | 亚洲九月丁香| 午夜福利国产欧美日韩夜夜| 久久久91| 天天操熟妇| 亚洲欧洲激情| 超碰97玖玖爱| 蜜臀亚洲中文| 999久久久精品国产| 色狠狠综合| 亚乱色| 把腿张开老子CAO烂你| 欧美+日产+中文| 91精品人妻一品二品三品| 国产精品。| 一区二区三区四区五区高清无码永久视频 | 日本道人妻久久久在线不卡色视频| 亚州色国| 自拍欧美| 歐美性天天| 日本一天色道久久久精品视频| 久久丁香五月天| 欧美日韩系列| 国产精品乱码久久久久久| 欧美三级免费伊人| 东京热一区二区三区四区五区六区| 亚洲男人天堂Av| 小少妇| 丁香五月天啪啪| 天天干少妇| 激情综合网激情五月天| 五月丁香| 日本天天色| 亚洲色吧网| 可能人人看人人摸| ..日韩av毛片精品久久久| 亚洲欧美日韩中文播放| 毛片一区二区| 日韩操p| 久久精品国产亚洲妲己影视| 成人性爱AV在线免费观看| 成人一二| 麻花豆传媒剧国产MV出差| 免费观看国产小粉嫩喷水精品午| 国产一级137片内射麻豆| 天天操天天射天天日| 性在久久久久久| 国产JDAV无码视频在线观看| 成人小说视频在线精品欧美| 久久人人舔人人爽舔人人av片| 顶级丝袜熟女一区二区三区| 亚洲国产无码精品首页久久久| 去干网最新版| 丝袜熟女2P| 男人的天堂激情| 国产亚洲精品美女| 茄子社区国产精品| 久久啊啊啊| 9丨久久九九九| 国产精品久久| 国产成人欧美一区二区三区的国产| 在线观看高清AV| 国产精品久久伊人| 五月婷色| 亚洲视频一二区| 日本不卡二三区| 国产精品白丝AV| 中文字幕丰满人妻日本| 伊人网青青| 韩国一级婬片A片AAAAA| 长长久久88视频| 成人精品一区二区三区| 天天看特黄的免费网站| 久久天堂网| 最新亚洲黄色免费电影| 精品毛片av一区二区|