GPU 問題判斷 (僅限Linux®、Windows)
如果您在圖形處理裝置 (GPU) 上遇到應用程式處理問題,則可以啟用詳細記載以協助識別主要原因。 您也可以使用標準 SDK 追蹤機能來追蹤應用程式處理。
應用程式處理未卸載至 GPU 的原因可能有許多。 請檢查下列區域:
- 系統設定
- 檢查您的系統是否符合最低軟硬體需求,如 GPU 系統需求 (Linux,僅限 Windows)中所述。
- 系統配置
- 如果您已使用 -Dcom.ibm.gpu.enable 系統內容啟用 GPU 處理,則只有在值得從 CPU 移動該處理的額外負擔時, Java 虛擬機器才會卸載處理。 例如,在卸載 sort 作業之前,陣列必須符合大約 20,000 個項目的大小下限。 提供系統內容以驗證您的系統配置; 在指令行上設定系統內容 -Dcom.ibm.gpu.enforce 以強制 GPU 處理,而不論任何臨界值設定。 此內容僅提供用於驗證,且不得在正常情況下設定,否則應用程式效能可能會受到不利影響。
如果您已啟用 JIT 編譯器將處理作業卸載至 GPU ,則可以指定 -Xjit:enableGPU={enforce|verbose} 選項來驗證系統配置。 當設定此選項時, JIT 不會根據效能啟發式來判斷資料處理作業是否可以受益於 GPU 而非 CPU 上的處理。 請檢查詳細子選項所產生的系統輸出,以確認 JIT 是否已順利將處理移至 GPU。 如需相關資訊,請參閱 診斷 JIT 編譯器與 GPU 之間的問題 (僅限Linux, Windows)。
- 應用程式設計
- 如果您要透過在 CUDA4J 應用程式設計介面中指定類別來開發直接使用 GPU 的應用程式,請仔細檢查程式碼是否有錯誤。
- 如果您已使用 -Dcom.ibm.gpu.enable 系統內容啟用 GPU 處理,則可以透過將 -Dcom.ibm.gpu.verbose (僅限Linux, Windows) 設定為在詳細層次使用 GPU 追蹤作業,來開啟詳細傳訊。 訊息會列印至 STDOUT ,或可透過管道傳送至檔案以進行進一步分析。
- 您可以使用標準 SDK 追蹤機能來追蹤應用程式處理。 如需相關資訊,請參閱 GPU 追蹤選項 (僅限Linux、Windows)。
- 若要對 JIT 編譯器與 GPU 之間的作業進行疑難排解,請參閱 診斷 JIT 編譯器與 GPU 之間的問題 (Linux,僅限 Windows)。
附註: 關於 GPU 的使用,有一些已知限制。 如需相關資訊,請參閱: GPU 問題與限制。