インテルのベクトル化ツール

この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel Vectorization Tools」の日本語参考訳です。


ベクトル化はもうひとつの並列性

ムーアの法則では、プロセッサーに集積されるトランジスター数は年々増加すると予測しています。増加したトランジスターは、マルチコアやパフォーマンスを向上するハードウェア拡張など、ハードウェア機能を強化するために使われてきました。インテル® プロセッサーは、インテル® SSE とインテル® AVX/AVX2 による SIMD (single instruction, multiple data) 並列をサポートする拡張を実装しています。 これらの命令は、データのベクトル要素を同時に操作します。ベクトル幅は、同時にアクセスできる要素の数を表しますが、新しいテクノロジーのプロセッサーが発表されるたびに拡張されています。拡張されたベクトル幅を効率よく使用して SIMD 命令の恩恵を得るには、アプリケーションはベクトル化される必要があります。

 

自動ベクトル化などの技術を利用することで、開発者のコードを非常に簡単にベクトル化することができます。これには、コードを変更する必要はありません。次は、パフォーマンスを改善するためスレッド化とベクトル化の両方を使用できるライブラリーを利用することです。一部のアプリケーションでは、インテル® Cilk™ Plus など特殊なビルドログの利用と機能を含む、より高度な技術がコンパイラーに情報を提供することが求められます。

ベクトル化のコードブックをダウンロードしてください。インテル® コンパイラーとライブラリーによって、アプリケーションの開発に使用できるシンプルでありながら強力なベクトル化技術が紹介されています。ベクトル化のコードブックをご覧になっている方は、下にあるタブのトピックをご覧ください。

ベクトル化のコードブックをダウンロード ›

学習ツール

C/C++ による OpenMP* 4.0 を使用したパフォーマンス・エッセンシャル (英語)
ベクトル化技術プレゼンテーションと将来に向けたアプリケーションのパフォーマンス (英語)
ベクトル化ツールキット – このツールキットは、ベクトル化によるアプリケーションのパフォーマンスを向上する 6 つの手順を示します。

インテル® ソフトウェア製品チュートリアル、インテル・ソフトウェア開発製品向けの入門ガイドとビデオ集

参考文献 (C/C++)

参考文献 (Fortran)


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