HPCシステムズではエンジニアを募集しています。詳しくはこちらをご覧ください。
HPCシステムズのエンジニア達による技術ブログ

Tech Blog

量子コンピュータ

量子コンピュータ勉強会レポート(その1) ~数年後には化学への応用が可能に!?~

はじめに  量子コンピュータが最近大きな注目を浴びています。量子コンピュータは、ミクロの世界を支配する量子力学の原理を応用したコンピュータで、電気信号のオンオフを基礎原理とした現在のコンピュータ(この分野では「古典コンピュータ」とも呼ばれる)を遥かに上回る計算能力を秘めています。昨年の10月にGoogle社が「量子超越(=古典コンピュータを超える計算速度)を実現した」論文を公表し、大きな話題となりました。この論文では、ある命題について最速のスーパーコンピュータを使っても1万年かかる計算を、量子コンピュータはわずか200秒で解いたという内容が書かれています。その命題とは「量子コンピュータの動作...
HPC

EPYC ROME環境におけるMKL環境変数の影響について その2

前回のブログの通り、実際にアプリケーションの動作を確認していきます。 今回検証に使用したハードウェア環境、開発環境は以下の1ノードとなります。 HW構成 :CPU                  AMD EPYC 7702 ( 2.0GHz / 64core ) x 2        Memory              256 GB ( 16 GB 3200 MT/s x 16 ) OS         :CentOS 7.6 Compiler:Intel Compiler 19.0.5.281、17.0.7.259 MKL   : 上記 Intel Compiler に同梱...
HPC

EPYC ROME環境におけるMKL環境変数の影響について その1

お久しぶりです。 随分間が空いてしまいました、申し訳ありません。 EPYC ROME環境での計算科学アプリケーションの挙動について、引き続き書いていこうと思います。 ソースコードで配布されている科学技術計算用アプリケーションにおいては、想定している開発環境として、数値計算ライブラリ Intel Math Kernel Library ( MKL )に対応しているものが複数あります。 弊社ではこのようなアプリケーションでMKLを使用したビルドを行っています。 これは、Intel製CPU環境においては、MKLが性能的に優れ、動作的にも安定しているためです。 しかし、EPYC環境において...
計算化学

GROMACS チュートリアル 水のMD サンプリング

簡単な水のMDを用いて、GROMACSの使い方をおさらいします。このステップでサンプリングを行います。
HPC

M6g 触ってみた (2) -OpenFOAM ベンチマーク結果-

はじめに 前回の記事でAWS EC2 M6gインスタンスに使われているGraviton2についての簡単な紹介と、HPLベンチマークの結果を掲載しました。今回はOpenFOAMについてのベンチマーク結果をご紹介します。実のところA1インスタンスの登場時にも同様の検証を行っていましたが、当時はこのブログもなかったので、私が参加した勉強会などのLT等で紹介するにとどまりました。 ベンチマーク内容 これも前回触れましたが、OpenFOAM-v1912をUbuntu20.04LTS標準のgcc-9.3.0, OpenMPI-4.0.3でビルドしました。ベンチマークデータは弊社も賛助会員のオープンC...
HPC

M6g 触ってみた (1) ーARM64の広がる世界ー

はじめに SARS-CoV-2対策のため、未だ未完成の富岳の起動が発表されたことに、オタク心をくすぐられた方も多いのではないかと思います。富岳はCPUがARMベースであることも知られており、1CPUあたり48コアにおよぶ計算用コアはHPCに必要な演算性能を生み出しますが、カタログ上の最大演算性能は内蔵されているSVEと呼ばれるベクトル演算ユニットに依るところが大きいと思われます。ARMはCPUが持つべき基本機能を備えた設計のみをライセンス販売していて、開発者はそれをたたき台にアレンジしたり、SVEのような付加機能を付け足したりすることで、実際のCPUを設計・製造します。これによりCPU全体や...
DL

NVIDIA A100 GPU製品が発表されました!

オンライン開催の GTC 2020( )にて NVIDIA CEO Jensen Huang氏 の Keynote がアナウンスされました。発表は NVIDIA YouTube Channel ( ) で 公開されています。プレイリストはこちらです。 AIやデータサイエンス、HPC、自動運転やグラフィックなどに関する新情報が次々と出てきています。 NVIDIA A100 GPU。最新Ampere世代、TensorFloat32に対応し、Sparse Matrixに最適化された新たなTensorCore と 1.5TB/sの高帯域なHBM2を備え、PetaOPS級の性能。ますますD...
DL

ロボットアームの強化学習に挑戦

 今回は、OpenAIが公開しているロボットアームの強化学習に挑戦します。ロボットアームの強化学習は、ロボットアームで物体を挟んだり押したりして動かすFetchと、人の手を模したロボットを動作させるShadowHandがあります。その中から、FetchPickAndPlace、HandManipulateBlockRotateXYZ、HandManipulateBlockFullの強化学習に挑戦してみました。 強化学習  強化学習とは、簡単に説明すると、まず、あるモデルを元にシミュレーションをします。次に、シミュレーションの結果を元にモデルを学習します。その学習したモデルを使って、またシミ...
計算化学

GROMACS チュートリアル 水のMD NVT

簡単な水のMDを用いて、GROMACSの使い方をおさらいします。このステップではNVTにより、系の温度を室温程度にします。
計算化学

「電子構造論による化学の探求 第3版」例題2.1解説

はじめに  「電子構造論による化学の探求 第3版」というGaussianの教科書をご存知でしょうか。Gaussian計算に関する多くの話題や問題が掲載されており、あくまで個人的意見ですが、初心者から上級者まで習熟度に関らず、Gaussianを取り扱う者にとってはお勧めの一冊と思います。ただ、全くの初心者にとってはやや難しいと思われる内容や表現もあり、このブログではこの教科書の例題・演習問題の内容を補足・解説していければと思います。今回は例題2.1について採り上げます。 インプットファイルについて  Gaussianのインプットはテキストファイルとして扱うことができます。実際、45ページに...
計算化学

GROMACS チュートリアル 水のMD エネルギー最小化

水を用いた簡単なMDを用いて、GROMACSの使い方をおさらいします。このステップではまず、エネルギー最小化を行います。
計算化学

GROMACS チュートリアル 水のMD 導入

最も簡単なGROMACSのMDの例として、水(溶媒のみ)のMDを実行してみます。
計算化学

そのデータにストーリーはあるか?ーデータに踊らされないためにー

背景 昨今さまざまな数字、データ、グラフを目にする機会が増えています。その一方でそれらをどう解釈して読み解くのか、というリテラシーの問題が取り沙汰されるようになっています。テレビ等で誤解を生みかねないグラフ形式を選択していることなどに指摘がある一方で、意図的にそうした手法を用いているものから間違った判断に誘導される危険性もあります。統計データが直感に反する結論を導くことも珍しくありません。 どの様にデータを使い、見せ、意図を伝え、解釈されるのか?というのは受け側、出す側の両方に求められるリテラシーですが、一方で普段どおりの見せ方をしたのに、他の分野で全く異なる解釈をされ、驚かれた経験がある...
HPC

リモート会議について

背景 ここ数年のHPC環境では、CPUやGPUによる計算コストよりも、データを移動するコストが支配的になっているという認識がますます強くなっています。どれだけ計算能力が高くてもデータが届かなければ、計算した結果を保存できなければ、せっかくの高速な環境はそれを待つことに時間を浪費しパフォーマンスが劣化します。メモリからのデータ転送でキャッシュのアルゴリズムが重要な要素となり、低遅延のネットワーク、ストレージの役割がますます大きくなっています。お金のかけ方が以前とは変わってきているわけです。一方でデータを動かすのではなく、データを中心にしてシステムを割り当てていくデータセントリックという、逆転の...
HPC

AWSが拓いたLustreファイルシステム新時代 -3-

前置き 前回の記事で「短期決戦・スクラッチ向き」とか書いた途端に、永続的ストレージの発表があり、頭を抱えた筆者です。多数のユーザーが混在するクラウド上においてはパフォーマンスと同時にセキュリティも重要ですが、条件付きながらデータ転送も保存データも暗号化されています。普通のLustreでは行われていないOSTの2重化すら実現しています。さらにパフォーマンス向上も実現しています。これでAWS上に「普通のLustre」をつないだ「普通のスパコン」を運用する上で必要な、ある意味それ以上の「モノ」はほぼ揃ってしまいました。今回はその作り方と使い方を簡単に勉強しておきましょう。 AWSとHPC環境につ...
HPC

SingularityコンテナでAMD GPUを試す -2-

前置き この記事を書いている間にSingularityはEPELリポジトリから最新の3.5.3がインストールできるようになり、GROMACSは2020.1がリリースされました。ちなみにGROMACSは「誤った結果を出す」という理由で、GROMOS力場を削除していくようで、以前のデータがそのままでは使えなくなったり、計算結果が異なる可能性があります。ただ、2020.1にもファイルは従来どおり残っているので(使おうとするとワーニングは出ますが)一応計算は実行でき、ベンチマークの取得は可能です。 GROMACSに関する予備知識 分子動力学計算は単一の計算を繰り返しているわけではなく、近距離にあ...
HPC

SingularityコンテナでAMD GPUを試す -1-

背景 コンテナを使う時よく問題になるのは、特殊なハードウエアを使う場合にデバイスドライバとそれを叩くライブラリの組み合わせ問題です。コンテナはカーネル空間を分離してユーザーランドだけで動きます。つまりカーネルとデバイスドライバは管轄外になります。一方でアプリケーションを動かすライブラリはユーザーランドつまりコンテナ内にあります。せっかくのポータビリティがコンテナにあっても、このミスマッチでアプリが動かないのでは困ります。HPCではGPUをはじめ、Infinibandだったり、特殊機材のハードウエアや他のマシンのメモリすら直接叩いてパフォーマンスを最大化してきた歴史があります。そもそもコンテナ...
HPC

AMD EPYC Rome の性能検証その3(Amber18)

今回ベンチマークを行うアプリケーションはAmberです。 Amberは生体分子シミュレーション用アプリケーションです。(公式HP) Amber は 有償のSolverと無償のツール群(AmberTools)に分かれており、 SolverのビルドにはAmberToolsのビルドも必要になります。 2020年2月17日時点での最新版は、Amber(Solver)がVersion 18 、 AmberTools が Version 19となります。 前回のHPLと同様に、Compiler、数値演算ライブラリ、MPIを変化させてベンチマークを取得していきたいと考えていたのですが... ...
HPC

AWSが拓いたLustreファイルシステム新時代 -2-

旧来の普通のLustreとクラウド上のLustreの着眼点の違い 前回はLustreファイルシステムの概要を解説をしました。Lustreがどのようなコンセプトで設計され、大容量と高性能を実現しているのかおわかりいただけたのではないでしょうか。さて、前回少し触れましたが、MDS/OSSをそれぞれ2重化して可用性を高めた「普通のLustreの構成」を図にすると、次のようになります。 Lustreをオンプレミスで構成して安定運用しようとすれば、導入コストは数千万円〜になり、高度な技術と経験が必要です。しかし最大スループットなどについてある程度目をつむれば、AWS上でこうした構成を組むことはテ...
HPC

AMD EPYC Rome の性能検証その2(HPL)

さて、今回から実際のアプリケーションについて検証を行っていきます。 今回の実行するアプリケーションはHPLです。 ご存知の方も多いと思いますが、HPLは行列演算能力を測定するベンチマークプログラムです。 HPLは単純なプログラムであるため、実際の科学技術計算の性能傾向との間には乖離があると指摘されていますが、 未だにTop500の指標として使用されているように、純粋な計算機の演算能力を図る指標としては有用だと考えています。 検証対象のハードウェアは以下の通りとなります。 比較のため、Intel社製ハードウェアも用意しました。   CPU Memory O...