1. 程式人生 > >CUDA 學習(二十二)、優化策略7: 自調優應用程式

CUDA 學習(二十二)、優化策略7: 自調優應用程式

一、概述

       考慮如下一些主要的因素:(1)主機到GPU 的資料傳入/ 傳出;(2)記憶體合併;(3)啟動配置;(4)理論上和實際的佔有率;(5)快取利用率;(6)共享記憶體使用率以及衝突;(7)分支;(8)指令級並行;(9)裝置計算能力;

二、識別硬體

         在任何優化過程中的第一步都要知道什麼硬體是可用的以及它是什麼。

三、裝置利用

        在確定我們擁有什麼樣的硬體後,必須利用它。在許多情況下,啟動配置是影響效能的主要因素。第一部分是確保在生成的過程中建立了多個目標,併為打算支援的每個計算能力建立一個目標。根據核心執行在哪個GPU 上,會自動選擇目的碼。同時確保執行任何效能測試前,選擇了釋出模式作為生成的目標,這可以提供多達2倍的效能提升。根據啟動配置,我們要儘量優化以下方面:每個塊的執行緒數、全部的塊數量、每個執行緒執行的任務(指令級並行)。

四、效能取樣

       自調優程式的最後一部分是取樣。根據其特點,設定最適合的啟動配置,每個顯示卡都將有一個峰值。不同的顯示卡有不同的設定。費米顯示卡的每個執行緒適合有192或256 個執行緒,然而之前的GPU 適合於設定每個塊128和192個執行緒。