Skip to content

Latest commit

 

History

History
61 lines (31 loc) · 2.7 KB

ops.md

File metadata and controls

61 lines (31 loc) · 2.7 KB

ops

Pre

本赛题主要考的是 HPC 中一些比较常见的运维操作。推荐先完成科学计算其他题目,对运维感兴趣的可以做该题。

出题人摆了,搞运维太麻烦了,因此本题我们的要求不多。若你对运维感兴趣可以做做看,我们也非常欢迎喜欢倒腾服务器的人来我们的团队玩。

Problems

容器化

很多时候超算的应用涉及各种依赖库,而超算用户并非全都是学习计算机的,因此很多时候我们将应用制作成容器分发给用户使用,给超算用户减少些编译的工作量。

本题我们要求你学会 docker、singularity 的基本使用,并能使用 singularity 構建任意简单镜像。

提示:推荐使用 Singularity CE 社区版本。


报告要求:

1. docker、singularity 使用方法整理以及心得

2. 使用 singularity 构建任意简单镜像,要求提供镜像构建脚本文件

3.(可选)如果你有一台多机互连的机器,尝试构建一个运行 MPI 程序的 singularity 镜像,并进行多机运行。

提示:这里有一些例子:https://docs.sylabs.io/guides/3.3/user-guide/mpi.html


Spack

听闻 Gentoo Linux 发行版的软件都需要自行编译,其原理大致是下载对应软件源码包,然后根据社区提供的脚本进行编译安装。

在超算中我们有着大量的编译操作需求,很多时候我们并不能通过 apt 等包管理器一键嗦哈所有操作,但没关系,现在我们也有了和 Gentoo 软件安装一样思路的专为超算而生的软件 spack。spack 为 HPC 提供了一个庞大的社区,这个社区维护各种超算上常见软件的编译安装方式、源代码下载地址,我们可以使用 spack 命令自动下载我们需要的软件源码包,并以一种灵活的方式进行编译安装。同时它还能分析软件的依赖关系,像 conda 那样隔离各种依赖版本,能够有效减轻很多超算管理员编译软件的痛苦(。

本题中,我们要求你安装 spack,并试用该软件进行任意应用的下载编译,比如 GCC(。

提示:spack 的安装方式见其 GITHUB 主页


报告要求:

1. spack 使用方法整理以及心得

2. 使用 spack 构建至少一个任意应用,给出安装的自动化 bash 脚本

提示:你可以使用 spack info xxx 查看应用的编译安装信息。

3.(可选)了解一下 spack 是如何解析各个应用的下载地址、如何编译、需要哪些依赖的。


After

推荐阅读书籍:

  1. 《Unix/Linux 系统管理技术手册(第 5 版)》