コンテンツに移動
HPC

Google Cloud での Spack 向け公開バイナリのリリースに関するお知らせ

2023年8月7日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Spack_on_Google_Cloud.max-2500x2500.jpg
Google Cloud Japan Team

※この投稿は米国時間 2023 年 8 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。

このたび、Spack の新しいビルド キャッシュをリリースすることになりましたのでお知らせします。このビルド キャッシュは、Google Cloud および HPC VM イメージ(CentOS 7 ベース)で使用できる特定のマイクロアーキテクチャを対象に移植可能な最適化されたビルドを提供するものです。

Spack は、さまざまなコンピュータ プラットフォームとオペレーティング システムにわたってソフトウェアの複数のバージョンと構成をサポートするように設計されたパッケージ管理ツールで、複雑なソフトウェア パッケージのデプロイを簡素化するうえで役立ちます。Spack でビルド キャッシュを使用すると、ソフトウェアのインストール時間を大幅に短縮できます。

このビルド キャッシュは Cloud Storage でホストされており、大規模な HPC のデプロイをサポートするスケーラブルなストレージ バックエンドを提供します。このバイナリ キャッシュを使用すれば、長いコンパイル プロセス(数時間)を、大幅に短いインストール プロセス(数分または数秒)に置き換えることができます。

Spack によって解決される問題

インフラストラクチャをほぼ瞬時にデプロイできることは、クラウドでワークロードを実行するにあたっての重要なメリットです。ただし、デプロイは、複雑なソフトウェアのビルドとインストールによって遅くなることがあります。これは、科学およびエンジニアリングのツール、ライブラリ、アプリケーションについて特に当てはまります。Spack は元々、多くのユーザーとアプリケーション チームが複雑なソフトウェア インストールを共有するスーパーコンピューティング センター向けに作成されたものです。Spack は、バイナリ ビルド キャッシュを作成してパッケージのインストール時間を大幅に短縮する機能を提供しています。

Google の Spack バイナリ キャッシュの使用方法

Google Cloud で Spack の使用を検討している方には、Spack と Google Cloud HPC Toolkit を使用して一般的な HPC アプリケーションをデプロイするチュートリアルから始めることをおすすめします。このチュートリアルでは、環境への Spack のインストールを自動化する Cloud HPC Toolkit の spack-install モジュールを使用します。

Spack バイナリ キャッシュは、特定のバージョンの Spack を対象に構築されています。現在、Google Cloud のキャッシュは Spack の v0.20.0 リリースをサポートしており、将来的には Spack のメジャー リリースを対象に構築された新しいキャッシュを提供する予定です。

すでに Spack が環境にインストールされている場合、Google の v0.20.0 Spack バイナリ キャッシュは「spack mirror」コマンドを使用して簡単に構成できます。
読み込んでいます...

「latest」という名前を「v0.20.0」という明示的なバージョンに置き換えることもできます。このキャッシュから読み取るように Spack を構成すると、「buildcache list」コマンドを使用して利用可能なパッケージを表示できます。

読み込んでいます...

パッケージ(gcc v13.1.0 など)は、「install」コマンドを使用して追加できます。

読み込んでいます...

パッケージのインストール中に、利用可能なバイナリがキャッシュから自動的に pull されます。パッケージ(または依存関係)が欠落している場合、Spack はフォールバックし、ソースからそれをビルドします。最適化されたビルドを強制的に選択するには、「install」コマンドでターゲット指定子を使用してパッケージをインストールします。

読み込んでいます...

「arch」コマンドを使用すると、特定のプラットフォームで Spack が使用するターゲットを決定できます。

読み込んでいます...

対応プラットフォーム

現在、特定の VM ファミリーおよび CentOS 7 ベースの HPC VM イメージを対象とする最適化されたビルドが利用可能です(Rocky Linux 8 ベースの HPC VM イメージのサポートについてはしばらくお待ちください)。SchedMD Slurm-GCP CentOS 7 HPC イメージもサポートされています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_Spack_on_Google_Cloud.max-2000x2000.jpg

Spack ビルド キャッシュの今後の進化

この Spack ビルド キャッシュは現在、Spack v0.20.0 を使用したビルドを提供しており、Spack v0.20.0 シリーズのすべてのマイナー リリースでサポートされています。Google Cloud は、Spack の新しいメジャー リリースごとにパッケージを更新することを目標としています。また、新しい VM ファミリーがリリースされるたびに、その VM ファミリー向けに最適化されたビルドを含めることも目指しています。利用可能なビルド キャッシュは、以下を使用して確認できます。
読み込んでいます...

以下を使用して、特定のバージョンのビルド キャッシュを使用するように Spack を構成できます。

読み込んでいます...

バージョン「<spack_version>」を「latest」に置き換えて、キャッシュの最新ビルドを指定することもできます。

この新しい Spack キャッシュは、インフラストラクチャのデプロイ時間を短縮することを目的とした、厳選されたパッケージのリストを提供しています。新しいパッケージをビルド キャッシュに追加するようリクエストする際は、アカウント マネージャーにお問い合わせください。

まとめ

Spack バイナリ キャッシュを使用して最適化されたビルドをお客様に提供することで、さらなる簡素化、最適化、時間の節約を実現するお手伝いができることを Google Cloud は嬉しく思っています。Google の Cloud HPC Toolkit の詳細についてご関心があるお客様は、プロダクト ドキュメントGitHub リポジトリをご確認ください。ご質問やご意見がある場合は、アカウント マネージャーにお問い合わせいただくか、Google Cloud までご連絡ください


- HPC ソフトウェア エンジニア Doug Jacobsen
- Google Cloud、HPC プロダクト マネージャー Chelsie Czop(Peterson)
投稿先