はじめに • 設定 • コミュニティ • 貢献 • パッケージ化ガイド
Spack は、ソフトウェアの複数のバージョンと構成を構築およびインストールするマルチプラットフォーム パッケージ マネージャーです。 Linux、macOS、Windows、および多くのスーパーコンピューターで動作します。 Spack は非破壊的です。新しいバージョンのパッケージをインストールしても、既存のインストールは破壊されないため、同じパッケージの多くの構成が共存できます。
Spack は、ユーザーがバージョンと構成オプションを指定できるようにする単純な「spec」構文を提供します。パッケージ ファイルは純粋な Python で記述されており、仕様により、パッケージ作成者は同じパッケージの多くの異なるビルドに対して 1 つのスクリプトを作成できます。 Spack を使用すると、思い通りの方法でソフトウェアを構築できます。
例とハイライトについては、「機能の概要」を参照してください。
spack と最初のパッケージをインストールするには、Python と Git があることを確認してください。それから:
$ git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install zlib
ヒント
-c feature.manyFiles=true
1,000 以上のファイルを含むリポジトリでの git のパフォーマンスを向上させます。
--depth=2
Git 履歴を整理して、Spack インストールのサイズを削減します。
完全なドキュメントを入手するか、 spack help
またはspack help --all
を実行してください。
Spack 構文のチートシートについては、 spack help --spec
を実行してください。
私たちは実践的なチュートリアルを維持しています。基本的な使用法から高度な使用法、パッケージ化、開発者向け機能、大規模な HPC 展開について説明します。 Docker コンテナーを使用して、自分のラップトップですべての演習を実行できます。
組織内のユーザーに Spack について教えるために、これらの資料を自由に使用してください。
Spack はオープンソース プロジェクトです。質問、議論、寄稿は大歓迎です。貢献には、新しいパッケージからバグ修正、ドキュメント、さらには新しいコア機能まで、あらゆるものが含まれます。
リソース:
@mention
してください!Spack への貢献は比較的簡単です。プルリクエストを送信してください。リクエストを送信するときは、Spack リポジトリ上で宛先ブランチdevelop
します。
PR は Spack の単体テストとドキュメント テストに合格し、PEP 8 に準拠している必要があります。当社では、CI プロセスでこれらのガイドラインを強制します。これらのテストをローカルで実行する場合、および git に関する役立つヒントについては、コントリビューション ガイドを参照してください。
Spack のdevelop
ブランチには最新の貢献があります。プル リクエストは、 develop
ターゲットにする必要があり、最新のパッケージ バージョン、機能などを必要とするユーザーは、 develop
使用できます。
マルチユーザー サイトの展開や、非常に安定したソフトウェアのインストールが必要なその他のユースケースの場合は、Spack の安定リリースを使用することをお勧めします。
各 Spack リリース シリーズには、対応するブランチもあります。たとえば、 releases/v0.14
には Spack の0.14.x
バージョンがあり、 releases/v0.13
には0.13.x
バージョンがあります。私たちは重要なバグ修正をこれらのブランチにバックポートしますが、パッケージのバージョンを上げたり、Spack がリリース ブランチ内で依存関係を具体化する方法を変更するようなその他の変更を加えたりすることはありません。そのため、 develop
に伴うパッケージのチャーンを発生させることなく、リリース ブランチとgit pull
に基づいて Spack デプロイメントを構築して修正を取得できます。
最新リリースは、 releases/latest
タグを使用すると常に入手できます。
詳細については、リリースに関するドキュメントを参照してください。
Spack には行動規範があることに注意してください。 Spack コミュニティに参加すると、そのルールに従うことに同意したことになります。
Spack の貢献者に感謝します。
Spack は Todd Gamblin ([email protected]) によって作成されました。
出版物で Spack に言及している場合は、次の論文を引用してください。
GitHub では、[このリポジトリを引用] ボタンを使用して、この引用を APA または BibTeX 形式でコピーできます。または、生の BibTeX については、 CITATION.cff
内のコメントを参照してください。
Spack は、MIT ライセンスと Apache ライセンス (バージョン 2.0) の両方の条件に基づいて配布されます。ユーザーは任意でどちらかのライセンスを選択できます。
すべての新しいコントリビューションは、MIT ライセンスと Apache-2.0 ライセンスの両方に基づいて行う必要があります。
詳細については、LICENSE-MIT、LICENSE-APACHE、著作権、および通知を参照してください。
SPDX ライセンス識別子: (Apache-2.0 または MIT)
LLNL コード-811652