通过 Spack 包在 Mac/Linux 上安装 ALPS
Spack 安装
如果您计划使用 ALPS 的并行版本或在超级计算环境中运行 ALPS,除了源码安装外,您也可以通过 Spack 包管理工具 进行安装。我们建议您查看 Spack 中的 ALPS 包详情 以及 Spack 文档。
Spack 能够自动确定 ALPS 的依赖项,并安装 ALPS 所需的正确版本。该安装也是针对每个用户在各自的主目录中进行的,因此不会影响同一计算机集群中的其他用户。
安装步骤
首先,需要从 GitHub 仓库克隆 Spack:
git clone --depth=2 https://github.com/spack/spack.git这将创建一个名为 spack 的目录。您可以根据您的 shell 类型加载相应的脚本。
对于 bash、zsh 和 sh 用户:
. spack/share/spack/setup-env.sh对于 csh 和 tcsh 用户:
source spack/share/spack/setup-env.csh接下来,Spack 需要找到您计算机中所有可用的编译器:
spack compiler find此命令将让 Spack 检测系统中所有可用的编译器,并在您主目录下的隐藏目录 .spack 中创建一个 packages.yaml 文件。您可以使用以下命令查看或编辑它:
spack config edit packages或者,您可以通过以下命令查看可用的编译器:
spack compilers所需的最低编译器版本为 gcc@10.5.0 和 clang@13.0.1。
我们可以查看一下 Spack 中 ALPS 的信息页面:
spack info alps它将显示 ALPS 的包依赖关系。所有相关包都将通过 Spack 的包管理系统自动安装。
最后,让我们安装 ALPS!
spack install alps故障排除
Boost 库问题
在 Spack 的 Boost 包中,其变量 cxxstd 的默认值是 “11”,这与 ALPS 要求的 C++14 标准 不一致。您可以在以下位置的 package.py 文件中编辑此默认值:
~/.spack/package_repos/fncqgg4/repos/spack_repo/builtin/packages/boost/package.py或者,如果不更改包的默认值,您可以在命令行中设置该变量的值:
spack install alps ^boost@1.87.0 cxxstd=14这将以 C++14 标准编译 Boost 库。