HPCとは
ハイパフォーマンス・コンピューティング(HPC)は、
計算機の性能を最大限引き出すための計算機利用技術です。
現在、計算機の性能向上は、CPU内のコア数の増加や、CPU数の増加、
さらには、計算機の台数(ノード数)の増加といった、
並列度を高めることによる性能向上に頼っています。
これは、半導体の集積度の限界や、消費電力の削減といった課題により、
CPUのクロック数の上昇が頭打ちとなっているためです。
並列度が高まる一方の計算機を効率的に利用するためには、
そこで実行するプログラムの並列化が必要不可欠となります。
HPCで何が得られるのか?
その1:大規模計算の実現
HPCを導入することにより、これまで実現できなかったような大規模な計算が
現実的な時間で実施可能となります。
大規模な計算が可能となれば、細かいメッシュを用い、
高い空間分解能でシミュレーションを行えるため、
- 高い精度での予測
- 未知の現象の解明
などが可能となります。
その2:計算の圧倒的な高速化
HPCを導入するもう一つのメリットとしては、
今まで長い時間をかけなければ結果が出なかった計算が
大幅に高速化できることです。
スパコンで並列計算を行えば、2桁〜3桁の高速化も決して珍しいことではなく、
例えば、並列化なしのプログラムで1ヶ月かかる計算が、
スパコン上で並列計算を行うことで数時間でできるようになる、
といったことも十分に有り得ます。
サービス概要
HPC導入のための支援活動を多角的に行っています。
ヒアリング
まず、以下の内容についてヒアリングを実施します。
- 対象とする計算内容
- お客様の目的(大規模な問題を解きたいのか、高速化がしたいのか、等)
- 利用を想定している計算機環境(PCクラスタ、スパコン、等)
事前調査
続いて、必要に応じて機密保持契約を締結の上、
- プログラムの分析、および、性能調査
- 高速化・並列化手法の提案(ご予算に応じてお選びいただけるよう、複数ご提案します。)
を実施します。
高速化・並列化
実際の高速化・並列化作業では、以下のような内容を実施します。
- アルゴリズムの高速化
- 大規模データへの対応
- プログラムの並列化
- 並列性能の向上
- スパコン環境への移植
教育活動
HPCに関する教育活動も行っております。
目的に応じて下記のような内容についてセミナー等を開催することも可能です。
- 並列計算の基礎
- OpenMPを用いた共有メモリ並列プログラミング
- MPIを用いた分散メモリ並列プログラミング
- MPIとOpenMPを用いたハイブリッド並列プログラミング
- 並列プログラムのデバッグ
- 並列性能チューニング
- 開発を効率的にすすめるためのさまざまな手法やツールの紹介
- コードの複雑化にそなえるプログラミングスタイル
プログラムを開示したくない場合や、
社内のエンジニアにHPC技術を習得させて、
実際の高速化・並列化作業は社内で実施したい、
といった場合にお薦めです。
ぜひ、お気軽にご相談ください。