HPCシステムズのエンジニア達による技術ブログ

Tech Blog

未分類

OS付属コンパイラが古すぎて困った人へ

RHEL/CentOSについて  これらのディストリビューションはその名の通りエンタープライズ用途に用いることを前提に作られ、サポートされています。長期に渡って運用されるシステムのために固定された仕様のまま、セキュリティ対応の修正が入れられています。バージョンが固定されていることで、仕様変更が入らないことが保証され、修正は入っても突然ソフトウエアが使えなくなる恐れはありません。しかしその反面、何年も前に策定された仕様のため、新しいソフトウエアに対応できなくなるという弊害をはらんでいます。  RHEL6.0/7.0のリリースはそれぞれ2010年/2014年なので、10年前/5年前の仕様となっ...
未分類

AMD EPYC 7002シリーズ(Rome) ベンチマーク Gaussian

AMD EPYC の最新世代 Rome、7002シリーズプロセッサーについて、ベンチマークを取得しました! ベンチマーク取得したアプリケーションは Gaussian です。 1CPUあたりコア数が最大64、メモリ8チャンネル、AVX2対応、と目を引くスペックですが、これを Xeon Cascade Lake と比べるとどうなるのか!? どうぞご覧ください! ベンチマーク報告書ダウンロードページはこちら
未分類

Compilerの種類、Versionに関する話(その2)

少し間が空いてしまいました。 今回の記事では、引き続き Compiler について書いていきます。 今回の記事は前回からの続きとなりますので、未読の方はぜひこちらをご覧ください。 パフォーマンスが一定以上出るかどうか 前回の記事でも書きましたが、ここで言う、 「パフォーマンスが一定以上出る」 という表現は、 「他のCompilerと比較してパフォーマンスが極端に低くない」 という意味であり、最適(最速)な組み合わせを求めているわけではありません。 特定の Compiler によって、性能が大きく劣化してしまうケースは、 前回述べた、動作そのものが不安定になるケ...
未分類

NGC(NVIDIA GPU CLOUD)のシステム要件および登録手順

NGC(NVIDIA GPU CLOUD)のシステム要件および登録手順
未分類

NGC(NVIDIA GPU CLOUD)の概要

NVIDIAが提供しているNGC(NVIDIA GPU CLOUD)の概要
未分類

Kamonohashi初心者講座

はじめに  Kamonohashiを使用して、どのように機械学習を進めて行けばよいかを、簡単な例を通して紹介します。機械学習に関して知見が十分あり、Kamonohashiの利用方法を知りたい人は、公式チュートリアルを参照ください。  Kamonohashiユーザーのための機械学習講座カリキュラムは下記になります。Kamonohashiのアカウント、GitHub/GitLabのアカウントを有する人が対象です。 データセットの準備と登録 サンプルプログラムの準備 テスト環境での実行 Kamonohashiで学習  Kamonohashiの利用にあたって、利用端末にDo...
未分類

Kamonohashiを構築してみた

Kamonohashiとは  Kamonohashiとは、上にある絵のような生物ではなくて、日鉄ソリューションズが、AI開発の基盤システムとして提供しているソフトウェアで、5月にオープンソース化されました。データの管理や学習するGPUの割り振りなどをしてくれる開発プラットフォームです。今回は、Kamonohashiの構築について紹介したいと思います。 (カモノハシの絵は、本件のKamonohashiとは一切関係ありません。)  Kamonohashiは、複数人で、GPU、ストレージを共有し、AI開発をチームで推進することを想定して開発されています。AI開発を、チームで進めるには、学習にお...
未分類

DGX-1 ベンチマークレポート

概要  先日、DGX-1を購入した記事を書きました。今回は、DGX-1を現在の他製品と比較したベンチマークを紹介します。 ハードウェア環境  今回は、DGX-1と、HPC5000-XBWGPU10R4Sに Tesla V100-PCIE(16GB)、RTX2080Tiを搭載して、比較します。ハードウェア環境は下表のとおり。表で分かる通り、RTX2080TiとTesla V100PCIEは、4枚しか持っていません。 機種 NVIDIA DGX-1 HPC5000-XBWGPU10R4S 搭載GPU Tesla V100-SXM2 RTX2080Ti、Tesl...
未分類

Compilerの種類、Versionに関する話(その1)

お客様とソース配布のアプリケーションについて話をしていると、 " アプリケーションビルドに、この Compilerでは問題ないですか " " アプリケーションビルド時に、Compiler の差はどの程度ありますか " という質問を受けることがあります。 今回はこの点について書いていきたいと思います。 話の前提として、" 特定のアプリとCompilerの組み合わせ" については、組み合わせ数が膨大となり、ここでは書ききれません。 あくまで一般論となってしまうことはご了承下さい。 また、Compiler が問題ない、と判断する基準は、 安定して動作する事 パフォー...
未分類

意外と知られていない?Googleのメモツール

日々、膨大な情報の渦の中でさまざまな思索を行う中、思いついたアイデア、ふと思い出したこと、忘れちゃいけないことを、あとでぱっと取り出せるように保管しておきたいことがあります。こうした用事を片付けるのに様々なツールを試されたことが、これを読んでいる貴方も、あるのではないでしょうか。そんな中、意外とあまり知られていない(ような気がします;筆者経験上)、Googleによるツール「Google Keep」を私は愛用しているので、他のツールと比べながら、紹介したいと思います。 ツールその1「自分の脳(記憶)」・・・覚えておく。 長所:持ち物が一切不要。 短所:忘れることがある(忘...
未分類

Intel Math Kernel Library ( Intel MKL ) について

時々、お客様からIntel Math Kernel Library ( Intel MKL ) に関する質問を受けます。 最近、Intel MKLはソース配布のHPC向けアプリケーションでも対応例が多いため、興味を持たれている方も多い印象です。 そのため、今回は Intel MKLについて解説します。 〇 Intel MKL とは Intel MKLは数値演算ライブラリの1種で、主な機能としては BLAS ( Basic Linear Algebra Subprograms )、LAPACK ( Linear Algebra PACKage ) となります。 数値演算...
未分類

サインして自分だけのオリジナルコンテナイメージを作ろう

背景 どこかで聞いたようなタイトルですが・・・。 さて、DockerやSingularityなどのコンテナは、インターネット回線があれば公開リポジトリにあるイメージをどんどん持ってきて、自分の環境で利用することができます。反面、そのイメージの品質やセキュリティレベルについては自己責任です。しかし、中に何が入っているかつぶさに調べてからでないと使えないというのでは、せっかくの利便性が活きません。昨年Docker hubに登録されていたイメージの中に、仮想通貨のマイニングツールが仕込まれているものが複数見つかるという事件が起きたことから、利便性に隠れて見て見ぬふりをされてきた議論が一気に活発に...
未分類

短時間ジョブのスループットについてのシンプルな実験

背景 ビッグデータという言葉もそろそろ使い古され、耳にする機会も減ってきた気がしますが、そういう分野がなくなってしまったわけではなく、そうしたサイズのデータを扱うことが当たり前になったという解釈が妥当そうです。実際、ビッグデータという単語を聞かなくなったこととは裏腹に、これまで得られた多数の計算結果を網羅的に統計処理をしたり、データ間の相関を取るなど、直接計算結果を得ることの先の業務が必要になって来ていると、よく耳にするようになりました。その分析にAI的な手法を用いることで効率的に目的(予算の獲得ではなく・・・)を達成できることもあるようですが、コンピュータ資源の利用方法が従来と大きく変わっ...
未分類

UBIとSingularityと

UBIとは 先日Redhat Enterprise LInux 8がリリースされました。使い勝手の面ではあまり変わりませんが、内部的に多くの更新や変更がはいっており、期待が高まるところです。ところで、同時に発表されたUniversal Base Image(UBI)が話題になっています。これはコンテナ専用のOSイメージで、Redhat社の公式OSイメージであるにも関わらず無償で提供され、再配布まで可能になっています。そのため、自分でコンテナイメージを作る必要がなく、拾ってきたイメージに何かが仕込まれているといった懸念もありません。サブセットながら公式のリポジトリがあり、yumやdnfでアップ...
未分類

ARMでGROMACS

HPCチャレンジを動かして、大まかなARMのcpuの性格が分ったという事で、では、実アプリじゃどうなのか、という話になりました。 OSは共通、さらに、gccやclang、flangが使用可能という事で、ソースがあるlinux上の大抵のアプリはポート出来るとは思いはするものの、やはり、ポーティングされた例が多いものである方が成功する可能性は高いと考えられます。ポーティング例が多く、ソースが付属しているとなると、やはりOpenSouce系のアプリが良いでしょう。という訳で、gromacsをビルドして動かしてみる事にしました。 gromacsを選択する理由として 1、OpenSour...
未分類

PDCP使ってますか?

ファイルだって並列でDistributeしたい 前回のpdshには、pdcpというファイルコピーを複数のサーバーへ並列で行うユーティリティが存在します。これを用いれば、クラスターノードを増設で全てのマシンの/etc/hostsを更新したいとか、ライセンスサーバーのアドレスが変わったので静的ルートの設定ファイルを一斉に更新したいとか、そういうケースでコマンド一発でしかも並列実行できます。多数のファイルを一斉に送信できるという意味のパラレルではありませんのでご注意下さい。 転送 基本的に使い方はpdshと変わりません。-wや-gで標的となるホスト名やグループを指定します。次に展開するファイル...
未分類

PDSH使ってますか?

PDSHとは もともとIBMのクラスター管理ユーティリティ群だったClusterITの中にあったdsh(Distributed shell)のパラレル版です。dshは同じ処理を多数のマシンで行いたい場合に使うものですが、クラスターシステムの大規模化やスピードアップのために、並列動作に対応させたのがPDSHです。 RHEL/CentOSではEPELリポジトリからインストール可能ですし、ビルド自体も難しくはありません。PDSHソースコード配布元はこちら。 ここでは計算ノードがnode001からnode128まで128台あるとし、ログインしている管理ノードからは、全てのマシンにパスワードなしで...
未分類

システムの可用性を考えるための基礎

背景 システムは壊れることを前提に、ユーザーの優先順位に従い、被害を最小限にするよう設計されます。つまり、被害の定義や優先順位によってその設計は変わってくることになります。ここではそのための用語と方針について、簡単に触れてみたいと思います。 冗長化(Duplication) システムの運用が連続的に続けられる性質を可用性(Availability)とよび、それを実現するために同じものを複数用意し、いつでもどちらかが利用可能とすることを冗長化と呼びます。冗長の具合により最低限必要な個数をNとしてN+1といった表現を用います。RAID6はN+2相当と考えられます。冗長化は可用性を高めるための...
未分類

データの信頼性について改めて考えてみる

背景 「自分で書いたメモが読めない・・・」こんな経験はないでしょうか。 字が汚な過ぎたというのはともかく、紙の質やインクが薄かったり、濡れてしまったり、理由はいろいろあると思います。 記録メディアはどうでしょうか。光学メディアに傷を付けて読み込みエラーになったり、書き込みに失敗したり、 ドライブの相性で読めなかったりということがあります。CDは蒸着したアルミ薄膜が酸化して読めなくなることがあるようです。思い出の一枚はチェックしておいたほうが良さそうです。 また、留まるところを知らない半導体や記録媒体の微細化、信号の高速化により、データは常に変容する危険性を はらんでいます。ここでは大容...
未分類

第2世代IntelXeonスケーラブルプロセッサベンチマーク:Gaussian

Gaussianは量子化学計算のアプリケーションで、この分野においてデファクトスタンダードとなっています。(公式HP) 2018年4月3日時点での最新版は、Gaussian 16 rev.B01 となります。 今回のベンチマーク環境は以下となります。   第2世代環境 (第2世代インテルXeonスケーラブルプロセッサ) 第1世代環境 (第1世代インテルXeonスケーラブルプロセッサ) CPU Xeon Platinum 8268 x 2 ( 2.9GHz/24Core ) x 2 Xeon Gold  6154 ( 3.0 GHz/18Core ...