- 著者
-
泊 久信
平木 敬
- 雑誌
- 研究報告ハイパフォーマンスコンピューティング(HPC)
- 巻号頁・発行日
- vol.2011, no.45, pp.1-7, 2011-07-20
計算機が高性能になったことにより,より大きな問題を解くことができるようになった.入力が計算結果として出力されるまでに演算器を通る回数も,問題の規模と反復回数に応じて大きくなった.計算アルゴリズムの中には,演算器を通る回数が増えると誤差が蓄積していくものがある.このようなアルゴリズムを,より高性能な計算機を用い大規模な問題に対して適用するためには,より高精度な浮動小数点演算が必要である.ところが,高精度な浮動小数点数を扱うハードウェアは市販品としては少なく,結果としてソフトウェア実装を用いるのが一般的であった.ソフトウェアによる実装は幅広い環境で動作させることができる利点がある一方,性能を出しにくいという欠点がある.性能が出ない場合,そもそも高精度な浮動小数点数を扱う必要性は低い.本研究では,IEEE 754 規格を拡張して,8 倍精度 (256-bit) 浮動小数点数を定義した.評価では,POWER7 マシンでの倍精度の演算と,8 倍精度演算の 64 ビットPowerPC アセンブリでの実装との性能を比較し,8 倍精度が倍精度の 1/44 程度の性能の劣化になることを確認した.ハードウェア実装として,CPU の FSB に FPGA が結合された,Convey HC-1 を用いて,高性能な演算器を実装した.この FPGA ベースの実装を用いた場合,POWER7 の 8 コアのシステムに比べ,約 4.5 倍の 8 倍精度浮動小数点処理性能を実現した.The faster the processor becomes, the larger grows the size of the problem that the processor is capable of solving. The number of operations that are applied to input data is subject to the size and the number of iterations. There are algorithms where the error accumulates as the size or the number of iterations increases. To apply these algorithms to the larger set of problems that are solved on the next-generation computers, a higher-precision floating point format is required. Notwithstanding the need, there are little support for arithmetic on floating point numbers of quadruple or more precisions. When they really needed it they tend to implement them using software. Using software to process higher-precision floating point number benefits from portability, but at the grave cost of the performance. When the performance is limited, we often do not need higher precision floating point numbers in the first place. We propose an extension to the IEEE 754 floating point number formats to define a octuple-precision (256-bit) floating point numbers. We compared the performance of our octuple precision implementation to the double-precision operations on IBM POWER7. On POWER7, octuple precision operations take about 44 times more processing time than double-precision counterparts. We implemented FPGA-based arithmetic unit for the data format on Convey HC-1 system, where FPGA chips are connected to the host using the front side bus. On this system, octuple precision operations are 4.5 times faster than those on the 8-core POWER7 system.