根據熱點分析報告,在成對距離計算範例的基本 NumPy 實作中,NumPy 操作和底層 oneMKL 函數消耗了總執行時間的很大一部分。透過較小的程式碼更改,將 NumPy 替換為NumPy 的資料並行擴充可以解決這些瓶頸。再次執行熱點分析,查看基本 NumPy 程式碼的效能改進,並確定進一步最佳化的空間。
VTune Profiler 也提供建議,例如使用Numba* 的資料並行擴充與平台的 GPU 為應用程式添加卸載加速器並行性。 Numba 是用於 NumPy 操作的 Numba JIT 編譯器的開源擴充。它為 Python 中的核心程 香港流動電話號碼表 式設計提供類似 SYCL* 的 API。然後,可以使用 VTune Profiler 的GPU 運算/媒體熱點分析預覽功能來分析 GPU 上的 Numba 實作執行情況。
→有關更多詳細信息,請查看VTune Profiler 手冊中的“分析資料並行 Python 應用程式”食譜。
注意:手冊中討論的範例程式碼僅用於說明目的。您可以類似地利用 VTune Profiler 工具來分析和最佳化您選擇的任何 Python 應用程式的效能。
使用英特爾® VTune™ Profiler 分析 OpenVINO™ 應用程式的效能
VTune Profiler 手冊中的另一個新秘技討論了使用 VTune Profiler 分析基於 OpenVINO 的 AI 應用程式。它討論了使用分析器工具分析 CPU、GPU 和神經處理單元 (NPU) 效能瓶頸。
基準工具應用程式作為OpenVINO 工具包的一部分提供
英特爾® oneAPI Base Toolkit(如果您的 OpenVINO 應用程式使用英特爾® oneAPI 資料分析庫 (oneDAL)和/或英特爾® oneAPI 深度神經網路 (oneDNN))
英特爾 Python 發行版
英特爾 VTune Profiler(v2024.1 或更高版本)
注意:有關硬體和裝置驅動程式要求,請查閱配方配置詳細資訊。
此秘技提供了設定 OpenVINO、建置 OpenVINO 來源以及使用 ITT API 配置 OpenVINO 進行效能分析的逐步說明。它使用參考基準應用程式來分析延遲和吞吐量,同時分析 AI 應用程式。
根據所使用的運算架構,您可以利用 VTune Profiler 的各種效能分析功能來識別熱點並檢查不同程式碼部分的硬體使用情況。例如,
使用熱點分析功能來分析 CPU 瓶頸,也就是消耗 CPU 執行時間最多的程式碼部分。
使用預覽功能GPU 運算/媒體熱點分析來分析 GPU 熱點。透過探索低效率的核心演算法、分析不同類型指令的 GPU 指令頻率等來了解 GPU 利用率。
AI PC 中的神經處理單元 (NPU) 專門設計用於實現 AI/ML 應用程式的效能提升。您可以使用英特爾® Distribution of OpenVINO™ Toolkit將運算密集型 AI/ML 工作負載卸載到英特爾® NPU。 VTune Profiler 的NPU 探索分析預覽功能可協助您根據各種硬體指標(例如工作負載大小、執行時間、取樣間隔等)分析 NPU 效能。
→請參閱VTune Profiler 手冊中的「分析 OpenVINO 應用程式」
食譜,以了解有關利用 oneAPI 支援的工具來
分析您選擇的 AI/ML 應用程式的詳細資訊。
接下來是什麼?
除了本部落格中討論的 VTune Profiler 食譜中描述的效能瓶頸分析和分析功能外,該工具還支援記憶體消耗和分配分析、I/O 效能分析、HPC 效能特徵分析等。立即開始使用VTune Profiler!
我們鼓勵您查看我們由oneAPI 支援的軟體產品組合中的其他AI、HPC和渲染工具。
使用 NumPy* 和 Numba* 的資料並行擴展修復效能瓶頸
-
- Posts: 20
- Joined: Wed Dec 04, 2024 4:47 am