实验室集群文档介绍了如何配置、使用 Spack。本文用具体的例子来演示如何在超算上配置 Spack,主要内容如下:
- 准备必要的数据
- 配置 Spack,修改配置文件
- 添加编译器和外部软件包
- 自定义软件包,安装软件包
- 导出模块文件
- 使用新安装的软件包
本文涉及的所有内容基本都包含在实验室集群文档和 Spack 官方文档中,因此不再专门给出链接。
实验室集群文档介绍了如何配置、使用 Spack。本文用具体的例子来演示如何在超算上配置 Spack,主要内容如下:
本文涉及的所有内容基本都包含在实验室集群文档和 Spack 官方文档中,因此不再专门给出链接。
使用实验室集群时,我们可能偶尔会遇到断开连接的情况,可能是主动断开SSH,也可能是网络不稳定。无论怎样,重新连接后不会自动恢复上一次的工作(所在的路径、环境变量、打开的文件等)。
为了保存工作,便于重连后继续,我们可以让自己的程序或者 shell 在后台一直运行。保持程序后台运行的方式/工具有很多,本文简单介绍以下几种:
nohup
和 &
screen
tmux
本文演示了如何使用实验室集群上安装的BOUT++。
使用已安装的某版本BOUT++库:
$ spack load bout-dev ~openmp+scorep
使用BOUT++的依赖,但不包括BOUT++库本身:
$ spack load --only dependencies ~openmp+scorep
查看当前BOUT++的配置:
$ bout-config --all
Spack的环境变量、自动补全等都由Spack目录下的脚本设置。例如,为bash设置环境变量的命令为
$ export SPACK_ROOT=/path/to/spack
$ source $SPACK_ROOT/share/spack/setup-env.sh
当我们有多个Spack时,直接source
其中一个Spack的环境配置脚本可能不会达到预期效果。比如,首先加载了集群的公共Spack,随后切换到自己的本地Spack,实际上仍有些环境是公共Spack设置的。此时我们需要清除一下旧的环境。