高性能計算

高性能計算、ハイ・パフォーマンス・コンピューティング（high-performance computing、HPC）は、計算科学のために必要な数理からコンピュータシステム技術までに及ぶ総合的な学問分野である岩波講座計算科学別巻『スーパーコンピュータ』「はじめに」より数値線形代数の数理とHPC, 櫻井鉄也, 松尾宇泰, 片桐孝洋編（シリーズ応用数理 / 日本応用数理学会監修, 第6巻）共立出版, 2018.8The Art of High Performance Computing for Computational Science, Vol. 1, Techniques of Speedup and Parallelization for General Purposes, Edited by Masaaki Geshi (2019), Springer, ISBN 978-981-13-6194-4.The Art of High Performance Computing for Computational Science, Vol. 2, Advanced Techniques and Examples for Materials Science, Edited by Masaaki Geshi (2019), Springer, ISBN 978-981-13-9802-5.計算科学のためのHPC技術１, 下司雅章 編／片桐孝洋，中田真秀，渡辺宙志，山本有作，吉井範行，Jaewoon Jung，杉田有治，石村和也，大石進一，関根晃太，森倉悠介，黒田久泰 著, , 2017年03月, 大阪大学出版会.計算科学のためのHPC技術２, 下司雅章 編／南一生，高橋大介，尾崎泰助，安藤嘉倫，小林正人，成瀬彰，黒澤一平 著, , 2017年03月, 大阪大学出版会.。

 概要 
1980年代以前はベクトル計算機が主流であったが、1990年代以降ではスカラー計算機を超並列にするのが主流になっている。HPC用クラスタをHigh-Performance Computing Cluster、HPCC（:en:HPCC）という。システムの構築や利用には高いレベルの技術的スキルが不可欠であるが、汎用の部品で構成することができる。柔軟性、演算性能の面で優れ、比較的低コストであるため、並列コンピューティングによるHPCはスーパーコンピュータ業界に普及しつつある片桐孝洋. (2015). 並列プログラミング入門: サンプルプログラムで学ぶ OpenMP と OpenACC. 東京大学出版会.。

科学研究に使われる数値計算に対して用いられることが多く、関連する用語に高性能技術計算（high performance technical computing、HPTC）がある。工学的利用（例えば計算流体力学(computational fluid dynamics)Computational Fluid Dynamics -Incompressible Turbulent Flows-, Takeo Kajishima & Kunihiko Taira (2017), Springer.や、仮想的なプロトタイプの構築・試験など）を指す。では、クラスタベースの高性能計算機はビジネスにも利用されるようになってきた。例えばデータウェアハウス、LOBアプリケーション(line-of-business application)、トランザクション処理などである。

最も高性能なスーパーコンピュータはTOP500リストで見ることができる。TOP500は世界中の最も高性能なコンピュータシステムで構成された上位500機のリストである。リストは年に2度6月と11月に改訂され、それぞれISC（International Supercomputing Conference）とSC（Supercomputing Conference）で発表される。

なお、Highly Parallel Computing（高並列計算）Gottlieb, A., & Almasi, G. (1989). Highly parallel computing. Redwood City, CA: Benjamin/Cummings.の頭文字もHPCとなるが、一般にこの分野でHPCはhigh-performance computingの略であり例えばインテル社のXeon Phiのキャッチコピーは「Highly Parallel Computing Engine for HPC」である。、特に説明などなしにHPCがHighly Parallel Computingの略であることはまずない。

 GPGPU 

GPGPU (General-Purpose computing on Graphics Processing Units) は、「GPU (Graphics Processing Unit) による汎用計算」という意味の頭字語（イニシャリズム）で、GPU Computingとも呼ばれることがある。この文脈におけるComputingはグラフィックス処理に限らない計算処理全般を意味している。

GPUはその本来の用途であるグラフィックスパイプラインの要求に由来する高い計算能力とスループットを持つ、SIMDタイプの高性能高並列プロセッサである。GPUにおける演算ユニットの最小単位は「ストリームプロセッサ」エルミタージュ秋葉原 – AMD、ストリームプロセッサ数896基の新ミドルレンジ「Radeon HD 7790」発表あるいは「ストリーミングプロセッサ」と呼ばれることがあるが、このストリームプロセッサ1つ1つは単純な構造であり、オペレーティングシステム (OS)・アプリケーションソフトウェアの実行や周辺機器制御などの汎用処理全般をつかさどるマイクロプロセッサすなわちCPUのように複雑かつ広範な処理をこなすことはできない。しかし、単純な構造であるがゆえに集積度を高くすることができるため、理論演算性能（FLOPS値）に関していえば、GPUは同世代の製造プロセスにおけるCPUと比べて遥かに高い性能を持っている。また、CPUと比較して電力あたりの理論演算性能（ワットパフォーマンス、Performance per Watt）すなわち電力効率が高いのもGPUの特徴である。そのため、HPC分野においても、x86/x64ベースのCPUを多数用いるより、GPUを多数用いたほうが安価かつ効率的なシステムとなることが期待できる。

GPGPUのきっかけとなったプログラマブルシェーダーが登場した当初は、GPUはコンピュータグラフィックスに特化した設計であり、GPGPUプログラムの開発も難しかった。しかし、統合型シェーダーアーキテクチャの登場以降、CUDAやOpenCLのように、GPUを汎用の並列プロセッサとしてアクセス可能なプログラミングインターフェイス (API) およびプログラミング言語拡張の標準化とサポート・普及が始まっており、C言語のようなよく使われている言語も使用可能である。ただしCUDAやOpenCLなど、GPGPUをサポートするAPIにおいてデバイス側のカーネル記述に使われるC/C++は独自拡張が施されており、CPU向けのプログラム記述に使用される汎用C/C++とは異なる。また、CUDAはホスト側のC/C++にも拡張が入っており、専用のコンパイラを使用する必要があるなど、GPGPU対応アプリケーションソフトウェアを開発するためには従来のCPU向けプログラミングとは異なる技術や知識が必要となる。

 HPC向けGPU製品 
NVIDIA TeslaやAMD FirePro Sシリーズといった、HPC分野での汎用計算を主眼において設計されたプロセッサやグラフィックスボードも製造・販売されている。これらはNVIDIA GeForceやAMD Radeonといったコンシューマー向け製品で使われるチップをベースにしてはいるが、グラフィックス出力の機能を持たず、「GPUアクセラレータ」や「コンピューティングプロセッサボード」と呼ばれることもある世界をリードするスーパーコンピュータで アクセラレータの採用が広がるNVIDIA Tesla C1060 | 株式会社 エルザ ジャパン。また、PCやエントリーモデルワークステーション向けのグラフィックスカードと異なり、HPC向けにECCメモリのサポートも備えている。

 採用実績 
東京工業大学のスーパーコンピュータ「TSUBAME」などが、GPGPUベースの代表的なHPCシステムとして挙げられる。

TOP500の上位には、インテルやAMDの汎用CPUに加えてNVIDIA Tesla GPUを多数搭載したスーパーコンピュータが名を連ねている【PC Watch】 中国のNVIDIA Tesla搭載スパコンがTOP500の2位に【PC Watch】 TOP500でOpteron 6274/Tesla K20X搭載システムが1位。

2014年11月度のGreen500においては、AMD FirePro S9150 GPUを搭載したドイツGSI研究所のL-CSCクラスターが首位を獲得したAMD FirePro S9150搭載マシンが、Green500でNo.1を獲得 - 最新情報 - ニュース - 株式会社エーキューブ。

 メニーコアシステム 
x86アーキテクチャベースのメニーコアシステムとして、インテルはコードネームLarrabeeと呼ばれる製品を開発していたが頓挫している。Larrabeeの思想自体はXeon Phiに受け継がれ、PCI Express接続による独立したアクセラレータ・デバイスとして開発・販売が続けられている。

2015年6月度のGreen500では、PEZY Computingのメニーコアプロセッサ「PEZY-SC」を搭載したスーパーコンピュータが1位から3位までを独占した国産スパコン“PEZYシステム”がGreen500の1～3位を独占 ～省エネ高性能を競う世界ランキングで - PC Watch。PEZY-SCはPCI Express接続によるコプロセッサであり、GPU (GPGPU) と似た点もある。しかし、GPUがSIMT型であるのに対し、PEZY-SCはMIMD型を採用しており、より柔軟性すなわち使いやすさやソフトウェアの開発しやすさを狙った設計となっている100倍高速なメモリーを独自開発、異色ベンチャーの野望 | SAFETY JAPAN [セーフティー・ジャパン] | 日経BP社。

 脚注 

 関連項目 

 数値解析
 スーパーコンピュータ
 高性能技術計算(en)
 分散コンピューティング(en)
 並列コンピューティング(en)
 量子コンピュータ(en)
 メタ演算(en)
 計算機科学の未解決問題
 グリッド・コンピューティング
 GPGPU
 CUDA
 OpenCL
 OpenMP
 OpenACC

 外部リンク 

Windows HPC Server
LinuxHPC.org Linux High Performance Computing and Clustering Portal
WinHPC.org Windows High Performance Computing and Clustering Portal
Cluster Builder
Media Center PC Mach4 site HTPC News and Information.
 inside HPC　※ HPC業界誌
 HPCWire(Tabor Network)　※ HPC業界誌
  HPCWire Japan ※ HPC業界誌
一般社団法人HPCIコンソーシアム
計算科学eラーニングアーカイブチャンネル（理研R-CCS）
 HPCI(High Performance Computing Infrastructure)　※ HPCの利用と応用を推進するための日本の国家的プロジェクト
情報処理学会ハイパフォーマンスコンピューティング(HPC)研究会（IPSJ SIGHPC） ※ 情報処理学会内の研究会
日本応用数理学会「行列・固有値問題の解法とその応用」研究部会
PCクラスタコンソーシアム（PCCC）　※ PCクラスタおよびアクセラレータ技術によるローエンドからハイエンドのHPC市場育成を目指すコンソーシアム。
プラットフォームコンピューティング株式会社 HPC ソフトウェアベンダの老舗
 ATPESC(Argonne Training Program on Extreme-Scale Computing)
 書籍：下司雅章 編集:「計算科学のためのHPC技術１」,大阪大学出版会 (2017年)
 Masaaki Geshi(Eds.):"The Art of High Performance Computing for Computational Science", Vol.1, Springer (2019)
 書籍：下司雅章 編集:「計算科学のためのHPC技術２」，大阪大学出版会（2017年）
 Masaaki Geshi(Eds.):"The Art of High Performance Computing for Computational Science", Vol.2, Springer (2019)

Category:並列コンピューティング
Category:数値解析
Category:計算科学