解析モード#

解析モードでは、次を示すサマリーレポートが生成されます。

  • 安全に移行されたコード行

  • CUDA* と SYCL* 間の言語ギャップにより不完全に移行されたコード行

  • コードの移行を完了するのにどれだけの労力が必要になるかの見積もり

すべての移行の問題は、次の 3 つの手動作業のいずれかに分類されます。

  • 低労力: 開発者が数分で解決できる問題を示します。

  • 中労力: 解決に数時間かかる可能性がある問題を示します。

  • 高労力: CUDA* API や CUDA* ライブラリー API に対して、SYCL* と SYCL* エコシステム・ライブラリーで同等の機能がまだ提供されていないことを示します。この場合、開発者は機能を手動で書き直す必要があります。

解析レポートの例は次のようになります。


reduction.cpp:
 + 26 lines of code (100%) will be automatically migrated. 
     - 22 APIs/Types - No manual effort. 
     - 4 APIs/Types - Low manual effort for checking and code fixing. 
     - 0 APIs/Types - Medium manual effort for code fixing. 
 + 0 lines of code ( 0%) will not be automatically migrated. 
     - 0 APIs/Types - High manual effort for code fixing. 
reduction_kernel.cu: 
 + 77 lines of code ( 89%) will be automatically migrated. 
     - 7 APIs/Types - No manual effort. 
     - 63 APIs/Types - Low manual effort for checking and code fixing.
     - 7 APIs/Types - Medium manual effort for code fixing. 
 + 9 lines of code ( 10%) will not be automatically migrated. 
     - 9 APIs/Types - High manual effort for code fixing. 
Total Project: 
 +103 lines of code ( 91%) will be automatically migrated. 
     - 29 APIs/Types - No manual effort.
     - 67 APIs/Types - Low manual effort for checking and code fixing.
     - 7 APIs/Types - Medium manual effort for code fixing.
 + 9 lines of code ( 8%) will not be automatically migrated.
     - 9 APIs/Types - High manual effort for code fixing.

インテル® DPC++ 互換性ツールには、解析を有効にするコマンドライン・オプションが用意されています。

$ dpct --analysis-mode sample.cu

インテル® DPC++ 互換性ツールはレポートをファイルに保存できます。

$ dpct --analysis-mode --analysis-report-output-file=report.txt sample.cu