この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel Vectorization Tools」の日本語参考訳です。
ベクトル化はもうひとつの並列性 ムーアの法則では、プロセッサーに集積されるトランジスター数は年々増加すると予測しています。増加したトランジスターは、マルチコアやパフォーマンスを向上するハードウェア拡張など、ハードウェア機能を強化するために使われてきました。インテル® プロセッサーは、インテル® SSE とインテル® AVX/AVX2 による SIMD (single instruction, multiple data) 並列をサポートする拡張を実装しています。 これらの命令は、データのベクトル要素を同時に操作します。ベクトル幅は、同時にアクセスできる要素の数を表しますが、新しいテクノロジーのプロセッサーが発表されるたびに拡張されています。拡張されたベクトル幅を効率よく使用して SIMD 命令の恩恵を得るには、アプリケーションはベクトル化される必要があります。 |
自動ベクトル化などの技術を利用することで、開発者のコードを非常に簡単にベクトル化することができます。これには、コードを変更する必要はありません。次は、パフォーマンスを改善するためスレッド化とベクトル化の両方を使用できるライブラリーを利用することです。一部のアプリケーションでは、インテル® Cilk™ Plus など特殊なビルドログの利用と機能を含む、より高度な技術がコンパイラーに情報を提供することが求められます。 ベクトル化のコードブックをダウンロードしてください。インテル® コンパイラーとライブラリーによって、アプリケーションの開発に使用できるシンプルでありながら強力なベクトル化技術が紹介されています。ベクトル化のコードブックをご覧になっている方は、下にあるタブのトピックをご覧ください。 ベクトル化のコードブックをダウンロード › |
学習ツール
C/C++ による OpenMP* 4.0 を使用したパフォーマンス・エッセンシャル (英語)
ベクトル化技術プレゼンテーションと将来に向けたアプリケーションのパフォーマンス (英語)
ベクトル化ツールキット – このツールキットは、ベクトル化によるアプリケーションのパフォーマンスを向上する 6 つの手順を示します。
インテル® ソフトウェア製品チュートリアル、インテル・ソフトウェア開発製品向けの入門ガイドとビデオ集
参考文献 (C/C++)
インテル® C++ コンパイラーによるベクトル化の紹介
インテル® C++ コンパイラーによるベクトル化へのガイド
ベクトル化の基本: 役立つ参考記事。
ソフトウェアによるベクトル化のハンドブック: パフォーマンスを最大化するためマルチメディア拡張を適用
ベクトル化: ベクトル形式で C と C++ コードを記述、インテル Developer Zone のナレッジベースとキーワードによる検索
インテル® Cilk™ Plus の初歩的な情報: 概要、ビデオ、導入ガイド、ドキュメント、ホワイトペーパーとコミュニティーへのリンク
SIMD 対応関数 (要素関数): インテル® Cilk™ Plus によって C/C++ のデータ並列コードを記述ベクトル化可能なループの要件
ループをベクトル化するための条件
新しい最適化レポートを使用してインテル® コンパイラーをさらに活用する
インテルの最新の並列化ツールによる明示的なベクトル化
ドキュメントと書籍
インテル® Parallel Studio XE Composer Edition for C++ ドキュメント: インテル® C++ コンパイラー向けのドキュメントが含まれます。
ソフトウェア最適化クックブック (第2版) インテル・アーキテクチャー向けのハイパフォーマンスレシピ
参考文献 (Fortran)
インテル® Fortran コンパイラーによるベクトル化の紹介
ベクトル化の基本: 役立つ参考記事。
ソフトウェアによるベクトル化のハンドブック: パフォーマンスを最大化するためマルチメディア拡張を適用: インテル® コンパイラーを使用してどのようにコードをベクトル化するか詳しく紹介。
ループをベクトル化するための条件
新しい最適化レポートを使用してインテル® コンパイラーをさらに活用する
インテルの最新の並列化ツールによる明示的なベクトル化
ドキュメントと書籍
インテル® Parallel Studio XE Composer Edition for Fortran ドキュメント
クイック・リファレンス・ガイド: インテル® コンパイラーによる IA-32 とインテル® 64 プロセッサー向けの最適化を紹介。
ソフトウェア最適化クックブック (第2版) インテル・アーキテクチャー向けのハイパフォーマンスレシピ
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください