インテル® Xeon Phi™ コプロセッサーを使用することで、コードのセクションをオフロードして、ホストとターゲットの両方でコードを実行することができます。デフォルトでは、インテル® コンパイラーはホストとターゲットの両方で実行するようにコードをコンパイルしますが、このアーキテクチャー向けのアプリケーションの記述は、単一ホスト向けのアプリケーションの記述と次の点で異なります。
ホストとターゲットで使用される命令セットは似ていますが同一ではありません。
ホストとターゲットは共通のシステムメモリーを共有しません。
これらの違いを考慮するため、インテル® コンパイラーには、同様の命令セットおよびメモリー管理を制御する複数の言語拡張が含まれています。このチュートリアルで使用するコードは、これらの言語拡張を使用して、コプロセッサーにオフロードできるセクションを指定し、ホストとターゲット間でデータ転送を行っています。デフォルトでは、コンパイラーはホストとターゲットの両方で実行するアプリケーションを生成します。コンパイラー・オプションを使用して、ホストのみで実行するように同じソースコードをコンパイルすることもできます。
このチュートリアルで行う作業は次のとおりです。
コードをコンパイルしてホストとターゲットの両方で実行するアプリケーションを生成します。
ターゲットの数を特定するコードを確認します。
コプロセッサーにオフロードされるコードのセクションを確認します。
同じコードをコンパイルしてホストでのみ実行するアプリケーションを生成します。
このチュートリアルには Linux* 版と Windows* 版があります。