一些英文pre连词
It is important to note
so when
essentially
additionally
in addition
moving on to
we observe ...
It is important to note
so when
essentially
additionally
in addition
moving on to
we observe ...
peak FP64 : 9.7TFLOPS
peak FP32 : 19.5 TFLOPS
peak FP16 : 78 TFLOPS
peak TF32 tensor core : 156 TFLOPS
192KB L1 cache (shared memory) / SM
40MB L2 cache
40GB 主存, 1555GB/s 带宽
PCIe 4 : 31.5GB/s
在地学系的 centos 7 CPU 集群上配 slurm
登录节点 192.168.100.10
计算节点 192.168.100.2[1-8]
slurm 依赖 munge
yum update
yum install epel-release
yum install -y munge munge-libs munge-devel
拷贝 munge-key :
scp data:/etc/munge/munge.key /etc/munge/
chown munge: /etc/munge/munge.key
chmod 400 /etc/munge/munge.key
安装其他依赖:
yum install -y openssl openssl-devel pam-devel numactl numactl-devel hwloc hwloc-devel lua lua-devel readline-devel rrdtool-devel ncurses-devel man2html libibmad libibumad
yum install -y perl-ExtUtils-MakeMaker
yum install -y mysql
yum install -y perl-PCP-PMDA
从头编译 slurm :
tar -xvjf slurm-18.08.2.tar.bz2
cd slurm-18.08.2/
./configure --prefix=/usr --sysconfdir=/etc/slurm --with-munge=/usr/bin/munge
make -j12
make install
make install-contrib
拷贝 slurmd 服务 :
cp etc/slurmd.service /etc/systemd/system
登录节点启动服务 slurmctld
计算节点启动服务 slurmd
slurmd
log 路径默认为 /var/log/slurmd.log
slurm 配置文件为 /etc/slurm/slurm.conf
,需保证所有节点的配置文件相同
配置 /etc/slurm/cgroup.conf
如下:
CgroupAutomount=yes
ConstrainCores=no
ConstrainRAMSpace=no
新建 slurm 用户:
groupadd -g 888 slurm
useradd -m -c "SLURM workload manager" -d /var/lib/slurm -u 888 -g slurm -s /bin/bash slurm
使用 slurm 运行 slurmd.service
在 /etc/systemd/system/slurmd.service
中设置
[Service]
User=slurm
slurm 生成配置:https://slurm.schedmd.com/configurator.html
slurmd -Dvvv # 调试启动
slurmd -C # 查看节点配置
scontrol show node [node] # 查看 node 状态
scontrol update NodeName=[node] State=UNDRAIN # 将 node 状态设为 undrain sf
slurmdPidFile 默认位于 /var/run/slurmd.pid
,路径
但 /var/run
目录只有 root 有写权限,且 /var/run
是 tmpfs
新建 /var/run/slurm
,权限设置为 0770
在 /etc/tmpfiles.d/slurm.conf
中添加
d /var/run/slurm 0770 root slurm -
开机后自动设置路径
修改 /etc/systemd/system/slurmd.service
中 PIDFile 为 /var/run/slurm/slurmd.pid
然后 systemctl daemon-reload
每个 spack 环境包括两个文件 spack.yaml
, spack.lock
,可以用来在其他机器上建立相同环境
spack config blame [scope]
查看一个 scope 的 config 出处
module 路径: $SPACK_ROOT/share/spack/modules
包配置路径 : $SPACK_ROOT/var/spack/repos/builtin/packages
zlib
: 无损压缩,DEFLATE算法,结合 LZ77 和 Huffman 编码,使用在 PNG 和 zip 格式中
hwloc
:hardware locality,抽象当代处理器的复杂 hierarchy
HDF5
:Hierarchical Data Format version 5,保存大量复杂数据,支持压缩
pkgconf
:管理软件编译,向编译器提供必要的编译和链接flag,是 pkg-config
包的代替
ncurses
:new curses,创建 text user interface
BLAS : basic linear algebra subprograms (low level)
LAPACK : linear algebra package (high level,在 BLAS 之上)
ScaLAPACK : scalable LAPACK,支持 MPI 的 LAPACK
Intel MKL : 包含 BLAS, LAPACK, ScaLAPACK
ELPA : eigenvalue solvers for petaflop applications
使用 cublasCreate
创建 cuBLAS library context 的 handle,
一个 context 关联一个 device
cuBLAS library context 绑定 CUDA context