FLOPS
FLOPS(Floating Point Operations Per Second)とは、コンピュータシステムが1秒間に実行できる浮動小数点演算の回数を指す指標である。浮動小数点とは、科学技術計算や3Dグラフィックスなどにおいて用いられる数値形式であり、整数演算よりも精度が高い計算を必要とする場面で多用される。このFLOPSの値が大きいほど、システムが高い演算性能を持っていることを示すため、スパコン(スーパーコンピュータ)やハイパフォーマンスコンピューティング(HPC)の世界では評価指標として広く活用されてきた。半導体技術の進歩によりプロセッサは年々高速化しており、FLOPSを指標に測られる演算能力の限界を引き上げる取り組みが継続的に行われている。
基本概念と重要性
科学技術計算やデータ解析分野では、巨大な行列演算やシミュレーションを繰り返し実行する機会が多い。これらの作業で問題となるのは計算にかかる膨大な時間であり、性能が低いシステムでは数日から数週間単位の計算時間を要することがある。そこで、コンピュータの演算性能を客観的に把握し、どの程度の速度で浮動小数点演算を処理できるかを評価するためにFLOPSが用いられる。単位としてはGFLOPS(ギガFLOPS)やTFLOPS(テラFLOPS)といった表記があり、大規模計算を行うほど高いFLOPSが求められるという構図になっている。
整数演算との違い
CPUやGPUなどのプロセッサは、整数演算と浮動小数点演算を別々の演算ユニットで処理することが多い。整数演算よりも浮動小数点演算はビット幅が大きく、演算の手間がかかるため高い処理能力が求められる。このため、FLOPSは整数演算の処理速度を示すMIPS(Million Instructions Per Second)とは区別されてきた。科学技術計算では小数点以下の繊細な計算が不可欠となるため、専用の浮動小数点ユニットを持つハードウェアアーキテクチャが重視されるのである。
測定方法とベンチマーク
理論上のFLOPS値は、クロック周波数やコア数、SIMD命令の幅などハードウェアの仕様から算出できる。一方、実際のプログラムを動かした際の実効性能とは乖離が生じるケースも少なくない。そのため、実際のアプリケーションに近い処理を用いたベンチマークを通じて、システムがどの程度のFLOPSを達成できるかを計測する方法が一般的になっている。代表的なベンチマークとしてLINPACKやHPCGなどがあり、スパコンの性能ランキング(TOP500など)でもこれらの結果を基に順位が公表される。
CPUとGPUの違い
従来はCPUがコンピュータの中心的演算装置として活躍してきたが、グラフィックス処理に特化したGPUも高い浮動小数点演算能力を備えている点が注目される。GPUは大量の演算ユニットを並列稼働させることで、一度に多くの演算をこなすアーキテクチャになっている。この特徴により、特定のタスクであればCPUより格段に高いFLOPSを実現できる。ただし、汎用的な処理や制御フローが複雑なタスクではCPUが優位となる場合もあるため、目的に応じてどちらを選択するかを見極める必要がある。
演算精度とFLOPS
FLOPSの値は演算の精度によっても変化する。一般的に倍精度(double precision, 64-bit)の演算は単精度(32-bit)よりも大きくリソースを消費し、同じハードウェアでも倍精度FLOPSは単精度FLOPSの半分以下になることが多い。ディープラーニングなどで注目される半精度(16-bit)やさらには8-bitなどを活用すると、同じ演算器でより多くの演算を並列処理できる利点がある。ただし、精度の不足は計算の誤差につながる可能性があるため、適切な演算精度を選択することが高品質なシステム設計に欠かせない。
スパコンの事例
世界のスパコンはペタFLOPS(PFLOPS)やエクサFLOPS(EFLOPS)の領域に到達しつつある。理論値で1秒間に10^15回以上、あるいは10^18回以上の浮動小数点演算を実行できるシステムを投入し、気象予測や新薬開発、宇宙シミュレーションなどの分野で成果をあげている。こうした大規模な計算資源を用いることで、これまで困難だった高精度のシミュレーションやビッグデータ解析が現実のものとなっている。FLOPSの向上は、産業や学術研究の基盤強化に直結する重要なキーワードといえる。
今後の展望
トランジスタ技術の微細化が進む一方で、電力消費と発熱の問題が深刻化している。今後は量子コンピュータやニューロモーフィックチップなど新しいアーキテクチャの登場により、従来型のFLOPSとは異なる次元での演算処理が注目を集める可能性がある。ただし当面は、GPUをはじめとする並列演算プラットフォームと、それらを統合的に管理するシステムソフトウェアの進化によって高いFLOPSを追求する流れが続いていくだろう。