エントランスへはここをクリック   

最新CPUの
倍精度浮動小数点
演算性能を検証する!

青山貞一 環境総合研究所
鷹取 敦 環境総合研究所

16 March 2010
初出:独立系メディア「今日のコラム」
無断転載禁

 
 私たちは以前、「究極のパソコン活用、3次元流体計算の可能性と課題」という論文の中で、日常的に使われているパソコンの科学技術計算能力を検証し、科学技術計算のなかでもとりわけ計算量が多い3次元流体計算においても十分使えることを示してきた。

 以下は同論文の表1に示したCPU別の倍精度浮動小数点演算の計算速度の比較である。単位はMflops、すなわち1秒間に倍精度の浮動小数点演算を何100万回行うかである。ベンチマーク計測用ソフトはLinpackである。

LINPACK とは

 コンピュータ上で線形代数学の数値演算を行うソフトウェアライブラリである。  MINPACK、EISPACK と同様、米国アルゴンヌ国立研究所でFORTRANライブラリとして開発された。実際に開発を行ったのは Jack Dongarra、Jim Bunch、Cleve Moler、Pete Stewart である。1970年代から1980年代初期のスーパーコンピュータを対象として設計され、その後より洗練されたライブラリLAPACKに取って代わられた。

 LINPACK は BLAS(Basic Linear Algebra Subprograms、基本線形代数サブプログラム群)ライブラリを使ってベクトル演算や行列演算を行う。

LINPACK ベンチマークとは

 LINPACKベンチマークとはLINPACK に基づいたベンチマークプログラムである。理学・工学で一般的な線型方程式系(大きさは自由)をガウスの消去法で解く速度を測定し、システムの浮動小数点演算性能を評価する。

 LINPACK ベンチマークの結果は、最高性能 Rmax を示す行列サイズ Nmax、Rmax の半分の性能を示す行列サイズ(N1/2)と合わせて、TOP500で世界の高速なコンピュータの性能値としてランキングに使用されている。

出典:Wikipedia




 1990年におけるインテルi486DXというCPUが0.48Mflopsであったものが、2005年のインテルPentium4(3.4GHz)では、実に550Mflopsと約1000倍の速度を達成していることが分かった。

 だが、長足な技術革新を辿るのがパソコンのCPUである。その後もインテルはじめAMDなどのCPUメーカーはさらに高速なCPUを開発してきた。しかも、それらのCPUを載せたパソコン本体は、10万円前後と信じられないリーズナブルなものとなっている。

 表1の最下段にあるインテルi860のRiscCPUをもったワークステーションは、アカデミックディスカウントであったが300万円以上もしたのである。そのi860の速度は、インテルi486DXに比べ約20倍の速度あったが、そのi860も2005年に出たインテルPentium4(3.4GHz)に比べれば、実に55分の1の速度でしかない。

 となると気になるのは現在の最新パソコンCPUの速度である。もちろん、ここで言う計算速度は倍精度浮動小数点演算の速度だ。

 そこで2010年3月15日、環境総合研究所で最新パソコンのベンチマークテストを試みた。以下がその結果である。

 以下では、速度をMflopsとともに、インテルi486DXを1とした場合の相対速度でも示してある。

 何と最新のインテルのCPU、Core i5(2.67GHz)は、インテルi486DXの1万6千倍にも達していることが分かった。2005年のPentium4(3.4GHz)に比べても14倍も高速である。

 これには驚いた! 

 現在、環境総合研究所で使っているインテルのCPU、Core i5(2.67GHz)を載せた最新のパソコンは秋葉原の「パソコン工房」で本体価格7〜8万円で購入したものである。

 以上、要約的に言えば、パソコンを使った倍精度浮動小数点演算(科学技術計算)は、この20年間で優に1万6千倍も高速となったことになる。

 ■Intel AMD CPUハードウェア基本仕様比較
 
 ちなみに、現在、私(青山)は大学での科学技術計算用途以外のパソコンは、同じく「パソコン工房」の5万円未満のもの(CPU はインテルかAMD、メインメモリー2GB、HDD500GB、マルチドライブなど)を使っているが、これで十二分である。

 自宅では大部分がメールかWeb、Office作業なので10年以上前に購入したWindows 2000マシンを大事に使っている。CPUはインテルのセレロンだ。これだと後述する消費電力も非常に少ない。ただし主記憶は1GBに増設している。

 科学技術計算でなく日常的な事務処理では、CPU速度もあるが、アプリケーションソフトのバージョンによって処理速度は著しく異なる。たとえばIBMのホームページビルダーを例に取るとバージョン7が最も立ち上がり、処理速度が高い。

 一方、バージョン11は立ち上がりだけでバージョン7に比べ5〜8倍も時間がかかる。機動性が要求されるソフトの場合、この差はきわめて重要なものとなる。
出典:株式会社環境総合研究所(東京都目黒区)

 しかも最新のCPUは同一CPUのなかに2つあるいは4つのCPUが組み込まれているので、3次元流体計算のような科学技術計算の場合、風向、風速毎に計算することが多いので、従来ひとつのパソコンで1風向あるいは1風速を計算していたが、今では同時に4風向あるいは4風速の計算が上記の速度で可能となっている。

 以下は最新のインテルCPUCorei5をもつパソコンで同時に1から4つの風速で計算の場合の速度を比較してみた結果である。

 1つだけを計算した時の速度、計算時間を1とすると、

   同時計算数  速度比    時間比     実時間
 =====================================================
    1       1.00     1.00   (1474秒/61ループ)
    2       0.98     1.01   (1433秒/61ループ)
    3       0.89     1.12   (1300秒/61ループ)
    4       0.87     1.54   (1277秒/61ループ)


となった。

 計算ループ数は61回、計算実時間は21〜25分程度であるので、計測の際の作業による誤差は少ないと考えられる。

 最大である4つのCPUで同時に計算した場合には1割程度速度が落ちるが、実務上は大差ないと言える。

 ということで、環境総合研究所が提供している大気、水などの3次元の広域に及ぶ流体計算サービスも、より高速に行えることになっており、結果として納期も短くできるようになった。 

 さらに現在インテルからCore i7が出荷されているので、Core i5よりさらに高速化が可能である。



 CPUの速度の飛躍的な向上に伴い従来は消費電力も上昇してきたが、最近のCPUの速度向上は必ずしも消費電力の上昇を伴っていない。以下は上記のベンチマークを行った歴代のCPU毎の概ねの消費電力である。CPUの細かいバージョンによって実際の消費電力は異なるが、ここでは参考としておおづかみに消費電力のオーダーを示した。これをみると2003年頃以降は消費電力の上昇が止まっていることが分かる。

1990年頃 Pentum4 約5W
1997年頃 Pentium MMX 約20W
1997年頃 K6 約20W
2003年頃 Pentium 4 約100W
2008年頃 Core2 Duo 約100W
2010年 Corei5 約100W

 これは消費電力の上昇に伴い発熱量が増大して熱の対処が難しくなったこと、コンピュータの全体の使用台数の上昇に伴うオフィスビル等における消費電力の増大が問題になってきたことから省電力技術の開発に力が注がれるようになったこととともに、上記のベンチマークに示した2008年の Pentium 4 以降がマルチコアによって速度向上を図っていることによるものが大きい。

 ベンチマークの表に示した動作周波数をみると、2003年以降、2〜3GHzで止まっていることが分かる。周波数を上げると発熱量が増大してしまうため、周波数の上昇を伴わない方法によるマルチコア(計算を行う中枢部を複数持つ)等の技術への大きな転換が図られ、合わせて消費電力の上昇も抑えられるようになった。

 ノートPCに採用されるCPUでは速度より消費電力を優先されたものがあり、これがデスクトップPCに採用されることもある。

 CPUの速度の大幅な上昇にも関わらず、消費電力が変わらないということは、単位計算量あたりの消費電力はむしろ大幅に低下しているということになり、地球環境問題、資源問題の観点からにとっても望ましい技術の発展であると言えよう。