インテル®コンパイラー OpenMP*入門
デュアルコア・マルチコア対応アプリケーション開発@
<< 19 >>
7 . まとめ
「並列処理」と聞くと、何かプログラム上で特別なことを行っているような印象を受けるかもしれません。実際のと
ころ、現在のシングルプロセッサー、シングルコアのマイクロプロセッサーでも、プロセッサー・コア内部で多くの並
列処理が行われており、最新の高速マイクロプロセッサーでは、プロセッサー内に並列処理のための非常に多くの
リソースを実装しています。これらのリソースを同時に利用することで、プログラムの高速実行を可能としています。
インテル® Itanium® 2プロセッサーなどはそのもっとも進んだ例です。コンパイラーは高度にプログラムを解析し、命
令レベルでの並列化 ( ILP) を既に高度なレベルで実現しています。
MPI ( Message Passing Interface) と OpenMP* でのプログラム開発工数
パフォーマンスに対する高度な要求に答える形で、プロセッサーは高速化の一途をたどってきました。しかし、現在
プロセッサーとメモリーの性能格差が広がるにつれて、様々なアプリケーションにおいて、メモリー・レイテンシーがパ
フォーマンス面でのボトルネックになっています。またプロセッサーの消費電力と発熱量も大きな問題です。このよう
な状況を打破するためにも、デュアルコアやマルチコアといった最新のプロセッサーの実装技術が求められています。
自動並列化、OpenMP* でのプログラム処理の並列化は、このような時代の要求に応えるものです。コンパイラーの
更なる進化によって、今後、これらの機能はさらに強化されていきます。
様々なレベルでの並列処理において、それらの並列処理技術を緊密に結合することで、アプリケーションの性能を
大幅に向上させることが可能です。
執筆者プロフィール
スケーラブルシステムズ株式会社
代表取締役 戸室 隆彦
約 20 年間にわたる HPC およびハイエンドコンピューティングの経験と、
日本 SGI における CTO (チーフテクノロジーオフィサー) としての幅広い経
験を基に、2005 年 6 月、 HPC およびハイエンドコンピューティングに関す
る技術コンサルテーションを提供する「スケーラブルシステムズ株式会社」
を設立。URL:http://www.sstc.co.jp/
パフォーマンスツール
デバッガ
スレッドツール
開発工数
コードの実行性能
MPI
OpenMP*
コードの実行はできない