ツールの設定と基本的な使い方#

はじめに#

インテル® DPC++ 互換性ツールをインストールして設定します。

インストールとセットアップに関する情報は、インテル® DPC++ 互換性ツールの導入ガイドを参照してください。

基本的な使い方#

コマンドラインからインテル® DPC++ 互換性ツールを起動できます。ツールのコマンドライン オプションを使用して移行の手順を指示します。一般的なコマンド構文を以下に示します。

dpct [options] [<source0>...<sourceN>]

c2sdpct コマンドのエイリアスであり代わりに使用できます。

移行するディレクトリーまたはファイルを指定しない場合、インテル® DPCT は現在のディレクトリーにあるソースファイルの移行を試みます。デフォルトの出力ディレクトリーは dpct_output です。代替出力ディレクトリーを指定するには --out-root オプションを使用します。

オプションで、移行するソースファイルのパスを指定できます。コンパイル・データベースを使用する場合、コンパイル・データベース・ファイルでソースコードのパスを見つけることができます。

フォルダーオプションのサンプルでは、​​移行用のディレクトリーと特定の出力フォルダーを指定する例を示します。次に例を示します。

Linux*

dpct --in-root=foo --out-root=result/foo foo/main.cu foo/bar/util.cu

Windows*

dpct --in-root=foo --out-root=result\foo foo\main.cu foo\bar\util.cu

フォルダー・オプション・サンプルの使い方の詳細については、サンプルの README を参照してください。

Linux* での Make/CMake* を使用した完全なプロジェクトの移行#

プロジェクトで Make や CMake* を使用している場合、コンパイル・データベース・サポートを利用して、コンパイルオプション、設定、マクロ定義、およびインクルード・パスをインテル® DPC++ 互換性ツールに提供できます。次に例を示します。

dpct --compilation-database=compile_commands.json --in-root=. --out-root=migration

インテル® DPC++ 互換性ツールは、コンパイル・データベースを解析し、入力ソースを移行する際に必要なオプションを適用します。コンパイル・データベース生成の詳細については、コンパイル・データベースの生成を参照してください。

Needleman-Wunsch サンプルは、コンパイル・データベースを使用してプロジェクトの詳細をツールに提供し、Make/CMake プロジェクトを移行する例を示しています。

フォルダー・オプション・サンプルの使い方の詳細については、サンプルの README を参照してください。

Eclipse* の使用#

Eclipse* プラグインは、インテル® oneAPI ベース・ツールキットのインストール時に Eclipse* インスタンスを指定すると、自動的にインストールされます。

Eclipse* からサンプルにアクセスして使用するには、次の操作を行います。

  1. Eclipse* を開きます。

  2. [Intel] メニューから [Browse Intel® oneAPI Samples] を選択して、任意のサンプルを参照します。

  3. 新しいプロジェクトを開いた状態で、[Migrate Project to DPC++] を選択します。

    移行により新しいプロジェクトが作成され、Eclipse* ウィンドウに警告が直接表示されます。

  4. ソースの正当性の検証とインテル® DPC++ 互換性ツールが移行できなかったコードの修正。

Microsoft* Visual Studio* の使用#

Microsoft* Visual Studio* IDE からインテル® DPC++ 互換性ツール使用して、プロジェクトを SYCL* プロジェクトに移行できます。

ステップ 1: 既存のプロジェクトの選択と移行の開始

Microsoft* Visual Studio* の既存のプロジェクトを選択して移行を開始するには、次の操作を行います。

  1. [拡張機能] メニューから [Browse Intel® oneAPI Samples] を選択します。

  2. [Intel® DPC++ Compatibility Tool] カテゴリーから [Rodinia NW DPCT] を選択します。

  3. [プロジェクト] メニューから [Migrate Project to DPC++] を選択します。

  4. [Select Project to Migrate] ダイアログで [Browse] をクリックします。

  5. [Open] ダイアログでディレクトリーと既存のプロジェクト・ファイルを選択します。

  6. 移行する [Configuration][Platform] を選択します。

  7. [OK] をクリックします。

ステップ 2: 移行設定の指定

既存のプロジェクトを選択すると、[Migration Configuration] ダイアログが表示されます。これらの設定にはデフォルト値があります。新しいプロジェクト・ファイル名とディレクトリー、--in-root 引数、移行の追加オプションを含む設定を指定できます。

コマンドライン領域は読み取り専用で、プロジェクトの移行に使用されるコマンドラインが表示されます。

[OK] をクリックすると移行が開始します。

ステップ 3: ソースの正当性の検証

プリプロセッサー・ディレクティブを使用して宣言された変数を使用するソースコードの移行を確認します。移行されたソースコードを確認し、インテル® DPCT により警告が出力された場合は対処し、新しいプログラムの正当性を検証してください。

最も正確で詳細な警告の対処法については、サンプルの README ファイルの「Addressing Warnings in the Migrated Code (移行されたコードの警告の対処法)」を参照してください。

ステップ 4: 詳細な診断メッセージの確認

診断メッセージのを確認するには、[Intel® DPC++ Compatibility Tool] ビューのテーブルにある [Actions] カラムの [Help] ハイパーリンクをクリックします。診断メッセージが生成された理由と問題を解決する情報が表示されます。

オプションの指定

Microsoft* Visual Studio* でインテル® DPC++ 互換性ツールを使用する設定を指定できます。

  • 移行後に常に警告を表示するには、次の操作を行います。

    1. [ツール] [>オプション] [>Intel® DPC++ Compatibility Tool] [>General] を選択します。

    2. [Always show warnings after migration] オプションを [True] (デフォルト) にします。

    3. [OK] をクリックします。

  • コードを並べて表示するには、次の操作を行います。

    1. [ツール] [>オプション] [>Intel® DPC++ Compatibility Tool] [>General] を選択します。

    2. [Enable opening code side-by-side] オプションを [True] (デフォルト) にします。

    3. [OK] をクリックします。

  • ツールのバージョンを選択するには、次の操作を行います。

    複数のバージョンのインテル® DPC++ 互換性ツールがインストールされている場合、使用するバージョンを選択できます。

    1. [ツール] [>オプション] [>Intel® DPC++ Compatibility Tool] [Tools] を選択します。

    2. 上記のステップのドロップダウン・メニューからツールの適切なバージョンを選択します。

    3. (オプション) デフォルトのオプションを選択します。

    4. [OK] をクリックします。

サンプルコード#

インテル® DPC++ 互換性ツールのサンプルコードを取得して移行手順とツールの機能について理解します。

各サンプルの README では、サンプルコードの以降の手順が説明されています。

サンプル・プロジェクト

説明

Vector Add

単純な CUDA* プログラムを SYCL* へ移行する方法を示します。このプロジェクトを使用して、インテル® DPC++ 互換性ツールを使用するため、開発環境が正しく設定されているか簡単に確認できます。

Folder Options

より複雑なプロジェクトを移行する方法とオプションの使用方法を示します。

Rodinia needleman-wunsch

Rodinia Needleman-Wunsch サンプルコードを使用して、Make/CMake* プロジェクトを CUDA* から SYCL* へ移行する方法を示します。

oneAPI サンプルカタログ (GitHub) で oneAPI サンプルコードのリストを確認してください。これらのサンプルは、CPU、GPU、FPGA をターゲットとしたマルチアーキテクチャー・アプリケーションの開発、オフロード、および最適化を支援するように作成されています。

次の方法でサンプルを入手します。

  • oneapi-cli ユーティリティーを使用して、インテル® DPC++ 互換性ツールのカテゴリーからサンプルを選択します。

  • GitHub* からサンプルをダウンロードします。

サンプルコードをダウンロードする方法の詳細は、インテル® oneAPI ベース・ツールキットの導入ガイドを参照してください。関連情報: