インテル® Fortran コンパイラー 14.0 ユーザー・リファレンス・ガイド

概要: ヘテロジニアス・プログラミング

このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。

ヘテロジニアス・プログラミングについて

コンパイラーには、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーで実行するセクションをオフロードできる、並列プログラムを単純に記述する言語拡張が含まれています。

実行はホスト CPU で開始し、ユーザー定義コードに基づいて、セクションがコプロセッサーにオフロードされます。

ヘテロジニアス・プログラミングは、従来の CPU プログラミングと異なる 2 つの点に対処する必要があります。

プログラミング・モデル

コンパイラーは、プリフィックス OFFLOAD_ の宣言子を使用して共有システムメモリーの不足に対処します。

このモデルは、ビット単位でコピー可能なスカラー、配列、構造体のような、フラットなデータ構造を扱う場合に適しています。

このモデルのデータはオフロードコードの前後で CPU とコプロセッサー間でコピーされます。転送のために選択されるデータは、(オフロード構造内で字句的に参照されるために) 暗黙で転送される変数と、宣言子の節で明示的にリストされる変数の組み合わせです。

このモデルで、構造がコプロセッサーで実行するように指定しても、その動作は保証されません。インテル® MIC アーキテクチャー・ベースのサブシステムが存在し、そのサブシステムをオフロードに利用できる場合にのみ、オフロードは成功します。オフロードに失敗すると、プログラムはエラーメッセージを出力して終了します。

最適化に関する注意事項

インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。

改訂 #20110804

関連情報


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