HPC (ハイパフォーマンスコンピューティング・高性能計算)

HPC とは?

HPCとはハイパフォーマンスコンピューティングの略で、高性能な計算処理能力をもつ計算機環境です。

HPCの例としては、マルチコアマシン、ハイパフォーマンスコンピューティングクラスタ、GPUなどが挙げられます。HPC を利用することで並列計算を可能にし、大規模データを高速に処理することができます。

HPC の需要の高まり

サイズの大きいデータを扱う場合や計算量が多い課題を解く場合、多大な計算時間がかかることがあります。HPC を利用することで、以下のようなメリットがあります。

  • ある単位時間あたりの計算能力が向上することによる作業時間の短縮
  • トータルコストの削減
  • 大規模データのハンドリング

HPCは、動画/画像/音声処理、最適化計算、ニューラルネットワーク(ディープラーニング)を含む機械学習のモデル学習、シミュレーションなどに使用されています。具体的には、以下のような分野でHPCが活用されています。

  • 電力エネルギーの供給量や価格最適化
  • ゲノム解析の大規模処理
  • 宇宙空間の探査
  • 工場の自動化機械の生産効率の増加

HPC を利用した製品

Parallel Computing Toolbox は、マルチコアマシンやGPUでの HPC を可能にします。また、MATLAB Parallel Serverは複数台のマシンやクラスタマシン上でHPC を実現します。HPCは Amazon EC2 のようなクラウドでも提供されています。近年、このクラスタマシンにおける処理のレイテンシや消費電力を低減することができるアクセラレータとして、プログラム可能なハードウェアデバイスであるFPGAの利用が進んでいます。高度なアルゴリズムのFPGAの実装にはHDL Coderが適しています。

通常、HPCを利用するためのプログラミングは、実装やデバッグが面倒というデメリットがあります。しかしMATLAB では、高いプログラミングの知識は必要なく、通常のコードを数行変更するだけで複数のプロセスを使った並列計算やGPU計算を行うことができます。

参考: MATLAB GPU コンピューティング, ビッグデータ解析と MATLAB, 並列計算ソリューション, FPGA ソリューション