インテル® MIC アーキテクチャー向けの高度な最適化 - ネイティブおよびオフロードのプログラミング・モデル
この記事は、インテル® ソフトウェア・サイトに掲載されている「Native and Offload Programming Models (PDF)」の日本語参考訳です。
はじめに
ここでは、ネイティブ・プログラミング・モデル、ヘテロジニアス・オフロード・モデル、Cilk_Offoad モデルを含む、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーで利用可能なさまざまなプログラミング・モデルについて紹介します。インテル® Xeon Phi™ コプロセッサー間とのデータ移動には大きなオーバーヘッドが伴うため、データの移動および転送の基本概念と、オフロードのデータの管理方法についても説明します。
目標
アプリケーションに適したプログラミング・モデルを特定するため、インテル® Xeon Phi™ コプロセッサー向けの 3 つのプログラミング・モデル (ネイティブ、オフロード、Cilk_Offload) を理解することが重要です。また、その一環として、データの移動に伴うオーバーヘッド、不要なデータの移動を回避する方法、ピーク転送レートを達成する方法も理解する必要があります。
トピック
ここでは、アプリケーションに適したプログラミング・モデルを特定するのに役立つ、オフロードモデルとデータ移動に関するトピックを紹介します。
-
ネイティブ・プログラミング・モデル (コプロセッサーで直接起動するアプリケーションのコンパイルについて説明します。)
-
ヘテロジニアス・プログラミング・モデル (メイン・ホスト・プログラムの実行とコプロセッサーへのコードとデータのオフロードについて説明します。標準のヘテロジニアス・オフロード・プログラミング・モデルと Cilk_Offload モデルをカバーします。)
-
ピーク転送レートを達成する方法 (データ移動の最適化について説明します。)
次のステップ
この記事は、「Programming and Compiling for Intel® Many Integrated Core Architecture」(英語) の一部「Native and Offload Programming Models」の翻訳です。インテル® Xeon Phi™ コプロセッサー上にアプリケーションを移植し、チューニングを行うには、本ガイドの各リンクのトピックを参照してください。アプリケーションのパフォーマンスを最大限に引き出すために必要なステップを紹介しています。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。