ホストでのみ実行するアプリケーションをビルドする

このステップでは、同じコードをコンパイルしてホストでのみ実行するアプリケーションを生成します。ここで示す方法を参考にして、コンパイラーによりオフロード言語拡張が無視されるコードをコンパイルし、アプリケーションがホストでのみ正しく実行されることを確認できます。ホストでアプリケーションを正しく実行できたら、そのコードをコンパイルしてホストとターゲットの両方で実行するアプリケーションを生成することができます。

  1. 次のコマンドを使用してソースコードをコンパイルします。

    icc -openmp -no-offload tbo_sort.c -o tbo_exe_CPU

    no-offload オプションを指定すると、コンパイラーはオフロード言語拡張を無視し、__INTEL_OFFLOAD マクロを定義しません。 #ifdef プラグマ には、ターゲットとターゲット固有の宣言子を検出するコードブロックが含まれています。

  2. 次のコマンドを使用してアプリケーションを実行します。

    ./tbo_exe_CPU

以前と同様に、アプリケーションは最初の 20 個の値を昇順で表示し、最初の 10 個の偶数、奇数、素数を表示します。ただし、コンパイラーは #ifdef プラグマ と __INTEL_OFFLOAD マクロを含むコードブロックを無視するため、ターゲットの数は表示されません。

このステップはチュートリアルの最後のステップです。


このヘルプトピックについてのフィードバックを送信