Spack¶
Spack 是一款软件包管理工具,旨在为各种平台和环境提供对软件多版本和多配置的支持。它专为大型超级计算中心设计,在这些中心中,许多用户和应用程序团队在具有特殊架构的集群上共享通用的软件安装,并使用没有标准 ABI 的库。Spack 是非破坏性的:安装新版本不会破坏现有的安装,因此许多配置可以在同一系统上共存。
最重要的是,Spack 非常简单。它提供了一种简单的规格(spec)语法,使用户能够简洁地指定版本和配置选项。对于软件包作者而言,Spack 也同样简单:软件包文件是用纯 Python 编写的,且规格允许软件包作者为同一个软件包的许多不同构建版本维护单个文件。
请参阅功能概述以获取示例和亮点。
从 GitHub 仓库获取 Spack 并安装您的第一个软件包
$ git clone --depth=2 https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install libelf
注意
--depth=2 会修剪 git 历史记录,以减小 Spack 安装的大小。
如果您是 Spack 的新手并想开始使用它,请参阅入门指南,或参考下方的完整手册。
配置
- 配置文件
- Spack 设置 (config.yaml)
install_tree:rootprojectionsbuild_stagesource_cachemisc_cacheverify_sslssl_certschecksumlocksdirtybuild_jobsccacheshared_linking:typeshared_linking:bindinstall_statusaliasesconcretization_cache:enableconcretization_cache:urlconcretization_cache:entry_limitconcretization_cache:size_limit
- 软件包设置 (packages.yaml)
- 工具链 (toolchains.yaml)
- 具体化设置 (concretizer.yaml)
- 软件包仓库 (repos.yaml)
- 镜像 (mirrors.yaml)
- 链接 Spack 安装 (upstreams.yaml)
- 模块 (modules.yaml)
- 包含设置 (include.yaml)
- 环境变量设置 (env_vars.yaml)
参考
- 环境 (spack.yaml, spack.lock)
- 容器镜像
- 构建缓存
- 自举 (Bootstrapping)
- 命令参考
- spack
- spack add
- spack arch
- spack audit
- spack blame
- spack bootstrap
- spack build-env
- spack buildcache
- spack cd
- spack change
- spack checksum
- spack ci
- spack clean
- spack commands
- spack compiler
- spack compilers
- spack concretize
- spack config
- spack containerize
- spack create
- spack debug
- spack deconcretize
- spack dependencies
- spack dependents
- spack deprecate
- spack dev-build
- spack develop
- spack diff
- spack docs
- spack edit
- spack env
- spack extensions
- spack external
- spack fetch
- spack find
- spack gc
- spack gpg
- spack graph
- spack help
- spack info
- spack install
- spack isolate
- spack license
- spack list
- spack load
- spack location
- spack log-parse
- spack logs
- spack maintainers
- spack make-installer
- spack mark
- spack mirror
- spack module
- spack patch
- spack pkg
- spack providers
- spack pydoc
- spack python
- spack reindex
- spack remove
- spack repo
- spack resource
- spack restage
- spack solve
- spack spec
- spack stage
- spack style
- spack tags
- spack test
- spack test-env
- spack tutorial
- spack undevelop
- spack uninstall
- spack unit-test
- spack unload
- spack url
- spack verify
- spack versions
- spack view
- 自定义扩展
- CI 流水线
- Spack 软件包签名
- 使用外部 GPU 支持
API 文档
- Spack 软件包 API
- Spack 内置仓库
- Spack API 文档
get_short_version()get_spack_commit()get_version()min_package_api_versionpackage_api_versionspack_version_info- 子软件包
- 子模块
- spack.aliases 模块
- spack.archspec 模块
- spack.audit 模块
- spack.binary_distribution 模块
- spack.build_environment 模块
- spack.buildcache_migrate 模块
- spack.buildcache_prune 模块
- spack.builder 模块
- spack.caches 模块
- spack.concretize 模块
- spack.config 模块
- spack.cray_manifest 模块
- spack.database 模块
- spack.dependency 模块
- spack.deptypes 模块
- spack.directives 模块
- spack.directives_meta 模块
- spack.directory_layout 模块
- spack.enums 模块
- spack.error 模块
- spack.extensions 模块
- spack.externals 模块
- spack.externals_config 模块
- spack.fetch_strategy 模块
- spack.filesystem_view 模块
- spack.graph 模块
- spack.hash_lookup 模块
- spack.hash_types 模块
- spack.install_test 模块
- spack.installer 模块
- spack.installer_dispatch 模块
- spack.main 模块
- spack.mixins 模块
- spack.multimethod 模块
- spack.new_installer 模块
- spack.new_installer_base 模块
- spack.new_installer_posix 模块
- spack.package_base 模块
- spack.package_completions 模块
- spack.package_prefs 模块
- spack.package_test 模块
- spack.patch 模块
- spack.paths 模块
- spack.phase_callbacks 模块
- spack.projections 模块
- spack.provider_index 模块
- spack.relocate 模块
- spack.relocate_text 模块
- spack.repo 模块
- spack.repo_migrate 模块
- spack.report 模块
- spack.resource 模块
- spack.rewiring 模块
- spack.sandbox 模块
- spack.spec 模块
- spack.spec_filter 模块
- spack.spec_parser 模块
- spack.stage 模块
- spack.store 模块
- spack.subprocess_context 模块
- spack.tag 模块
- spack.tengine 模块
- spack.tokenize 模块
- spack.traverse 模块
- spack.url 模块
- spack.url_buildcache 模块
- spack.user_environment 模块
- spack.variant 模块
- spack.verify 模块
- spack.verify_libraries 模块