超级计算机用户培训

介绍什么是超级计算机,超算中心简介,用户上机指南及如何编译,运行程序。
展开查看详情

1.2018 用 户培训 2018 INSTRUMENTS USER GUIDE 超 算 中 心 http://hpc.whu.edu.cn/ hpc@whu.edu.cn (027)-68776058 Supercomputing Center of Wuhan University

2.超算中心介绍 第一章 用户上机指南 第二章 程序编 译 及其它 第三章 作业调度系统 第四章 目 录 Contents

3.第一章 超算中心介绍 1 2 3 4 5 主要性能指标 硬件资源 软件资源 系统及存储 并行环境

4.1 主要性能指标 7632 个 CPU 核心,峰值计算能力 300 万亿次 / 秒 万兆 IP 计 算节点配置(万兆互联) 类型 CPU 内存 硬盘 数量 Hp Appollo2000 服务器(节点名: node0001-node0255 ) xg 队列 2*Intel Xeon E5-2630 v3 x86_64 , 2.4GHz , 16 核心 96GB DDR4 2133MHz ECC 240GB 固态硬盘 255 56G InfiniBand 计 算节点配置( Infiniband 交换机互联,一般用于 MPI 并行任务的提交) 类型 CPU 内存 硬盘 数量 Hp Appollo2000 服务器(节点名: node0256-node0375 ) ib 队列 2*Intel Xeon E5-2630 v3 x86_64 , 2.4GHz , 16 核心 96GB DDR4 2133MHz ECC 240GB 固态硬盘 120 Inspur 英信服务器(节点名: node0376-node0415 ) pub 队列 2*Intel(R) Xeon(R) E5-2682 v4 x86_64 , 2.5GHz , 32 核心 128GB DDR4 2400MHz ECC 240GB 固态硬盘 40 Inspur 天梭服务器(节点名: m001-m002 ) fat 队列 8*Intel(R) Xeon(R) CPU E7-8880 v4 , 2.20GHz , 176 核心 4TB DDR4 2400MHz ECC 500GB 固态硬盘 +8TB 机械硬盘 2 存储系统: 10 台 IO 节点, lustre 并行文件系统,可用空间 960TB 类型 CPU 内存 硬盘 数量 Dell R730 机架式存储, IO 节点(节点名: 0ss01-oss10 ) Intel Xeon E5-2609 v2 x86_64 , 2.1GHz , 6 核 32GB DDR3 1600MHz 2*600GB SAS 16*6TB SATA 1*56Gbps FDR InfiniBand 10

5.2 超算节点 01 02 03 管理节点 节点名为 deploy , 用户无权登录 登录节点 节点名为 n0255 ,用户主登录节点,可以进行编译与通过作业调度系统提交作业。禁止直接在此节点上运行作业。 计算节点 节点名: n0001-n0251, n0253-n0254,n0256,m001-m002 , 计算节点分为四个分区。

6.3 计算节点 node0001-node0251 Hp Appollo2000 服务器 , hpxg 计算节点,采用万兆互联方式。 node0376-node0415 Inspur 英信服务器 , pub 计算节点,采用 Infiniband 交换机互联 。 一般用于 MPI 并行任务的提交 。 node0256-node0375 Hp Appollo2000 服务器 , hpib 计算节点,采用 Infiniband 交换机互联 。 一般用于 MPI 并行任务的提交 。 m001-m002 Inspur 天梭 服务器 , fat 计算节点,采用 Infiniband 交换机互联 。 一般用于 MPI 并行任务的提交 。

7.4 计算环境 管理网络:千兆以太网 操作系统: x86_64 架构的 64 位 CentOS 6.6 Linux 编译器: Intel 、 PGI 和 GUN 等 C/C++ 、 Fortran 编译器 数值函数库: Intel MKL 并行环境: Intel MPI 和 Open MPI 等,支持 MPI 并行程序;各节点内的 CPU 共享 内存,节点内既支持分布式内存的 MPI 并行方式,也支持共享内存的 OpenMP 并行方式;同时支持在节点内部共享内存,节点间分布式内存的混合并行模式。 资源管理和作业调度: SLURM 常用公公软件安装目录: /home/ sof tware 。请自己查看有什么软件,有些软件需要在自己 ~/. bashrc 等配置文件中设置后才可以使用

8.5 系统拓扑

9.第二章 用户上机指南 2 3 4 5 1 帐户申请 登录终端 文件传输 作业提交 Linux 基本操作

10.1 Linux 基本操作 本章在介绍超算系统的上机指南之前,先简要介绍一下 Linux 的目录结构、路径使用以及一些基本命令。 / - 根:每一个文件和目录从根目录开始 。只有 root 用户具有该目录下的写权限 。 / bin 中 - 用户二进制 文件。包含 二进制可执行文件 。在 单用户模式下,你需要使用的常见 Linux 命令都位于此目录 下 / sbin 目录 - 系统二进制 文件。就 像 /bin , / sbin 同样也包含二进制可执行文件 。但是 ,在这个目录下的 linux 命令通常由系统管理员使用,对系统进行维护。例如: iptables 、 reboot 、 fdisk 、 ifconfig 、 swapon 命令 / etc  - 配置文件。包含 所有程序所需的配置文件 。也 包含了用于启动 / 停止单个程序的启动和关闭 shell 脚本。例如: / etc / resolv.conf 、 / etc / logrotate.conf /dev   - 设备 文件。包含 设备文件 。这些 包括终端设备、 USB 或连接到系统的任何设备。例如: /dev/tty1 、 / dev/usbmon0 /proc   - 进程 信息。包含 系统进程的相关信息 。这 是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如: /proc/{ pid } 目录中包含的与特定 pid 相关的信息 。这 是一个虚拟的文件系统,系统资源以文本信息形式存在。例如: /proc/uptime / var  - 变量 文件。 var 代表变量文件 。这个 目录下可以找到内容可能增长的文件 。这 包括 - 系统日志文件( / var /log ) ; 包和数据库文件( / var /lib ) ; 电子邮件( / var /mail ) ; 打印队列( / var /spool ) ; 锁文件( / var /lock ) ; 多次重新启动需要的临时文件( / var / tmp )

11.2 Linux 文件结构 / tmp   - 临时 文件。包含 系统和用户创建的临时文件 。当 系统重新启动时,这个目录下的文件都将被删除 。 / usr   - 用户程序。包含二进制文件、库文件、文档和二级程序的源代码。 /home  - HOME 目录。所有用户用 home 目录来存储他们的个人档案。如: /home/john 、 /home/ nikita /boot   - 引导加载程序文件。包含引导加载程序相关的文件。 /lib  - 系统库。包含支持位于 /bin 和 / sbin 下的二进制文件的库文件。库文件名为 ld * 或 lib*.so.* ,例如: ld-2.11.1.so , libncurses.so.5.7 /opt   - 可选的附加 应用程序。 opt 代表可选的 。包含 从个别厂商的附加应用程序 。附加 应用程序应该安装在 /opt/ 或者 /opt/ 的子目录 下 / mnt   - 挂载 目录。临时 安装目录,系统管理员可以挂载文件系统 。 /media   - 可移动媒体 设备。用于 挂载可移动设备的临时目录 。举例来说 ,挂载 CD-ROM 的 /media/ cdrom ,挂载软盘驱动器的 / media/floppy / srv   - 服务数据。 srv 代表服务 。包含 服务器特定服务相关的数据 。例如 , / srv / cvs 包含 cvs 相关的数据。

12.3 Linux 绝对路径 / 相对路径 Linux 操作系统中存在着两种路径:绝对路径和相对路径。我们在访问文件或文件夹的时候,其实都是通过路径来操作的。两种路径在实际操作中能起到同等的作用。 绝对路径永远都是相对 于 根目录 的 。它们的标志就是第一个字符永远都是“ /” 。 例如 /dev/ somedir / 、 /home/ zghong 相对 路径永远都是相对于我们所处的 文件夹位置即当前路径的。 它们的第一个字符没有“ /” 。 有 4 个相对路径的表示方法 : 1. 当前 目录 . 2. 父目录 .. 3. 某 用户的根目录 ~user 4. 自己 的根目录 ~

13.4 Linux 文件系统中的两个特殊目录 在 Linux 文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个 点‘ . ’ 来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点 ‘ .. ’ 来表示 。 . : 代表当前的目录,也可以使用 ./ 来表示; .. :代表 上一层目录,也可以 ../ 来代表 。 如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件 ( 如: . bashrc ) 。即以默认方式查找时,不显示该目录或文件。

14.5 Linux 基本命令 登录服务器后进入 linux 字符界面,当前目录为用户的主目录( ~ ),以下如非特殊说明, 将以 Bash 做为默认 shell 说明,其他 shell 也许略有不同。 常用 Bash 命令: ls: 列出当前目录下文件 ( 参数: -h, -l, -a, … ) cd :改变目录 pwd :查看当前工作目录 mkdir : 创建目录 mv :移动文件 ( 目录 ) (改名) cat: 查看文件内容 more/less :分页显示

15.6 Linux 基本命令 常用 linux 程序: 编辑器 : vi/vim 压缩打包程序: tar, gzip , bzip Tab 补全:输入命令或者参数前几个字符后按 tab ,如果只有一种可能则自动补全,否则再按一次 tab 会列出所有可能选择。 --help: 一般命令加 上 --help 可输 出帮助信 息。

16.7 Linux 获取帮助 查看命令手册: man

17.8 Linux 环境变量 Linux 是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义 , 这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。 环境 变量是和 Shell 紧密相关的,它是通过 Shell 命令来设置的。环境变量又可以被所有当前用户所运行的程序所使用。对于 bash 来说,可以通过变量名来访问相应的环境变量。

18.9 环境变量显示及设置 使用 env 命令或者 printenv 命令可以察看所有环境变量。 使用 echo 显示特定环境变量值, eg : $ echo $HOME / home/admin 设置一个新的环境变量 $ export NAME=”Example” $ echo $NAME Example 使用 unset 命令来清除环境变量 $ unset NAME $ echo $NAME

19.10 环境变量的其他使用方法 使用 readonly 命令设置只读变量(设置为只读属性后,其值将不可变,直到进程结束) $ export NAME=”Example” $ readonly NAME $ unset NAME -bash: unset: NAME: cannot unset: readonly variable $ NAME=”New” # 会发现此也变量不能被修改 -bash: TEST: readonly variable 通过修改一些相关的环境定义文件来修改环境变量,与环境相关的文件有 / etc /profile ( root 用户)和 ~/. bash_profile (普通用户,在自己的目录下,隐藏文件,如果没有可以新建)等。修改完毕后重新登录一次或运行命令 source xxx 就生效了。

20.11 常见的环境变量 PATH 决定了 shell 将到哪些目录中寻找命令或程序 HOME   当前用户主目录 TERM 终端的类型 UID 当前用户的识别字,取值是由数位构成的字串 PWD 当前工作目录的绝对路径名,该变量的取值随 cd 命令的使用而变化 HISTSIZE 历史记录数 LOGNAME 当前用户的登录名 HOSTNAME 指主机的名称 SHELL 前用户 Shell 类型 LANGUGE 语言相关的环境变量,多语言可以修改此环境变量 MAIL 当前用户的邮件存放目录 PS1 shell 命令行基本提示符,对于 root 用户是 # ,对于普通用户是 $ PS2 附属提示符,默认是“ >”

21.11 环境变量管理工具 Module 使用 Module module avail :显示可用的软件环境 module load :加载环境变量, module openmpi/1.10.7 加载 openmpi 1.10.7 版本 module unload :删除环境变量, module unload openmpi/1.10.7 删除 openmpi 1.10.7 版本

22.readme 或 install ./configure --prefix=dir make make install 12 Linux 程序编译安装

23.13 Vim 简介 Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

24.14 Vi/Vim 的使用 命令模 式 以 vi 打开一个档案就直接进入一般模式了 ( 这是默认的模式 ) 。在这个模式中, 你可以使用 『 上下左右 』 按键来移动光标,你可以使用 『 删除字符 』 或 『 删除整行 』 来处理档案内容, 也可以使用 『 复制、贴上 』 来处理你的文件数据。 编辑模式 在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下 『 i , I, o, O, a, A, r, R』 等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现 『INSERT 或 REPLACE 』 的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下 『Esc』 这个按键即可退出编辑模式。 末行模 式 在一般模式当中,输入 『 : / ? 』 三个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你 『 搜寻资料 』 的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的! 基本上 vi/vim 共分为三种模式,分别 是命令模 式、编辑模式 与末行模 式。 这三种模式的作用分别是:

25.15 Vi/Vim 的使用 简单的说,我们可以将这三个 模式用下图的 图标来表示: 命令模式 编辑模式 末行 模式

26.16 Vi/Vim 的使用 简单指令: i /a/o/O (在当前位置 / 下个字符 / 下一行 / 上一行插入文字) h/j/k/l (向左 / 上 / 下 / 右移动光标), gg/G/0/$ (移动光标到文件开始 / 文件结束 / 当前行开始 / 当前行结束) w/W/b/B ( 按单词 / 词组移动 ) x (剪切 / 删除一个字符), p/P (下个字符位置 / 当前位置上粘贴 ) 复杂指令:动词 + 宾语,数字修饰,其他修饰 动词: y (复制), d (删除), c (更改: 删除已有内容并进入插入模式 ), …… 宾语: gg (文件头), G (文件尾), 0 (行首), $ (行尾), w (单词), b/[/{ (小 / 中 / 大括号), ’/” (单 / 双引号), …… 数字修饰:命令前加数字表示重复该命令几次 其他修饰: i (括号 / 引号内部), a (包括括号 / 引号所有内容) 快捷操作: yy (复制当前行), dd (删除当前行) …… 例子: 从当前光标复制到行尾: y$ 删除 2 个单词: 2dw 改变单引号内容:光标移动到括号部分后顺序按下 c i ‘ 删除包括小括号的所有内容: 光标移动到括号部分后顺序按下 d a b

27.17 Vi/Vim 的使用 文件操作: :e+ 文件名 – 打开文件 :e+ 目录名 – 打开目录文件列表 :e! – 将文件恢复到上一次保存时状态 :w – 保存文件 :w+ 文件名 – 将编辑内容保存到文件 :q – 退出 vim :q! – 放弃未保存的修改强制退出 vim 简单搜索命令: / (向后搜索) ? (向前搜索) * (搜索光标处单词 ) 光标移动 : gg 文件头, G 文件尾, 0 行首, $ 行尾, :10 移到第 10 行 替 换命令: 当前行替换: :s/xxx/ yyy 全文替换: s 前加 % , :%s/xxx/ yyy 替换一行中的多个匹配项:最后加 /g , :s/xxx/ yyy /g 自动补全:插入模式下按 ctrl+p

28.18 使用超算系统一般流程 超 算帐户申请 登录超算系统首先要申请一个超算账号。 登录超算系统 通过 ssh 登陆方式来使用超算中心 资源,并配置好计算环境。 文件传输 通过文件传输协议和软件,将作业上传至超算系统。 作业提交 应用,设置计算参数,开始 计算。

29.19 帐户 申请