インテル® Xeon Phi™ コプロセッサーへのワークロードの適合性を評価する

この記事は、インテル® デベロッパー・ゾーンに掲載されている「Is the Intel® Xeon Phi™ coprocessor right for me?」の日本語参考訳です。


皆さんは、インテル® Xeon Phi™ コプロセッサーの詳細情報と、自分が開発するアプリケーションにとってインテル® Xeon® プロセッサーが役立つかどうかをお知りになりたいでしょう。この記事では、ご自身のアプリケーションにとってインテル® Xeon® プロセッサーで開発を続けることがベストなのか、あるいはインテル® Xeon Phi™ コプロセッサーをプラットフォームに追加することでアプリケーションのパフォーマンスが向上するかを簡単に評価するプロセスを紹介します。このプロセスは、インテル® Xeon Phi™ コプロセッサーを最大限に活かす並列化、ベクトル化、メモリー帯域幅に注目します。これらに重点を置くことは、アプリケーションをインテル® Xeon Phi™ コプロセッサー向けに準備するだけでなく、インテル® Xeon® プロセッサー上でのパフォーマンス向上にもつながります。


詳細なガイドについては、こちらをクリック

1. ISV アプリケーションか? 社内アプリケーションか?

社内/オープンソース/その他の新しいワークロードおよびアプリケーションを開発していますか? それとも、サードパーティー製の「市販」アプリケーションを開発していますか? 「社内」の場合は 3 へ、そうでない場合は 2 へ進んでください。

ヒント: 多くのサードパーティー製アプリケーションは ISV で作成されています。

2. インテル® Xeon Phi™ コプロセッサーをサポートするか、またいつサポートするかを ISV に問い合わせる

多くの場合、アプリケーションはインテル® Xeon Phi™ コプロセッサーが持つ高いレベルの並列性をフルに活かすことができません。その場合、引き続きインテル® Xeon® プロセッサー上でアプリケーションを実行することがベスト・パフォーマンスをもたらすでしょう。インテル® Xeon Phi™ コプロセッサーに適したアプリケーションについては、現在多くのサードパーティー・プロバイダーが製品の認定に取り組んでいます そのため、アプリケーションのプロバイダー (ISV やサードパーティー、コンソーシアムなど) へ直接問い合わせて、インテル® Xeon Phi™ コプロセッサーをサポートする予定があるかどうかを確認してください。 サポートされる場合は 7 へ、そうでない場合は 6 へ進んでください。

3. ワークロードが 100 以上のスレッドへスケーリングできるか?

インテル® Xeon Phi™ コプロセッサーで、インテル® Xeon® プロセッサーが達成可能なパフォーマンス・レベルを超えるには、多くの並列処理 (マルチスレッドなど) が必要です。ワークロードが適していれば、並列プログラミングを行うことで、コプロセッサーは高いパフォーマンス・レベルを実現できるでしょう。最低でも、コードは 100 以上のスレッドへスケーリングできますか? 「はい」であれば 4 へ、そうでない場合は 6 へ進んでください。

ヒント: スレッド・スケーラビリティーを測定する方法は、このドキュメント の 11 ページを参照してください。

4. ワークロードは大きなベクトルによる恩恵を得られるか?

従来の MMX、SSE、AVX のベクトル機能とは違い、インテル® Xeon Phi™ コプロセッサーは広い 512 ビットの SIMD ベクトルを備えています。マルチスレッドに加えて、ワークロードはこの広いベクトルユニットを活用して大幅にパフォーマンスを向上できなければいけません。アプリケーションはベクトルユニットの恩恵を得られますか? 「はい」であれば 7 へ、そうでない場合は 5 へ進んでください。

ヒント: ベクトル化を測定する方法は、このドキュメント の 12 ページを参照してください。ベクトル化については、この Web ページにある “ベクトル化 のコードブック” を参照してください。

5. ワークロードは大きなメモリー帯域幅の恩恵を得られるか?

ベクトルユニットの恩恵を十分に得られなくても、インテル® Xeon® プロセッサー上で実行中にメモリー帯域幅によって制限される場合、ワークロードはまだインテル® Xeon Phi™ コプロセッサーに適した候補である可能性があります。アプリケーションはインテル® Xeon® プロセッサー上でメモリー帯域幅によって制限されますか? そして、高い参照の局所性があり、主要な演算でキャッシュを利用しますか? 「はい」であれば 7 へ、そうでない場合は 6 へ進んでください。

ヒント: 帯域幅、局所性、キャッシュの利用の関する詳細は、このドキュメント の 12、16 ページを参照してください。

6. インテル® Xeon® プロセッサー

これまでの回答によると、アプリケーションは引き続きインテル® Xeon® プロセッサーで最高のパフォーマンスを得られるでしょう。インテル® Xeon Phi™ コプロセッサーの詳しい適合性条件と並列プログラミングについては、こちらを参照してください。

7. インテル® Xeon Phi™ コプロセッサー

これまでの回答によると、アプリケーションはインテル® Xeon Phi™ コプロセッサーの高度な並列パフォーマンスを得られる可能性があります。購入については、「where to buy」ガイドをご覧ください。開発者向けの Web ページ書籍も参照してください。

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

Pocket


FavoriteLoadingお気に入りに追加する

, , ,


関連記事