TensorFlow、PyTorch、MxNet の各コンテナーを Singularity で実行へ
最速レベルのスーパーコンピューターは、x86 アーキテクチャや Power アーキテクチャを NVIDIA GPU と組み合わせて実現されています。しかし、中国、欧州、日本のサイトでは Arm プロセッサを搭載した初のエクサスケール システムに取り組んでいることから、電力効率に優れた CPU アーキテクチャが最上位のハイ パフォーマンス コンピューティング分野で採用されるようになっています。
サイトの多様化が進む中、NVIDIA の NGC コンテナー レジストリを使用すれば、Arm システムでのアプリケーションの展開がシンプルになり、システム管理者はクラスターの管理の複雑さを軽減できます。
コンテナーを使用することで、複雑な環境モジュールを構築して管理する必要がなくなり、ユーザーはパフォーマンスに影響を及ぼすことなく、アプリケーションを迅速に展開し、再現可能な結果を得ることができます。
ユーザーのアクセスを高速化し、生産性を向上させるため、NVIDIA は NGC ディープラーニング コンテナーを Singularity 上で実行できるようにします。
NGC コンテナーが生産性を向上
NGC レジストリでは、HPC アプリケーション、ディープラーニング フレームワーク、機械学習アルゴリズム、サイエンティフィック ビジュアライゼーション ツール用の各コンテナーを提供しています。これらのコンテナーは、性能を高めるために最適化され、マルチ GPU およびマルチノードのシステムをサポートし、ワークステーションやサーバー、クラウド環境を含むさまざまなプラットフォームでの動作テストが行われています。
TensorFlow、PyTorch、MxNet、NVCaffe といったディープラーニング フレームワークは、パフォーマンス向上のために継続的にアップデートされ、NGC で毎月リリースされています。そのため、ユーザーはより大規模で高速かつ高精度のネットワークを構築できるようになっています。HPC アプリケーション コンテナーは多くの開発者によって構築されており、新しいリリースではユーザーは最新の機能に簡単にアクセスでき、同じハードウェア上でより高いパフォーマンスが得られます。
ディープラーニング コンテナーを Singularity で実行
科学者が研究に AI を使うことが多くなっており、システム管理者は頻繁にリリースされるディープラーニング フレームワークの複雑なインストールをナビゲートする必要があります。
Singularity は、マルチテナント システム上でユーザーが非特権モードでコンテナーを取得して実行できることから、HPC で最も人気の高いコンテナー ランタイムの 1 つです。HPC 研究者やシステム管理者の間では、Singularity がサポートされていないことが NGC のディープラーニング コンテナーの採用を思いとどまらせる要因となっていました。
そこでこのたび、Singularity ランタイムのベータ版 サポートを v19.11 以降から NGC のディープラーニング コンテナーに拡張しました。なお、NGC の HPC コンテナーに対しては、以前に Singularity のサポートを発表しています。
それぞれの README ファイルに Singularity に関する手順が記載されているので、ユーザーは各自の HPC 環境に NGC コンテナーを簡単に展開できるようになります。
Arm エコシステムを構築
Arm プラットフォームは、ストレージ、ネットワーク、GPU 処理といったさまざまな構成要素が連動し始めたことで急速な進化を遂げています。ハードウェア インフラストラクチャに加えて、主要な HPC アプリケーションやビジュアライゼーション アプリケーションが Arm 上で動作するように、開発者がコードを移植しています。
GPU 搭載システムでのアクセラレーテッド HPC アプリケーションの使用をさらにシンプルにするため、NVIDIA は NGC を拡張して、HPC 用、ディープラーニング用、ビジュアライゼーション用の Arm のコンテナーを提供します。これらのコンテナーは Singularity 上でテストされており、システム管理者は簡単にユーザーをサポートすることができます。
x86 および Arm 上で簡単に Julia を展開
Julia は HPC 用のオープン ソース プログラミング言語です。Julia は x86 および Arm 用のコンテナーを通して提供されており、Julia で CUDA カーネルを作成するか、強力な配列プログラミング モデルを使用することで、GPU プログラミングに利用できます。
Julia は、機械学習、データ サイエンス、さまざまな科学分野、およびビジュアライゼーションに対応する包括的な HPC エコシステムのパッケージを提供しています。
HPC クラスター用コンテナー ツールのエコシステム
スーパーコンピューティング センターによっては、独自のコンテナーを構築してホストすることを好むこともあります。HPC Container Maker (HPCCM) は、HPC アプリケーション コンテナーの開発をシンプルにするオープン ソース プロジェクトです。
HPCCM は、モジュール化された構成要素にカプセル化されており、HPC のコア コンポーネントを展開する際のベスト プラクティスとコンテナーのベスト プラクティスに従って、イメージ サイズを最小化し、他のコンテナー機能を利用します。
エアギャップされたシステムを管理する HPC システム管理者は、NGC コンテナー レプリケーターを使って、最新バージョンの NGC コンテナーを Singularity 形式で自動的にダウンロードし、保存できるようになりました。これにより、ユーザーソフトウェアにより速くアクセスできるようになり、ネットワーク トラフィックが軽減され、ストレージ領域が節約されます。
NGC はエッジ、データ センター、およびクラウドでの HPC に対応
現場の数十億ものセンサーから収集されるデータの量は、HPC が従来のシミュレーションを超えて、エッジでのセンサー データの処理へと拡大する必要があることを意味します。たとえば、ヨーロッパ中期予報センター (ECMWF) が 1 日あたりに生成するデータは、250 TB を超えます。このような大規模なデータセットを扱う組織にとって最善の選択は、データが生成される場所でリアルタイムにデータを分析することであり、また、その重要なデータを使ってより良いモデルを構築することです。
NGC を使用すると、エッジやデータ センター、あるいはクラウド上のベアメタル、仮想マシン、または Kubernetes 上に、共通の HPC および AI ソフトウェア スタックを簡単かつ一貫して展開できるようになります。
NGC ソフトウェアを今すぐ展開
ngc.nvidia.com からアプリケーション コンテナーを取得し、GPU を搭載した x86 または Arm システム上の Singularity または Docker で実行してみましょう。