プロジェクトの移行#

インテル® DPC++ 互換性ツールは、CUDA* 言語カーネルとライブラリー API 呼び出しをインテル® oneAPI DPC++/C++ コンパイラー (英語) の SYCL* ソースに移行します。通常、CUDA* コードの 90% - 95% は自動的に SYCL* へ移行されます。このツールは、自動的に移行できなかったコードの移行に役立つインラインコメントを挿入します。

CUDA‡ から SYCL‡ コードへの移行と開発ワークフロー

_images/cuda-sycl-migration-workflow.png

インテル® DPC++ 互換性ツールによる移行のワークフロー概要

  1. 移行する CUDA* ソースを準備

    ビルドして実行可能な CUDA* プロジェクトから開始します。インテル® DPC++ 互換性ツールは CUDA* ヘッダーを使用するため、ヘッダーにアクセスできることを確認してください。

  2. プロジェクトの移行

    インラインコメント付きの SYCL* コードを生成するには、元のソースを入力としてインテル® DPC++ 互換性ツールを実行します。

    単純なプロジェクトの場合、すべてのファイルを一度に移行するか、ファイルを 1 つずつ移行するか選択できます。

    複雑なプロジェクトは、Microsoft Visual Studio* プロジェクト・ファイル、または Make/CMake ファイルを使用して、プロジェクト全体を移行する際に使用するコンパイル・データベースを作成します。

  3. 変換されたコードを確認

    出力されたファイルには、自動的に移行できなかったコードの移行に役立つインラインコメントが含まれています。変換されたコードを開き、インラインコメントを参照して移行されていないコードを手動で移行する方法を考えます。

  4. インテル® oneAPI DPC++/C++ コンパイラーを使用してプロジェクトをビルド

    移行されたプロジェクトがインテル® oneAPI DPC++/C++ コンパイラー (英語) で正常にコンパイルされることを確認します。