diff --git a/content/ai/deep_learning/quickstart/deploy_app.md b/content/ai/deep_learning/quickstart/deploy_app.md index 0c6159b5..b9b82bcf 100644 --- a/content/ai/deep_learning/quickstart/deploy_app.md +++ b/content/ai/deep_learning/quickstart/deploy_app.md @@ -1,5 +1,5 @@ --- -title: "步骤一:部署 Deep Learning 应用" +title: "部署 Deep Learning 应用" description: 本小节主要介绍如何快速部署 Deep Learning 应用。 keywords: weight: 10 @@ -13,7 +13,7 @@ draft: false ## 前提条件 - 已获取管理控制台登录账号和密码。 -- 已创建 [VPC 网络](https://docsv3.qingcloud.com/network/vpc/manual/vpcnet/10_create_vpc/)和[私有网络](https://docsv3.qingcloud.com/network/vpc/manual/vxnet/05_create_vxnet/),且私有网络已加入 VPC 网络。 +- 已创建 [VPC 网络](https://docsv3.shanhe.com//network/vpc/manual/vpcnet/10_create_vpc/)和[私有网络](https://docsv3.shanhe.com/network/vpc/manual/vxnet/05_create_vxnet/),且私有网络已加入 VPC 网络。 ## 操作步骤 diff --git a/content/chaosuan/_index.md b/content/chaosuan/_index.md new file mode 100644 index 00000000..99b85589 --- /dev/null +++ b/content/chaosuan/_index.md @@ -0,0 +1,10 @@ +--- +title: "超算使用文档" +linkTitle: "Document" +_build: + render: false +weight: 2 +collapsible: true +icon: "/images/icons/index/product-icon-host.svg" +--- + diff --git a/content/chaosuan/environment/_image/intel-mpi.png b/content/chaosuan/environment/_image/intel-mpi.png new file mode 100644 index 00000000..15b94b7e Binary files /dev/null and b/content/chaosuan/environment/_image/intel-mpi.png differ diff --git a/content/chaosuan/environment/_image/module-av.png b/content/chaosuan/environment/_image/module-av.png new file mode 100644 index 00000000..90978043 Binary files /dev/null and b/content/chaosuan/environment/_image/module-av.png differ diff --git a/content/chaosuan/environment/_image/module-list.png b/content/chaosuan/environment/_image/module-list.png new file mode 100644 index 00000000..cac4e790 Binary files /dev/null and b/content/chaosuan/environment/_image/module-list.png differ diff --git a/content/chaosuan/environment/_image/module-load.png b/content/chaosuan/environment/_image/module-load.png new file mode 100644 index 00000000..f58c7952 Binary files /dev/null and b/content/chaosuan/environment/_image/module-load.png differ diff --git a/content/chaosuan/environment/_image/module-unload.png b/content/chaosuan/environment/_image/module-unload.png new file mode 100644 index 00000000..8b85c235 Binary files /dev/null and b/content/chaosuan/environment/_image/module-unload.png differ diff --git a/content/chaosuan/environment/_index.md b/content/chaosuan/environment/_index.md new file mode 100644 index 00000000..20a4b2db --- /dev/null +++ b/content/chaosuan/environment/_index.md @@ -0,0 +1,29 @@ +--- +title: "软件环境" +linkTitle: "软件环境" +weight: 4 +collapsible: true +type: "product" + +section1: + title: 软件环境 + +Section2: + title: 软件环境 + children: + - title: 软件加载 + content: 山河集群软件环境使用帮助 + url: "softwareload/softwaremoduleload" + + - title: 软件编译 + content: 山河集群软件环境使用帮助 + url: "softwaremake/softwarecompile" + + - title: 软件使用 + content: 山河集群软件环境使用帮助 + url: "softwareuse/biology/blast" + + - title: 环境使用 + content: 山河集群软件环境使用帮助 + url: "envinmentuse/conda-use" +--- diff --git a/content/chaosuan/environment/envinmentuse/_index.md b/content/chaosuan/environment/envinmentuse/_index.md new file mode 100644 index 00000000..8e68445e --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/_index.md @@ -0,0 +1,8 @@ +--- +title: "环境使用" +linkTitle: "环境使用" +_build: + render: false +weight: 61 +collapsible: true +--- diff --git a/content/chaosuan/environment/envinmentuse/conda-use.md b/content/chaosuan/environment/envinmentuse/conda-use.md new file mode 100644 index 00000000..8be1ca1d --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/conda-use.md @@ -0,0 +1,84 @@ +--- +title: "conda" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +## conda python环境创建及调试 + +集群默认python环境为 2.7,且没有相关的依赖包。假设您需要使用python依赖包或者更高版本的python环境,推荐您自行创建python环境以及安装依赖包(module中只有一个 3.9 环境) + +1. 编辑家目录中的 .condarc 文件,使用如下命令内容填充 +```bash +cat > ~/.condarc << "EOF" +channels: + - defaults +show_channel_urls: true +default_channels: + - https://mirrors.shanhe.com/anaconda/pkgs/main + - https://mirrors.shanhe.com/anaconda/pkgs/r + - https://mirrors.shanhe.com/anaconda/pkgs/msys2 +custom_channels: + bioconda: https://mirrors.shanhe.com/anaconda/cloud + conda-forge: https://mirrors.shanhe.com/anaconda/cloud +ssl_verify: false +EOF +``` + +2. 加载conda环境 +```bash +module load conda3 +``` + +3. 创建conda环境 +```bash +conda create -n python39 python=3.9 +# -n: 设置新的环境的名字 +# python=3.9 指定新环境的python的版本,非必须参数 +# 这里也可以用一个-y参数,可以直接跳过安装的确认过程。 +``` + +4. conda环境使用 +```bash +# 启动加载python环境 +conda activate python39 +``` +```bash +# conda 安装命令 +conda install gatk +``` +```bash +# 安装指定版本 +# conda install 软件名=版本号 +conda install gatk=3.7 +``` +```bash +# conda 搜索需要的安装包 +conda search gatk +``` +```bash +# 更新指定软件 +conda update gatk +``` +```bash +# 卸载指定软件 +conda remove gatk +``` +5. 账户初始化conda环境 +```bash +# 将 conda 环境以及创建 ,账户自动加载 +# 将如下命令加入 ~/.bashrc 文件中 +module load conda3 +conda activate python39 +``` + +*** + +### 附:使用pip命令安装软件 +```bash +# 下面举例了pip安装numpy库 +pip install numpy -i https://mirrors.shanhe.com/simple --trusted-host mirrors.shanhe.com +``` diff --git a/content/chaosuan/environment/envinmentuse/google-auth.md b/content/chaosuan/environment/envinmentuse/google-auth.md new file mode 100644 index 00000000..a720b220 --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/google-auth.md @@ -0,0 +1,113 @@ +--- +title: "google" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +## Google Authenticator + +###### Google身份验证器是一款TOTP与HOTP的两步验证软件令牌,此软件用于Google的认证服务。此项服务所使用的算法已列于 RFC 6238 和 RFC 4226 中。 + +###### Google身份验证器给予用户一个六位到八位的一次性密码用于进行登录Google或其他站点时的附加验证。其同样可以给第三方应用生成口令,例如密码管理员或网络硬盘。 + +*** +#### 一、安装使用 +1. 软件安装 + + a. 二进制安装 + ```bash + yum install -y epel-* mercurial autoconf automake libtool pam-devel + + yum install -y google-authenticator + ``` + b. 编译安装 + ```bash + yum install -y epel-* mercurial autoconf automake libtool pam-devel git + + git clone https://github.com/google/google-authenticator-libpam.git + + cd google-authenticator-libpam-master/ #进入目录 + chmod +x bootstrap.sh #设置可执行权限 + ./bootstrap.sh + ./configure + make install + ln -s /usr/local/lib/security/pam_google_authenticator.so /usr/lib64/security/pam_google_authenticator.so + ``` + +2. PAM配置 + ```bash + vim /etc/pam.d/sshd + auth required pam_google_authenticator.so + # 或者 + echo "auth required pam_google_authenticator.so" >>/etc/pam.d/sshd + ``` + +3. SSH配置 + ```bash + vim /etc/ssh/sshd_config + # 将 + ChallengeResponseAuthentication no + # 改为 + ChallengeResponseAuthentication yes + # 或者 + sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/g' /etc/ssh/sshd_config + # 重启sshd服务 + systemctl restart sshd.service + ``` + +4. google-authenticator运行配置 + + 总的来说,首先运行google-authenticator二进制程序,然后一路y下来即可,中间使用二维码,或者密钥与手机端进行绑定,下方是具体过程。 + ```bash + google-authenticator + Do you want authentication tokens to be time-based (y/n) y + Warning: pasting the following URL into your browser exposes the OTP secret to Google: + https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@demo%3Fsecret%3DXQ2WB526GLPJ7SI64Z3RZISOEE%26issuer%3Ddemo + + + + + 这里会有一个二维码,需要在手机上下载`googleauthenticator`APP扫码绑定 + 安卓 IOS手机都可以在应用商店搜索安装 + + + + Your new secret key is: XQ2WB526GLPJ7SI64Z3RZISOEE + Your verification code is 917990 + Your emergency scratch codes are: + 42623319 + 72314571 + 14476695 + 95764389 + 38976136 + + Do you want me to update your "/root/.google_authenticator" file? (y/n) y + + Do you want to disallow multiple uses of the same authentication + token? This restricts you to one login about every 30s, but it increases + your chances to notice or even prevent man-in-the-middle attacks (y/n) y + + By default, a new token is generated every 30 seconds by the mobile app. + In order to compensate for possible time-skew between the client and the server, + we allow an extra token before and after the current time. This allows for a + time skew of up to 30 seconds between authentication server and client. If you + experience problems with poor time synchronization, you can increase the window + from its default size of 3 permitted codes (one previous code, the current + code, the next code) to 17 permitted codes (the 8 previous codes, the current + code, and the 8 next codes). This will permit for a time skew of up to 4 minutes + between client and server. + Do you want to do so? (y/n) y + + If the computer that you are logging into isn't hardened against brute-force + login attempts, you can enable rate-limiting for the authentication module. + By default, this limits attackers to no more than 3 login attempts every 30s. + Do you want to enable rate-limiting? (y/n) y + ``` + +5. 登录 + + a. xshell + ![svg](../../0-image/xshell-google-au.png) diff --git a/content/chaosuan/environment/envinmentuse/hpcx.md b/content/chaosuan/environment/envinmentuse/hpcx.md new file mode 100644 index 00000000..4721057f --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/hpcx.md @@ -0,0 +1,87 @@ +--- +title: "hpcx" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +# AI 平台,一个虚拟化平台,基于docker搭建,适用于ai 训练、gpu 加速计算的平台。 + +## 一、使用说明 + +```bash +##1、共享目录为 “/用户名目录” ,注意在当前用户下,创建的所有开发环境共享目录为同一个 +##2、网络支持ib,ib驱动存在于物理机上,当前镜像内没有,调用时可用通过指定网卡的方式调用 +##3、因网络驱动存在于物理机,不建议使用源码编译mpi,可以使用hpc-x环境安装mpi的方式来替代 + +``` + +## 二、平台基本操作 + +参考浪潮普通用户操作手册 + +### AI平台mpi使用—hpc-x + +``` +https://developer.nvidia.com/networking/hpc-x ### 下载地址 +``` + +#### 安装步骤 + +``` +cd hpcx +export HPCX_HOME=$PWD +``` + +#### 根据当前环境编译openmpi + +``` +$ tar xfp ${HPCX_HOME}/sources/openmpi-gitclone.tar.gz +$ cd ${HPCX_HOME}/sources/openmpi-gitclone +$ ./configure CC=icc CXX=icpc F77=ifort FC=ifort --prefix=${HPCX_HOME}/ompi-icc \ +--with-hcoll=${HPCX_HOME}/hcoll \ +--with-ucx=${HPCX_HOME}/ucx \ +--with-platform=contrib/platform/mellanox/optimized \ +2>&1 | tee config-icc-output.log +$ make -j32 all 2>&1 | tee build_icc.log && make -j24 install 2>&1 | tee install_icc.log +``` + +### 激活hpc-x + +```bash +export HPCX_HOME=$PWD +cd hpcx-v2.12-gcc-MLNX_OFED_LINUX-5-ubuntu18.04-cuda11-gdrcopy2-nccl2.12-x86_64/ +source hpcx-init.sh +hpcx_load + +##module 方式加载 +module use $HPCX_HOME/modulefiles +module load hpcx +``` + +### mpirun命令参数 + +```bash +QUDA_ENABLE_P2P=3 /yangybai11/hpcx-v2.12-gcc-MLNX_OFED_LINUX-5-ubuntu18.04-cuda11-gdrcopy2-nccl2.12-x86_64/ompi/bin/mpirun --allow-run-as-root -np 16 --host 192.208.79.37:8,192.224.8.14:8 -bind-to none -map-by slot -x LD_LIBRARY_PATH -x HOROVOD_MPI_THREADS_DISABLE=1 -x PATH -mca pml ucx -x NCCL_DEBUG=INFO -x NCCL_TREE_THRESHOLD=0 -x UCX_LOG_LEVEL=info ./hmc -i s1.0_restart_37540.xml -geom 1 2 2 4 +##--allow-run-as-root root 执行mpirun +## -mca pml ucx UCX 与 OpenSHMEM 显式使用 +## +``` + +```bash +/etc/hosts ##跨节点作业时,可能需要ssh 各节点之间的连接 +~/.ssh/known_hosts +``` + +注意:这个平台网络存在于物理机上,在实例环境中访问存在问题,使用 https://developer.nvidia.com/networking/hpc-x + +``` +https://content.mellanox.com/hpc/hpc-x/v2.12/hpcx-v2.12-gcc-MLNX_OFED_LINUX-5-ubuntu18.04-cuda11-gdrcopy2-nccl2.12-x86_64.tbz +``` + + + + + diff --git a/content/chaosuan/environment/envinmentuse/intel-compiler.md b/content/chaosuan/environment/envinmentuse/intel-compiler.md new file mode 100644 index 00000000..6e60e4b3 --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/intel-compiler.md @@ -0,0 +1,22 @@ +--- +title: "intel" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +## Intel环境变量加载 + +本集群安装有 Intel 编译器 2015-2020 版本,以及 Intel oneAPI 编译器 2021-2022 版本 + +![png](/chaosuan/environment/_image/intel-mpi.png) + +环境变量拆分为 intel 和 intelmpi 两个(其中intel包含了MKL环境),若无特殊,则需要同时加载两个,例如 + +```bash +module load intel/2022 intelmpi/2022 +``` + +拆分的目的在于有的时候仅仅需要intelmpi diff --git a/content/chaosuan/environment/envinmentuse/linux-in-use.md b/content/chaosuan/environment/envinmentuse/linux-in-use.md new file mode 100644 index 00000000..68e4d149 --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/linux-in-use.md @@ -0,0 +1,671 @@ +--- +title: "linux基础用法" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +#### 一、Linux 命令行的辅助操作 + +```bash +$ 反斜杠 “\” :强制换行 +$ 快捷键 Ctrl+u: 清空至行首 +$ 快捷键 Ctrl+k: 清空至行尾 +$ 快捷键 Ctrl+L或clear: 清屏 +$ 快捷键 Ctrl+c: 取消本次命令编辑 +$ 快捷键 Ctrl+d: 相当于输入exit,退出 +$ 快捷键 Ctrl+a: 行首 +$ 快捷键 Ctrl+e: 行尾 +``` + +#### 二、Linux文件类型 + +```bash +-:普通文件 +d: 目录文件 +b:块设备文件 +c: 字符设备文件 +l: 符号连接文件 +p: 命令管道文件 +s: 套接字文件 +``` + +#### 三、Linux基础命令(1) + +```bash +$ ls: 查看当前目录的文件及目录 + -l=ll 长格式 + -t 按照时间排序 + -h 做单位转换 + -a 显示隐藏文件 + -A与-a参数类似,显示目录下除了“.”与“.. "以外的其他所有文件 + -ld 显示且录自身属性 + -R 递归显示 + -S 以文件大小排序 + -l 以列表形式只输出文件及目录 +$ du: 统计当前路径下所有文件或目录的大小 + -S 统计当前目求下文件的总大小 + -h 以大小单位方式显示 +$ touch: 创建文件(最主要的功能是更新文件的时间戳) + -c 不创建任何文件,更新所有属性时间, + -a 更新文件最近一次访问时间 + -m 更新文件最近一次修改时间 +$ stat: 显示文件的详细信息(显示文件最近一次访问,修改,改变时间) +$ mkdir :创建目录 + -P 创建多级目录 + -V 显示创建过程 +$ cp: 复制 +例:cp 源 目标 + -r 递归复制(可以复制目录) + -f 强行复制 + -p 复制过来,保存文件原有属性(只有管理员有此权限) + -P 复制链接文件 + -a 归档复制,保持文件及且录、连接文件原有的所有属性(用于备份 + -v 显示复制过程 +$ rm:删除文件 + -f 强制不提示删除 + -r 递归删除 +$ mv: 移动/重命名文件 + -f 强制移动 + -v 显示过程 +$ which: 来查看一个可执行命令的具体路径 +# 对于linux来讲,路径分隔符/ +# 绝对路径:从顶层/(根)开始的路径 +# 相对路径:从非/ (根)开始的路径 +``` + +#### 四、Linux系统中的目录 + +```bash +/bin: 所有用户可执行的程序 +/sbin: 管理员可执行的程序 + /usr/bin + /usr/sbin +/boot: 存储系统引导文件;内核、ramfs文件、bootloader (grub) +/dey: 设备文件存放目录 +/etc: 配置文件的存放目录 + /etc/sysconfig 系统网络配置目录 + /etc/init.d 系统服务脚本 +/home: 普通用户,默认在/home.下有一个与其名称同名目录,作为用户的家目录 +/root: 管理员的家目录 +/lib, /lib64: 库文件 +/media: 专用挂载位置,通常用来挂载便携式设备 +/mnt: 专用挂载位置,挂载额外存储设备 +/opt: 备用目录,但通常用来安装第三方软件 +/proc: 伪文件系统,系统内核参数的映射 + /proc/loadavg:负载 +/sys: 伪文件系统,系统级别的用于配置外围设备的参数 +/srv: 为服务提供数据存放位置 +/tmp: 存放临时文件系统 +/usr: 默认软件,用户工具和应用程序,共享,只读 +/usr/local: 默认的软件安装目录c盘 +/usr/include: 头文件 +/usr/src: 源码安装目录 +/var: 频繁发生变化的文件 +/var/log: 日志文件存放目录 + /var/log/messages + /var/log/secure 系统用户登录日志 + authentication failure登录 失败 +/var/lib 变化的状态信息 +/var/lock 锁文件 +/var/run 有些进程在运行时产生的数据 +/var/cache 缓存 +``` + +#### 五、Linux基础命令(2) + +```bash +$ gzip: .gz(仅用于文件) + gzip文件名: 压缩(压缩完成后会删除原文件) + -d 解压缩 + gunzip: + gunzip压缩名: 解压完成后会删除原文件 + zcat压缩包名: 不解压查看压缩包里面内容 +$ bzip2: .bz2(仅用于文件) +比gzip有着更大压缩比的压缩工具,使用格式近似 + bzip2 要压缩的文件名 + -d 解压缩 + bunzip2 压缩包名:用与解压缩 + -k 压缩时保留原文件 + bzcat 不解压查看压缩包里面内容 +$ zip: 既归档又压缩的工具(用于压缩文件或目录及目录下文件) +自动压缩目录下的所有文件: zip name.zip a/* + zip压缩后的名.zip: 要压缩的目录或文件(压缩后不删除原文件) + unzip压缩包名.zip: 解压缩 +zcat 压缩包名: 不解压查看压缩包里面内容 +$ XZ: .xz(仅用于文件,使用时需要用yum安装XZ压缩工具包) +XZ /路径/文件 + -d 解压缩 + -k 压缩时保留原文件 + unxz:用与解压缩 + xzcat: 不解压查看压缩包里面内容 +$ tar 参数 归档后的名称(必须为.tar) 要归档的文件或目录。 + -f 文件名.tar:操作的归档文件 + -p 打包解包时保留文件及目录的权限 + -v 显示过程 + -cf 创建归档文件{tar -cf压缩包名.tar目录或文件} + -tf 查看归档文件内容 + -rf 添加文件到已经压缩的tar文件{tar tf backup.tar /root/a.txt} + -xf 展开归档{tar -xf压缩包名.tar}(可以跟-zxf、-jxf、 Jxf) + #解压出来部分文件 + -C 释放的目的地{tar xf a.tar -C /user/} + -tpf 不展开归档,直接查看归档了哪些文件(可以跟-ztf、-jtf) + --xattrs 归档时,保留文件的扩展属性信息 + # -zcpf 归档并调用gzip压缩或zip压缩(归档压缩.tar.gz或.tar.z或.tar.zip) + tar -zcf name.tar.gz naem或tar -zcf name.tar.z name + -zxpf: 调用gzip/zip解压缩并展开归档,-z选项可省略 + # -jcpf 归档并调用bzip2压缩(归档压缩.tar.bz2或.tar.bz) + tar -jcf name.tar.bzip2 name或tar -jcf name.tar.bz name + -jxpf 调用bzip2解压缩并展开归档.tar.bz2或.tar.bz + # -Jcpf 归档并调用XZ压缩{tar Jcf xx.tar.xz文件名/目录} + -Jxpf 解压.tat.xz 的压缩包(用于红帽6版本) +# 如果对文件压缩时出现tar:从成员名中删除开头的"/” 报错,但依然成功压缩造成该问题的原因是因为使用相对路径和绝对路径引起的,另外还有一种解决方法是使用相对路径 -P可以解决这个错误 +$ rar x 压缩文件 +# 下载链接:https://www.rarlab.com/download.htm +``` + +#### 六、Linux vim 编辑器的使用 + +```bash +$ vim 是 vi 编辑器增强版: 文本编辑器 +# 三种模式: 末行、输入、编辑 +# 末行 -→ 命令: ESC +# 命令 -→ 末行: :键 #英文: +# 命令 -→ 输入: i +# 输入 -→ 命令: Esc +$ - 移动到光标所在行的上一行行首 +$ i 在当前光标所在字符的前面,转为输入模式 +$ I 在当前光标所在行的行首,转换为输入模式 +$ a 在当前光标所在字符的后面,转为输入模式 +$ A 在当前光标所在行的行尾,转换为输入模式 +$ o 在当前光标所在行的下方,新建一行,并转为输入模式 +$ O 在当前光标所在行的上方新建一行,并转为输入模式 +$ R 替换光标处的单个字符 +# 在末行模式可以执行的命令: + :nd :n 表示数字,d表示删除,结合起来为删除第n行 + :n,2nd 表示删除第n行2n行中间的所有行{格式..$d} + :X 加密或取消加密 + :!ls/root 可以查看root目录下的内容 + :q/q! 退出 #!表示强制退出的意思 + :wq/x/wq! 保存退出 + :e! 撤销所有操作 +# 查找 存在PATTERN的字符 +/PATTERN :从首部向文件尾部查找 +?PATTERN :从尾部向文件首部查找 + n:从上向下查找下一个 + N:从下向.上查找下一个 +# 查找并替换 +在末行模式下使用s命令 + 单行替换: s/要替换的内容/替换后的内容/g + 全文替换: %s/要替换的内容/替换后的内容/g +# 显示或取消显示行号 +:set number +:set nu +:set nonu +# 在编辑模式可以执行的命令: +# 行内跳转 +shift+i、0、^、home:行首 +shift+a、$、end: 行尾 +# 行间跳转 +G: 最后一行 +nG: 跳转至第n行 +1G、gg 跳转至第一行 +dG: 删除当前到行尾的所有行 +d1G: 删除当前到行首的所有行 +# 翻屏 +Ctrl+f: 向下翻一屏 +Ctrl+b: 向上翻一屏 +Ctrl+d: 向下翻半屏 +Ctrl+u: 向上翻半屏 +#删除单个字符 + x :删除光标所在处的单个字符(向后删除) + #x :删除光标所在处及向后的共#个字符 +# 删除命令:d + dd :删除当前光标所在行 +# 粘贴命令p +# 复制命令y(用法同d命令) + yy:复制一整行内容 +# 替换: R(替换单个字符) +R: 进入替换模式,输入的字符替换光标后的字符按Esc键退出替换模式 +# 撤消编辑操作u + u撤消前一次的编辑操作 + 连续u命令可撤消此前的n次编辑操作 +#编辑文件内容后,在编辑模式下可直接保存退出ZZ +vim +n: 打开文件并定位在文件第n行{格式:vim +2文件名} +vim +: 打开文件,定位至最后一行{格式:vim +文件名} +``` + +#### 七、Linux基础命令(3) + +```bash +$ reset: 重新初始化屏幕 +$ tty: 显示当前终端对应终端设备文件 +$ uname -r/-a: 查看linux内核版本号 +$ cat /etc/redhat-release: 查看系统版本 + Linux版本号: X.YY.ZZ + X:主版本号、YY:次版本号、ZZ:末版本号,YY:奇数-开发版,增加新功能,偶数稳定版,修改错误 +$ hostname/uname -n: 查看主机名 +$ file 文件名: 查看文件的类型 +$ cd: 切换目录 cd ../: 退到上级目录、cd-: 返回上次所在目录 +$ pwd: 查看当前所在路径 +$ cal: 显示日历:cal年、cal月年 +$ bc: 计算器 +$ exit: 退出当前登录 +$ watch: 周期性地执行指定命令,并以全屏方式显示结果 + -n #'命令' +$ cat /proc/meminfo # 查看系统内存信息 +$ cat /proc/cpuinfo # 查看cpu信息 +$ history: 查看命令历史 + -c 清空历史命令 +$ echo :打印输入的字符 +$ tree :查看目录树 +$ shutdown -r now +#重启 +$ shutdown -h now +#关机 +关机: init 0、halt、 poweroff +重启: init 6、reboot +``` + +#### 八、Linux基础命令(4) + +```bash +# 重建数据库 +rpm --rebuilddb :重建数据库,一定会重新建立 +rpm --initdb :初始化数据库,没有才建立,有就不用建立 +# rpm选项/路径/rpm软件包名 +-i 安装软件包 +-h 以#显示进度,每个#表示2% +-v 显示详细过程 +-e 软件包名 #卸载软件包 +--nodeps 忽略依赖关系(如果有依赖关系软件装上去也运行不了) +--force 强行安装,可以实现重装或降级 +# 升级(注意不要升级内核) +rpm -Uvh /路径/新rpm软件包名: 如果 装有老版本的,则升级;否则安装 +rpm -Fvh /路径/新rpm软件包名: 如果装有老版本的,则升级:否则退出 +# 查询已安装的rpm包 +-qa 查询已经安装的所有包 +-qi 查询指定包的说明信息 +-ql 查询指定包安装后生成的文件列表 +-qc 查询指定包安装的配置文件 +-qd 查询指定包安装的帮助文件 +-qf /路径/文件名 查询文件所属的软件包 +# 查询尚未安装的rpm包 +rpm -qpi /路径/rpm软件包名: 其说明信息 +rpm -qpl /路径/rpm软件包名: 安装以后会生成的文件 +#事例: +rpm -ivh /media/Packages/lynx-2.8.8-0.3.dev15.el7.x86_ 64.rpm +# 安装有依赖关系的多个软件时,被依赖的软件包需要先安装,可同时指定多个.rpm包文件进行安装 +# 卸载有依赖关系的多个软件时,依赖其他程序的软件包需要先卸载,可同时指定多个软件名进行卸载 +``` + +#### 九、Linux yum + +```bash +# 挂载光盘镜像 +mount /dev/sr0 /media/ +mount: /dev/sr0写保护,将以只读方式挂载 +#把其他yum源移动到一个目录中不让系统加载使用 +cd /etc/yum.repos.d/ +mkdir a +mv * a +#构建新的本地yum源 +vim yum.repo + +[base] +name= base +baseurl=file:///media +enabled= 1 +gpgcheck=0 +# 清除本地yum源缓存 +yum clean all +# 构建本地yum缓存 +yum makecache +``` + +#### 十、Linux基础命令(5) + +```bash +# 用户帐号 + 管理员用户(UID=0) + 普通用户 + 程序用户 +# UID: UID (用户标识号) +id 用户名:可以查看用户UID +# 用户账号文件(用户名称、宿主目录、登录Shell等基本信息) /etc/passwd +# 系统中的用户及密码文件/etc/shadow +第一字段: 用户名 +第二字段: 密文密码 +第三字段: 从1970年1月1日到现在经过的天数 +第四字段: 密码最小修改期限 +第五字段: 密码过期时间(99999 表示永久) +第六字段: 密码过期前警告时间 +第七字段: 当密码过期多少天后被禁用 +第八字段: 密码过期时间(从1970年1年1日开始计算) +useradd=adduser: 创建用户 +$ useradd 选项 用户名 +选项 +-U: 创建用户时指定用户UID +-e: 创建用户时指定失效时间,年月日 +-d: 创建用户时指定家目录名 +-g: 创建用户时指定用户基本组名 +-G: 创建用户时指定附加组名 +-M: 创建用户时不创建主目录 +-s: 指定使用shell +# .bash_ logout :每次退出时要执行的文件 +# .bash_ profile :每次登陆时要执行的文件 +# .bashrc :每次进入新bash环境时要执行的文件 +$ passwd 选项 用户名 # 设置/更改用户口令passwd +选项 +-d: 删除用户密码 +-l: 锁定用户 +-S: 查看帐号的密码状态否被锁定 +-u: 解锁用户 +-x: 密码最长有效时间(天) +-n: 密码最短有效时间(天) +-W: 密码过期前警告时间(天) +-i: 密码过期后多少天被禁用(天) +$ usermod 选项 用户名 # 修改用户账号的属性usermod +选项 +-I: 更改用户的用户名{usermod -I 新用户名 用户名} +-L: 锁定用户账号 +-U: 解锁用户账号 +-s: 更改shell环境 +$ userdel 选项 用户名 # 删除用户账号userdel + -r 连同账户家目录一起删除 +$ finger: 查询用户帐号的详细信息 +用法 + finger 用户名 +users、w、who、 whoami: 查询已登录到主机的用户信息 +# 用户组类别 管理员组 基本组(私有组) 附加组(共有组) +GID : GID (组标识号) +# 组账号文件 + /etc/group: 保存组帐号基本信息 + /etc/gshadow: 保存组帐号的密码信息 +$ groupadd: 创建组 + -g 指定GID +$ gpasswd: 添加删除组成员 + -a 用户名 组名:把某个用户添加到指定组 + -d 用户名 组名:把某个用户从指定组中删除 +$ groupdel :删除组 + groupdel 组名 +$ groups: 查询用户所属的组 + groups 用户名 +# 文件权限归属管理 +文件权限 + 读权限r=4: 允许查看文件内容、显示目录列表 + 写权限w=2: 允许修改文件内容,允许在目录中新建、移动、删除文件或子目录 + 可执行x=1: 允许运行程序、切换目录 +归属(所有权) + 属主: 拥有该文件或目录的用户帐号 + 属组: 拥有该文件或目录的组帐号 +# 设置文件和目录的权限 +chmod 777文件/目录 +或者 +chmod u+/-/=[rwx] 文件/目录 + -R递归修改指定目录及其下所有文件的权限 + u 代表属主 + g 代表属组 + o 代表其他 +# 设置文件和目录的归属 +chown 属主 文件或目录 +chown :属组 文件或目录 +chown 属主: 属组文件或目录 + -R:递归修改指定目录下所有文件、子目录的归属 +#权限掩码umask 作用:控制新建的文件或者目录的权限 默认权限去除umask的权限就为新建的文件或者目录的权限 满权限-umask=创建文件的权限 +umask的查看 + umask +设置umask值 + umask 020 +``` + +#### 十一、Linux基础命令(6) + +```bash +$ cut -d 分隔符 -f 打印的列 文件名 +# sort排序 +$ sort 参数 文件 + -n 按照数值大小排序 + -r 逆向排序 + -t 指定字段排序分隔符(默认空格) + -k 以哪个区间进行排序(-t和-k一起使用) + -u 排序后相同的行显示一次 +$ uniq + -d 只显示重复的行 + -D 显示重复行所有字符 + -c 显示重复的行说明重复的次数 + -u 仅显示不重复的行 +$ date: 显示系统时间 + +%F、+%Y-%m-%d: 年月日 + +%T、+%H:%M:%S: 时分秒 + %Y 四位年份 + %m 月 + %d 日 + %H 时 + %M 分 + %S 秒 + -s "年月日 时:分:秒" +$ ln 参数 源文件 目标文件 + -s: 创建软连接 + -V: 显示创建过程 +# 硬链接: + 1、只能对文件创建,不能应用于目录 + 2、不能跨文件系统 + 3、创建硬链接会增加文件被链接的次数 + 4、删除连接源文件后硬链接文件还在 +#软链接(符号链接):ln -sv 源文件 绝对路径 目标文件绝对路径 + 1、可应用于目录,文件 + 2、可以跨文件系统 + 3、不会增加被链接文件的链接次数 + 4、删除连接源文件后软链接的文件不在 + 5、其大小为指定的路径所包含的字符个数 +$ find 查找路径 查找条件 文件名 +查找条件: + -name'文件名': 对文件名作精确匹配 + find /etc -name 文件名 + -user 用户名: 根据属主查找 + -group 组名: 根据属组查找 + find /root -user root + -uid UID: 根据UID查找 + -gid GID: 根据GID查找 + find /root -uid 500 + -type: 根据文件属性查找 + find /etc -type d + f 普通文件 + d 目录 + c 字符设备 + b 块设备 + l 连接文件 + p 管道设备 + s 套接字设备 + -size [+表示大于,-表示小于,不带+-号表示等于]常用单位:k、M、G + find /etc - -size 10k + 组合条件: + -a -and: 与,满足两个条件 + -o -or: 或多个条件满足一个 + find /tmp -user root -a -type d +$ grep "关键字" 文件名 # 过滤一个文件中的关键字 +I/O重定向: + <: 重定向输出 + >: 重定向覆盖写入 + >>: 追加输入重定向 + <<: 追加输出重定向 + 1>: 正确重定向echo "www" 1>1.txt 2>2.txt # 表示将正确的信息输入到1.txt文件中,将错误的信息输入到2.txt文件中 + 1>>: 表示正确追加写入 + 2>: 重定向错误覆盖输出 + 2>>: 错误追加 + &>: 标准重定向,将正确及错误反馈信息输入至一个文件 + &>>: 将正确及错误的信息追加到一个文件中 + 命令||命令: 表示前一个命令执行不成功,后面的命令才执行 + 命令&&命令: 表示前一个命令执行成功后面的命令才执行 + 命令;命令: 表示无论前一个命令执行是否成功,都执行后面的命令 + |: 管道,将前一个命令的输出作为下一个命令的输入 +``` + +#### 十二、Linux基础命令(7) + +```bash +$ mount: 挂载文件系统,ISO镜像 + mount 查看当前的挂载 + mount [-t 类型] 存储设备 挂载点目录 + mount -o -loop ISO镜像文件 挂载点目录 + mount -a 挂载/etc/fstab中已记录的所有挂载 +$ umount: 卸载已挂载的文件系统 + umount 存储设备位置 + umount 挂载点目录 + umount -a 卸载所有/etc/fstab已记录的挂载 # 如果卸载不掉,用下列命令 umount -lf 挂载点 +$ df:查看文件系统分区情况及block← +df 参数 文件 + -h显示磁盘空间大小 + -i显示磁盘inode使用情况 + -T查看磁盘格式 +``` + +#### 十三、Linux RAID + +```bash +# Raid 0: 一块硬盘或者以上就可做raid0 +优势: 数据读取写入最快,最大优势提高硬盘容量,比如3快80G的硬盘做raid0可用总容量为240G,速度是一样 +缺点: 无冗余能力,一块硬盘损坏,数据全无 +# Raid 1: 至少2快硬盘可做raid1 +优势: 镜像,数据安全强,2快硬盘做raid一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行 +缺点: 性能提示不明显,做raid1之后硬盘使用率为50% +# Raid 5: 至少需要3块硬盘raid5 +优势: 以上优势,raid5兼顾。任意N-1快硬盘都有完整的数据。 +缺点: 只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加 +# Raid 6: 至少需要4块硬盘做raid6 +优势: raid6是再raid5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘 +可用容量: C=(N-2)×D C=可用容量 N=磁盘数量 D=单个磁盘容量 +比如4块1T硬盘做raid6可用容量是:(4-2)×1000GB=2000GB=2T +缺点: 性能提升方面不明显 +# Raid10: 至少需要4快硬盘。raid10是2块硬盘组成raid1,2组raid1组成raid0,所以必须需要4块硬盘 +优势: 兼顾安全性和速度。基础4盘的情况下,raid10允许对柜盘2块故障,随着硬盘数量的提示,容错量也会相对应提升。这是raid5无法做到的 +缺点: 对盘的数量要求稍高,磁盘使用率为一半 +``` + +#### 十四、Linux 网络服务 + +```bash +$ ifconfig 命令信息: + ens32: flags=标志位 mtu 最大传输单元 + inet4 IPv4地址 netmask 子网掩码 broadcast 广播地址 + inet6 IPv6地址 prefixlen msc长度 scopeid 0x20 + ether mac地址 txqueuelen传输缓冲区大小 (Ethernet) + RX packets 接收数据包 bytes 大小(单位统计) + RX errors 错误 dropped 丢弃 overruns 过载 frame 帧数 + TX packets 发送数据包 bytes 大小(单位统计) + TX errors 错误 dropped丢弃 overruns 过载 carrier 载波 collisions 冲撞 +$ netstat 打印网络连接信息 + -r 查看路由表 + -n 不执行DNS反向查找,直接显示数字形式的IP地址 + -a 显示当前主机所有活动的网络连接信息 + -t 显示TCP协议相关信息 + -u 显示UDP协议相关信息 + -p 显示进程号和进程名称信息 + -l 查看监听状态 +$ ping 测试网络连通性 +常用选项 + -c 指定发送数据包个数 + -i 当ping通时,指定间隔多少秒发送下一个数据包 + -W 当ping不通时,发送的每个数据包的超时时间S + -s 指定数据包大小 +# 配置临时 IP +ifconfig 网卡名 IP 地址 +ifconfig ens32 IP +ifconfig ens32 IP/24 +ifconfig ens32 IP netmask 255.255.255.0 +# 临时修改网卡状态 +ifconfig ens32 down +ifconfig ens32 up +# 重新加载网络配置文件 +systemctl restart network +ifdown ens32;ifup ens32 +# 修改新主机名(临时生效) +hostname name +# 修改永久主机名 +hostnamectl set-hostname name +vim /etc/hostname +name +``` + +#### 十五、Linux基础命令(8) + +```bash +# ps统计查看进程信息 +选项: + a:所有与终端有关的进程 + u:启动此进程的用户 + x:所有与终端无关的进程 + -e:显示系统内的所有进程信息 + -l:使用长格式显示进程信息 + -f:使用完整的格式显示进程信息 +ps:只显示当前用户会话中打开的进程 +ps aux:以简单列表的形式显示出进程信息 +显示信息的每列解释: +# 用户|PID号|占CPU百分百|占内存百分比|虚拟内存|常驻内存|运行终端|运行状态|启动时间|占CPU的时长|此进程的运行命令(带中括号的为内核线程) +进程状态 + D:不可中断的睡眠 + R:运行或就绪 + S:可中断的睡眠 + T:停止 + Z:僵死 + <:高优先级进程 + N:低优先级进程 + +:前台进程组中的进程 + l:多线程进程 + s:会话进程首进程 +ps -elf :以长格式显示系统中的进程信息,并且包含更丰富的内容 +查看某个进程的详细信息:ps aux|grep “进程名称” 或者ps -elf|grep “进程名称” +# top动态查看进程统计信息 +top命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下三秒刷新一次,默认以CPU占用率排序。 +选项: + -d:指定刷新的时间间隔,单位秒 + -b:以批量处理模式操作,一般与-n同时使用 + -n:指定循环显示的次数 + -u:指定用户名 + -p:指定进程号 +常用交互命令 + P:根据CPU使用百分百大小进行排序(默认进入时即为此排序) + M:根据驻留内存大小进行排序 + T:根据累积时间进行排序 + k:终止一个进程 + q:退出程序 +当CPU占用率过高时,不应再直接执行top命令查看,可以将信息存入一个文件内查看,以免CPU占用率过高导致崩溃。例:top -b -n1 > /topinfo.txt + cat /topinfo.txt +查看进程信息 +pgrep:根据特定条件查询PID信息 + -l:显示进程名 + -U:指定特定用户 + -t:指定终端 +pstree:以树形结构列出进程信息 + -a:显示完整信息 + -u:列出对应用户名 + -p:列出对应PID号 +$ kill、killall命令: + kill:用于终止指定PID号的进程 + killall:用于终止指定名称的所有进程 + -9:用于强制终止 +$ pkill:根据特定条件终止相应的进程 + -U:根据进程所属的用户名终止相应进程 + -t:根据进程所在的终端终止相应进程 +``` + +#### 十六、Linux tmux + +```bash +# Tmux ("Terminal Multiplexer"的简称), 是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色,tmux来自于OpenBSD,采用BSD授权。使用它最直观的好处就是, 通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机, 还有一个好处就是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题,防止断网或者误操作导致正在运行的进程中断 +$ tmux # 运行tmux +$ tmux ls # 查看已创建的会话 +$ tmux attach -t 1 # 进入一个已知会话 +$ tmux deatch # 暂时离开当前会话 +$ tmux kill-session -t 1 # 删除序号为1的会话 +# 分屏操作 +ctrl + b 放开后 shift + 5(%) # 左右分屏 +ctrl + b 放开后 shift + " # 上下分屏 +ctrl + b 放开后 ↑↓←→ # 分屏后用来切换屏幕 +ctrl + ↑↓←→ # 调整窗口大小 +ctrl + b 放开后 s # 切换tmux终端 +``` + diff --git a/content/chaosuan/environment/envinmentuse/r-use.md b/content/chaosuan/environment/envinmentuse/r-use.md new file mode 100644 index 00000000..b27a5b95 --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/r-use.md @@ -0,0 +1,135 @@ +--- +title: "R" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +###### R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。R 语言是解释运行的语言(与 C 语言的编译运行不同),它的执行速度比 C 语言慢得多,不利于优化。但它在语法层面提供了更加丰富的数据结构操作并且能够十分方便地输出文字和图形信息,所以它广泛应用于数学尤其是统计学领域。 + +#### 一、脚本模板 +1. Slurm + + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 机器节点数量 + #SBATCH --ntasks-per-node=56 # 每个机器上的核心数量 + #SBATCH --ntasks=56 # 总核心数(总运行核心) + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区(会被告知) + #SBATCH --job-name=hello # 作业名称(推荐修改一下,以便区分) + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + cd /es01/home/jcuser05/test #进入工作目录 + R --slave --no-restore --file=test.R #根据实际名称更改算例文件 + ``` + +#### 二、集群安装R语言 + +1. 通过conda新安装R及环境 + + ```bash + conda info --envs # 查看目前的conda环境 + conda create -n R3.5 # 创建名为R3.5的环境 + conda activate R3.5 #激活R3.5环境 + conda install r-base=3.5.1 #安装R 指定为R版本为3.5.1 + conda deactivate # 退出当前环境 + conda remove --name R3.5 --all #移除R3.5环境 + ``` + +2. 本地环境上传 + + ```bash + #需要本地搭建与集群环境相同路径,否则R无法使用 + #R各版本之间存在不兼容情况,尽量选择与之前环境一致的R版本 + ``` + +#### 三、R包安装 + +1. 通过conda安装R包 + + ```BASH + conda install r-ps #安装r包通过r-r包形式指定 + ``` + +2. 离线安装R包 + + ```bash + #CRAN 网址 : https://cran.r-project.org/web/packages/available_packages_by_name.html + #进入 + R + install.packages('/es01/home/software/pack/ncdf4_1.19.tar.gz') #括号内指定R包,根据实际路径修改 + #不进入 + R CMD INSTALL foo_1.0.tar.gz + ``` + +3. git上的R包,离线安装 + + ```bash + #githup 上的 r包需要进行解压,unzip uataq-master.zip + R + library(devtool)#加载devtool + devtools::install_local("/es01/home/software/pack/uataq-master") + ``` + +4. 常见问题解决方法 + + ```bash + #当安装本地r包需要依赖conda环境安装依赖库文件或者头文件的情况下可以将所需文件路径加到环境变量里面,重新加载变量即可或者重新登陆。 + source .bashrc + #在家目录中编辑.Rprofille文件,配置R语言现在或者以前包的路径,防止重新下载R语言需要重新安装R包,.Rprofile一般不会自动生成需要创建新文件。 + vim .Rprofile + .libPaths(c("/es01/home/test/anaconda3/envs/r412/lib/R/library","/es01/home/test/R/lib64/R/library")) + # 第一行为conda安装R包路径,第二行为源码安装R包路径 + ``` + +#### 四、R使用命令 +1. 简单使用 + ```bash + library() #查看加载的包 + library(devtool) #加载已安装的包 + .libPaths() #查看已经安装的R包的路径 + colnames(installed.packages()) #查看已经安装的R包 + ``` + +#### 附: +1. 有网环境conda安装 + + ```bash + #有网环境下,conda安装R语言,推荐使用的conda软件以及conda源 + #conda软件 + Anaconda3-5.2.0-Linux-x86_64.sh + #清华conda源 + show_channel_urls: true + remote_read_timeout_secs: 20000.0 + channels: + - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda + - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge + - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64 + - defaults + conda install r-base==4.1.2 + ``` + +2. R源码安装 + ```bash + #R语言下载链接: https://cran.r-project.org/ + #curl下载链接: https://curl.se/download.html + #安装curl + ./configure --prefix=/es01/home/test/curl --with-amissl --with-bearssl --with-gnutls --with-mbedtls --with-nss --with-openssl --with-schannel --with-secure-transport --with-wolfssl --with-nss-deprecated + make + make install + #将curl加入环境变量,并重新加载环境变量 + export PATH=/es01/home/test/curl/bin:$PATH + export LD_LIBRARY_PATH=/es01/home/test/curl/lib:$LD_LIBRARY_PATH + export INCLUDE_PATH=/es01/home/test/curl/include/curl:$INCLUDE_PATH + source .bashrc + #安装R3.6.3 + ./configure --prefix=/es01/home/test/R + make + make install + ``` + + + diff --git a/content/chaosuan/environment/envinmentuse/shell.md b/content/chaosuan/environment/envinmentuse/shell.md new file mode 100644 index 00000000..0bd09693 --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/shell.md @@ -0,0 +1,361 @@ +--- +title: "shell" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +#### 一、正则表达式 + +```bash +# 通配符 +任意长度任意字符,属于通配符 +? 单个任意字符,属于通配符 +# 基础正则表达式 +\ 转义符 +^ 匹配行首 +$ 匹配行尾 +^$ 表示空行 +. 匹配除换行符\n之外的任意单个字符 +.* 匹配任意长度任意字符 +[] 匹配包含在[字符]之中的任意一个字符 +[^] 匹配[^字符]之 外的任意一个字符 +^[^字符] 匹配非 指定字符开头的行 +\{n\} 匹配之前的项n次,n是可以为0的正整数 +\{n,\} 之前的项至少需要匹配n次 +\{n,m\} 指定之前的项至少匹配n次,最多匹配m次 +# 转义符 +\a 响铃 +\b 退格 +\n 换行 +\r 替换字符 +\t 空一个tab键位置 +\v 制表符 +\\\ 代表一个反斜杠字符 +``` + +#### 二、脚本'三剑客' + +``` bash +# grep +$ grep 参数 '关键字' 文件名 +参数 + -i 忽略大小写 + -v 显示没有被模式匹配到的行,相当于^[^] + -o 只显示被模式匹配到的字符串 + -n 显示匹配行及行号 + -c 只输出匹配行的计数 + -l 查询多文件时只输出包含匹配字符的文件名 + -L 打印不匹配的文件名 + -e 满足多个过滤参数的条件 + -r 递归查询 + -E 使用扩展的正则表达式 + -w 只显示全单词符合的行 + -q 匹配内容不显示(静默模式) +$ sed 选项 '行定界 /old字符/new字符/ 列定界符 处理动作' 文件名 +定界符 + s 替换指定的字符 + g 全局替换 + i 不区分字符大小写 +选项 + -i 直接编辑原文件 + -e 'script' -e 'script': 指定多个编辑指令 + -n 静默模式(默认打印),或只显示匹配后的内容 +处理动作: + ! 取反,如!W、!=、!d、!i\#、!r \#、!w \# + d 删除 + c 取代,c后面可以接字串,这些字串可以取代n1,n2之间的行 + p 打印,通常p会与参数-n- -起 + i或i\ : 在被指定到行的上面插入文本 + a或a \ : 在被指定的行的下面插入文本 + \n: 换行 + r 文件:在指定位置把另外-个文件的内容插入 + w 文件:将符合条件的所有行保存至指定文件中 + = 显示符合条件的行的行号 +$ awk 选项 '模式或条件(编辑命令)' 文件 +# awk的常用的内置变量 + FILENAME awk 读取的文件名 + FNR 浏览文件的记录数(浏览文件次数,文件会累加记录) + NF 浏览记录的域个数(当前行的字段数) + $NF 表示最后一个区域 + NR 已读的记录行数(命令后跟的所有文件统一合并计数) +``` + +#### 三、例子 + +```bash +# grep +grep -i '关键字' 文本名称 # 忽略大小写过滤关键字 +grep -v '关键字' 文本名称 # 过滤非关键字的行 +grep -o '关键字' 文本名称 # 只显示被匹配到的字符 +grep -n '关键字' 文本名称 # 过滤关键字,并带行号打印 +grep -e '关键字1' -e '关键字2' 文本名称 # 过滤关键字1并且过滤关键字2 +grep -l '关键字' 文本名称1 文本名称2 # 过滤关键字存在的文件名 +grep -L '关键字' 文本名称1 文本名称2 # 过滤关键字不存在的文件名 +grep -w '关键字' 文本名称 # 以单词形式过滤 +grep -q '关键字' 文本名称 # 静默模式,不输出任何信息 +grep '关键字' 文本名称 # 过滤带有关键字的行 +grep '^关键字' 文本名称 # 过滤以关键字开头的行 +grep '关键字$' 文本名称 # 过滤以关键字结尾的行 +grep '^a..b' 文本名称 # 过滤以a开头中间两个任意字符b结尾的行 +grep 'a*' 文本名称 # 过滤以a开头后面跟着任意长度的任意字符的行 +grep -c '^$' 文本名称 # 过滤空行 +# sed +sed 's/aaa/bbb/' 文本名称 # 全文首匹配替换 +sed 's/aaa/bbb/g' 文本名称 # 全文匹配替换 +sed 's/aaa//g' 文本名称 # 全文匹配替换为空 +sed '2 s/aaa/bbb/' 文本名称 # 第二行单行首匹配替换 +sed '2 s/aaa/bbb/g' 文本名称# 第二行单行全行替换 +sed 's/^/aaa/g' 文本名称 # 全行首插入 +sed 's/aaa/bbb/2' 文本名称 # 每行第二次匹配到的替换 +sed '2 s/aaa/bbb/2' 文本名称# 第二行第二次匹配到的替换 +sed 'G' 文本名称 # 在文件的每行后添加空行 +sed '1c aaa' 文本名称 # 整行低缓,把第一行替换成aaa +sed '1,3c aaa' 文本名称 # 把第一行到第三行替换成一行aaa +sed -n '2p' 文本名称 # 只显示第二行 +sed -n '1,2p' 文本名称 # 只显示第一行到第二行 +sed '2q' 文本名称 # 只打印前两行 +sed -n '/ftp/p' 文本名称 # 只打印带有ftp字符的行 +sed -n '$p' 文本名称 # 只打印最后一行 +sed -n '2,$p' 文本名称 # 只打印第二行到最后一行 +sed -n '1p;$p' 文本名称 # 只打印第一行到最后一行 +sed '2d' 文本名称 # 删除第二行 +sed '$d' 文本名称 # 删除最后一行 +sed '1,3d' 文本名称 # 删除第一行到第三行 +sed '/^\$/d' 文本名称 # 删除以$字符开头的行 +sed '$!d' 文本名称 # 删除除了最后一行外的其他行 +sed '/^$/d' 文本名称 # 删除空行 +sed '/aaa$/d' 文本名称 # 删除以aaa结尾的行 +# awk +awk 'NR==1{print}' 文本名称 # 打印文件第一行 +awk -F ':' '{print $1}' 文本名称 # 以:为分隔符,只打印整个文件第一列 +awk -F':’ {print $3}' 文本名称 # 以:为分隔符,只打印文件第三列 +awk '{print}' 文本名称 # 以默认分隔符(空格分割符),打印整个文件($0表示整个文件列) +awk '{print}' < 文本名称 +cat 文本名称 |awk '{print}' +awk '{print $0}' 文本名称 +awk '/root/' 文本名称 # 以:号为分割符,匹配打印带有root字符的行(/字符/字符匹配) +awk -F':' '/^root/' 文本名称 # 以:号为分割符,打印开头是root字符的行 +awk -F':' '/^\/' 文本名称 +awk -F':' '/^(root|ftp)/{print $1,$7}' 文本名称 # 以:号为分割符,打印开头是root字符或者ftp字符的行的第一列和第七列字符 +awk -F':' '!/^root/' 文本名称 # 以:号为分割符,打印开头非root字符的行,!取反的意思 +awk '/^$/' 文本名称 # 打印文件中空行 +awk '/2019$/' 文本名称 # 以:空格为分隔符,打印结尾为2019的行 +awk '/^[Rr]oot/' 文本名称 # 以默认空格分割符,打印Root或root开头的行 +ifconfig ens32|awk '//{print $2}'# 过滤网卡IP +# 条件操作描述符 + 关系操作符>、 >=、<、 <=、==(精确匹配)、!=(不等于) + 赋值操作符=、+=、*=、/=、%=、^= +# 条件表达操作符 + 或||、与&&、非! + 匹配操作符-(模式匹配,模糊匹配) !~ + 算术操作符+、-、*、/、%、^(次方) +``` + +#### 四、shell 条件测试 + +```bash +# 条件测试 + #测试特定的条件是否成立当条件成立则返回0,否则返回其他数值根据命令的执行返回值来判断 + 0 真 执行成功True + 非0 假 执行失败False +# test命令测试形式 + test 条件表达式 +# 常见的条件测试 +文件测试 + -d 判断是否为目录 + -f 判断是否为文件 + -r 判断当前用户是否有读取权限 + -W 判断当前用户是否有写入权限 + -x 判断当前文件是否有执行权限 + -e/a 判断目录或文件是否存在 +# 例子 + test -d /etc/passwd + echo $? + [ -d /etc/ ] + echo $? + [ -f /opt/abc.txt ] || touch /opt/abc.txt + echo $?返回值为0表示命令正确,否则失败 +# 整数比较 + 给定两个整数,判断第一个数是否大于,小于,等于第二个数 + -eq 表示等于 + -ne 表示不等于 + -gt 表示大于 + -lt 表示小于 + -le 表示小于等于,满足其中任意一个条件即为真 + -ge 表示大于等于,满足其中任意-个条件即为真 +# 字符串比较 + 检查用户输入的字符串是否符合需求 + == 表示第一个字符串和第二个字符串相同 + != 第一个字符串和第二个字符中不同(!取反的意思) + -z 字符串:字符串是否为空,不空则假,空则为真 + [-n字符串]]: 字符串是否为空,不空则真,空则为假 +# 例子 + abc=www + [ -Z $abc ] && echo "$abc" + [[ -n $www ]lecho $? + a=root + b=ftp + ["$a" == "$b" ]:echo $? + ["$a"!= "$b" ]:echo $? + a="root" + b="root" + ["$a" == "$b" ]:echo $? +# 多个条件的逻辑测试 + 测试两个或多个条件之间的依赖关系 + &&/-a 逻辑与:并且的意思,两边的条件都满足才执行下一步 + 0&& 0=0 + 0&& 1=1 + 1 && 0=1 + 1 && 1=1 +# 例子 + [1 -eq1]&&[2 -gt 1] && echo "执行正确" + 1=1并且2>1,打印”执行正确” + [1 -eq1]&&[2 -It 1] && echo "执行正确" + 1=1并且2不小于1,不打印"执行正确” + [1 -eq1 -a2 -ne 1]&& echo "执行正确” + |/-o逻辑或:或者的意思,两边的条件只要有一个满足就执行下一步 + 0||0=0 + 0||0=0 + 1||0=0 + 1||1=1 + [1 -eq 1]||[2 -lt 1]&& echo "执行正确" + [1 -eq 1 -o 2 -lt 1]&& echo "执行正确" + 1=1或者2小于1,打印”执行正确” +# !逻辑否(非),!写在[ ]里外都可以 +取反的意思,满足前提条件,则不执行下一步,不满足前提条件执行下一步操作 + [1 -eq 1 ];echo $? + ![1 -eq 1 ];echo $? + [!1 -eq 1 ];echo $? +``` + +#### 五、shell if语句类型 + +```bash +# 单分支 + if [条件测试语句] + then + 命令序列 + fi +# 双分支 + if [条件测试语句] + then + 命令序列1 + else + 命令序列2 + fi +# 多分支 + if [条件测试语句1 ] + then + 命令序列1 + elif [条件测试语句2 ] + then + 命令序列2 + else + 命令序列3 + fi +``` + +#### 六、shell for语句类型 + +```bash +for 变量名 in 取值列表 +do + 命令序列(循环体) +done +例子 + 打印1到10 + for i in seq `1 10` + do + echo $i + done +# 批量创建以test开头的用,创建10个,初始密码设置123456 + for i in test{1..10} + do + useradd $i + echo "123456"lpasswd --stdin $i &> /dev/nul + done +# 根据文件批量检测多台主机的存活状态 + IP= $(cat /root/ip.txt) + for i in $IP + do + ping -c2 -i0.2 -W3 $i &> /dev/null + if[$? -eq 0 ] + then + echo "Host $i is up" + else + echo "Host $i is down" + fi + done +# 查看多台主机的多个端口是否开启(前提主机之间秘钥互信) + for in 128 129 + do + for p in 222325 + do + ssh 192.168.80.$i netstat -anptu|grep -q "$p" && echo "port $p is up" + done + done +``` + +#### 七、shell while语句类型 + +```bash +while [条件表达式] +do + 命令序列 +done +# 特殊的条件测试 +true 真条件永远成立,无限循环,除非强制终止。 + while true. + do. + echo”123”。 + done。 +# 例子 +计算1到100的和 + a= 1 + sum=0 + while [ $a -le 100 ] + do + sum=' expr $sum + $a^ + a='expr$a+1 + done + echo $sum +``` + +#### 八、shell case语句类型 + +```bash +case 变量值 in +模式1) + 命令序列 1 +;; +模式2) + 命令序列 2 +;; +*) + 默认命令序列 +;; +esac +# 例子 +提示用户输入一个字符判断出该字符是字母,数字或者其他字符 + read -p "输入一个字符” key + case $key in + [a-z][A-Z]) + echo "字母" + ;; + [0-9]) + echo "数字” + ;; + *) + echo "其他字符" + esac +sleep 1 控制脚本的循环速度(睡眠1s) +seq 起始值 步长 结束值 +shell 循环控制结构 +break 语句可以结束while,for,until或者select等结构的执行,退出循环体 +continue 跳出本次循环,回到循环的开始位置,继续执行下次循环。 +exit 退出脚本,循环体外的命令不会执行。 +``` + diff --git a/content/chaosuan/environment/envinmentuse/singularity-use.md b/content/chaosuan/environment/envinmentuse/singularity-use.md new file mode 100644 index 00000000..2456a114 --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/singularity-use.md @@ -0,0 +1,228 @@ +--- +title: "singularityce" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +###### 容器技术是一种以应用软件为中心的虚拟化技术。以应用软件为单元,将软件及所有的依赖打包成容器镜像,打包后的容器镜像可直接拷贝到不同的Linux主机上运行。通过容器技术,可以很好的解决安装软件时,依赖库的安装问题、软件环境的隔离以及软件环境的移植问题。 + +###### Singularity为劳伦斯伯克利国家实验室开发专门用于高性能计算场景的容器技术,Singularity完全基于可移植性进行虚拟化,更加轻量级,部署更快,Singularity目前被广泛地各高性能计算中心。 + +###### Singularity容器技术在功能上类似于Docker,使用上与Docker略有不同。Docker用户可以轻松上手使用。由于Docker 在安全、权限、高速网络支持、MPI并行支持等各方面天生且无法修补的缺陷,导致 Docker 在超算上不适合使用,为了适应超算特有的平台环境,出现了一些专门为超算环境开发的容器软件,在目前适合于超算的容器软件里,Singularity 的兼容性最好,对超算特性支持最完整,运行性能也是最好的。 + +#### 一、脚本模板 + +``` + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=singularity # 作业名称 + #SBATCH --output=sin.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=sin.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load singularity/3.10.0 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + singularity exec --bind /home/cloudam/singularity/lammps:/home/cloudam/singularity/lammps lammps.sif mpirun lmp_mpi -in M-1.in + ###--bind 参数 同 -B 映射目录 主机目录:容器目录 +``` + +#### 二、本地安装singulartyce + +``` +# 安装依赖 +yum install -y gcc libuuid-devel squashfs-tools openssl-devel make + +# 安装go +export VERSION=1.17.2 OS=linux ARCH=amd64 +wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz +tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz +rm -f go$VERSION.$OS-$ARCH.tar.gz +echo 'export PATH=/usr/local/go/bin:$PATH' >> /etc/profile +source /etc/profile + +# 安装singularity +export VERSION=3.9.2 +wget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-ce-${VERSION}.tar.gz +tar -xzf singularity-ce-${VERSION}.tar.gz +cd singularity-ce-${VERSION} +./mconfig --prefix=/opt/singularity/${VERSION} +cd builddir/ +make && make install +echo "export PATH=/opt/singularity/${VERSION}/bin:\$PATH" >> /etc/profile +``` + +## 二、构建容器 + +#### 通过已有镜像构建 + +```bash +singularity build --sandbox ansys2022R1 docker://centos:7.6.1810 + #build 构建命令;--sandbox 可写容器镜像,不加这个后缀 默认创建sif只读模式镜像; molspin 构建容器名 +#docker:// ubuntu:18.04 + +##可以在 docker 镜像库查找对应版本镜像 https://hub.docker.com/search?image_filter=official&q= +``` + +#### Definition 文件-.def + +```bash +#Definition 容器构建文件 +Bootstrap: docker #选择构建镜像的代理 docker library shub +From: tensorflow/tensorflow:latest-gpu #选择要构建的镜像 +Stage: build + +%files #从主机复制文件到容器内部 + /var/py/train.py /opt/train.py +%environment #设置环境变量 + export LISTEN_PORT=12345 + export LC_ALL=C +%runscript #容器运行时执行 + echo "Container was created $NOW" + echo "Arguments received: $*" + exec echo "$@" +%labels #设置 镜像上的标签 + Author jason.zhang@xtaotech.com + Version v0.0.1 + +%help #设置帮助文档 + This is a demo container used to illustrate a def file that uses all + supported sections. + +``` + +构建build + +``` +singularity build jason-tf.sif jason_tf.def +``` + + + +### 三、singularity 常用命令 + +1、运行 singularity + +``` +singularity shell molspin.sif #交互式执行 +singularity exec molspin.sif which mpirun #后台执行singularity环境里的应用命令 +``` + +其他命令 + +```bash +singularity inspect molspin.sif #查看标签 +singularity run-help molspin.sif #查看帮助文档 +``` + + + +### 四、搭建软件环境 + +``` +singularity shell -w molspin #进入名为 molspin的镜像,-w 可写模式 +singularity shell molspin.sif #进入只读模式镜像 +``` + +### 五、集群使用singularity + +``` +# 创建sandbox; +# 这里将创建的sandbox命名为ubuntu20_lammps,并使用docker hub上现有的容器 ubuntu:20.04 作为基础镜像。 +singularity build --sandbox ./ubuntu20_lammps docker://ubuntu:20.04 + +# 进入创建好的sandbox,并进行修改; +# 其中-w表示可写。进入后singularity会自动挂载的HOME目录,如果是用root用户进入,则会挂载/root目录 +singularity shell -w ./ubuntu20_lammps + +# Ubuntu下安装LAMMPS并行版需要安装必要的依赖包 +apt update && apt upgrade -y +apt install openmpi-bin openmpi-doc libopenmpi-dev -y +apt 域名 + +# 安装fftw +wget http://www.fftw.org/fftw-3.3.9.tar.gz +tar zxvf fftw-3.3.9.tar.gz +cd fftw-3.3.9 +./configure --prefix=/opt/software/fftw_3.3.9 --enable-shared --enable-static --enable-fma +make -j && make install + +# 设置临时fftw环境变量 +export PATH=/opt/software/fftw_3.3.9/bin:$PATH +export LD_LIBRARY_PATH=/opt/software/fftw_3.3.9/lib:$LD_LIBRARY_PATH + +# 安装lammps +wget https://lammps.sandia.gov/tars/lammps-10Feb21.tar.gz +tar zxvf lammps-10Feb21.tar.gz +cd lammps-10Feb21 +cd src +vim MAKE/OPTIONS/Makefile.g++_openmpi # 修改如下行 + FFT_INC = -DFFT_FFTW -I/opt/software/fftw_3.3.9/include + FFT_PATH = -L/opt/software/fftw_3.3.9/lib + FFT_LIB = -lfftw3 + +make yes-std +make no-lib +make -j g++_openmpi + +mkdir /opt/software/lammps +cp ./lmp_g++_openmpi /opt/software/lammps/ + +# 设置临时lammps环境变量 +export PATH=/opt/software/lammps:$PATH + +# 验证(容器内) +cd /root +cp /opt/lammps-10Feb21/bench/in.lj . +mpirun --allow-run-as-root -np 2 --mca btl ^openib lmp_g++_openmpi -in in.lj + + +# 退出容器,设置永久环境变量(宿主机) +vim ./ubuntu20_lammps/environment +# 加入下面两行 +export PATH=/opt/software/fftw_3.3.9/bin:/opt/software/lammps:$PATH +export LD_LIBRARY_PATH=/opt/software/fftw_3.3.9/lib:$LD_LIBRARY_PATH + +# 验证(宿主机) +singularity exec ./ubuntu20_lammps mpirun --allow-run-as-root -np 2 --mca btl ^openib lmp_g++_openmpi -in in.lj + +# 把修改好的sandbox打包成sif格式; +# 删除不必要的安装包, 如 fftw-3.3.9.tar.gz lammps-10Feb21.tar.gz +# 使用前面创建的sandbox目录生成singularity image file格式镜像。 +singularity build ubuntu20_lammps.sif ./ubuntu20_lammps + +上传ubuntu20_lammps.sif 到集群环境中。 + +使用提交脚本进行提交作业。 +``` + +### 六、删除构建的容器 + +```shell +# 假设要删除的为文件夹名为molspin的sandbox镜像 + +# 首先,以可读的模式进入要删除的镜像 +singularity shell --fakeroot -w molspin + +# 删除掉容器中,基于fakeroot创建的所有文件 +rm -rf /* 1>/dev/null 2>&1 + +# 退出镜像 +exit + +# 将创建好的软件镜像上传到高性能计算集群,加载singularity软件环境 +# 删除掉剩下的 +rm -rf molspin +``` diff --git a/content/chaosuan/environment/envinmentuse/tmux-use.md b/content/chaosuan/environment/envinmentuse/tmux-use.md new file mode 100644 index 00000000..e69de29b diff --git a/content/chaosuan/environment/envinmentuse/vim.md b/content/chaosuan/environment/envinmentuse/vim.md new file mode 100644 index 00000000..8da17ae6 --- /dev/null +++ b/content/chaosuan/environment/envinmentuse/vim.md @@ -0,0 +1,100 @@ +--- +title: "vim" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +vim是Linux环境下一款功能强大、高度可定制的文本编辑工具。 + +------ + +#### 最简流程 + +```bash +vim test #vim 加文件名 ;打开指定文件。 +i # “i”进入编辑模式 键盘上下左右键可进行光标移动 选择到修改位置进行编辑;进行文本内容编辑。 +:wq! # ”:“ 进入末行模式; w 保存; q 退出; wq 保存退出; wq!强制保存退出; 修改内容保存。 +``` + +#### 工作模式 + +``` +vim 有四种工作模式 正常模式:常用于通过命令操作文件内容,任何模式下Esc 键进入此模式,文件最下端无显示; + 编辑模式:用于文件内容修改,正常模式下 "i" "a" 可进入编辑模式,文件最下端显示"--INSERT--" + 末行模式:用于文件设置,正常模式下 “:” 进入末行模式,文件最下端显示 ”:“ + 块模式:用于多行批量选择,正常模式下 ”v“(单字符) ”V“(整行)”Ctrl+v“(块)进入块模式,文件最下端显示"VISUAL...” +``` + +#### 正常模式 + +```bash +移动 +xG : 2G 移动至第二行 +x% : 50% 移动至文件50% 处 +G 移动光标到末行 +gg 移动到首行 +n空格 :3+空格键 移动到第三个字符 +删除 +dd 删除光标所在行 +xdd : 5dd 从光标往下删除5行 +dgg: 从光标起往前删除到文本开头 +dG:删除光标到文本文末 +复制黏贴 +yy 复制当前行 +xyy :4yy 复制当前行往下数共四行 +p 黏贴 +``` + +#### 末行模式 + +```bash +:U #恢复一整行原来的面貌(文件打开时的文本状态) +:q #若文件没有修改,直接退出 +:q! #文件已经被修改,放弃修改退出 +:wq #文件已经被修改,保存修改并退出 +:wq!#强制保存退出 +:e! #放弃修改,重新回到文件打开时的状态 +:set nu #显示行号 +:set nonu # 取消显示行号 +:1,$s/word1/word2/g 或 :%s/word1/word2/g #从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) +:1,$s/word1/word2/gc 或 :%s/word1/word2/gc #从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用) +``` + +#### 扩展使用 + +##### vim 转换 doc ucx + +```bash +:# “:” 进入末行模式 +:set ff # 查看文本格式 +:set ff=dos #转换格式为dos +:set ff=unix #转换格式为unix +``` + +##### 查找 + +```bash +/test #往下搜索 +?test #往上搜索 +n #查找下一个, +N #查找上一个 +``` + +##### 批量处理 + +```bash +批量注释: +Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。 +取消注释: +Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出。 +方法二: 替换命令 +批量注释。 +使用下面命令在指定的行首添加注释。 +使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。 +取消注释: +使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。 +``` + diff --git a/content/chaosuan/environment/softwareload/softwaremoduleload.md b/content/chaosuan/environment/softwareload/softwaremoduleload.md new file mode 100644 index 00000000..dc0103f1 --- /dev/null +++ b/content/chaosuan/environment/softwareload/softwaremoduleload.md @@ -0,0 +1,47 @@ +--- +title: "软件加载" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 3 +--- + +## 软件环境加载 + +*** + +###### 软件不能直接使用,需要将软件的可执行文件路径等添加到对应的环境变量后才能使用。 +###### **module**是一款环境变量管理工具,通过module实现软件环境变量的管理,快速加载和切换软件环境。 + +
+ +```bash +# module 常用命令 +module avail # 列出所有软件环境 +module list # 列出所有已加载的软件环境 +module load # 加载软件环境 +module unload # 删除相应的软件环境 +``` + +*** + +##### (1)module avail 列出所有软件环境,可缩写为 module av +![](/chaosuan/environment/_image/module-av.png) +
+ +##### (2)module load 加载软件环境,命令后跟要加载的软件,以加载 gcc/11.2.0 为例 +![](/chaosuan/environment/_image/module-load.png) +
+ +##### (3)module list 列出所有已加载的软件环境 +![](/chaosuan/environment/_image/module-list.png) +
+ +##### (4)module unload 删除相应的软件环境,命令后跟要取消加载的软件,还是以 gcc/11.2.0 为例 +![](/chaosuan/environment/_image/module-unload.png) +
+ + + + diff --git a/content/chaosuan/environment/softwaremake/softwarecompile.md b/content/chaosuan/environment/softwaremake/softwarecompile.md new file mode 100644 index 00000000..58338d1e --- /dev/null +++ b/content/chaosuan/environment/softwaremake/softwarecompile.md @@ -0,0 +1,40 @@ +--- +title: "软件编译" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +## 软件编译流程 + +###### (软件安装流程尚未统计完成,持续更新中...) + +*** + +###### 目前超算平台有两种编译环境,涵盖Intel和GNU编译器,可通过module的使用方法加载编译环境。 +**如每次都需要使用,则可在用户目录下的 .bashrc 文件中进行添加,使其登陆后自动加载编译环境。** + +
+ +``` +软件编译大致流程如下: + +(1)准备 +配置编译之前,查询官方资料并确定需求的编译环境、依赖库、软件需要安装的组件以及软件安装的位置等。 + +(2)配置 +软件的配置信息保存在一个configure文件中,该文件是由autoconf工具生成的,通过运行该脚本加入--help或-h参数获取具体软件的编译参数。 + +a.常规使用方法,软件配置执行 ./configure --prefix=folder,使用--prefix参数指定安装位置即可。 +b.如若使用Intel编译器进行程序编译,则可使用F77=ifort FC=ifort CC=icc CXX=icpc ./configure --prefix=folder 命令指定编译器。 + +(3)编译 +使用make命令进行编译,通常使用-j参数指定编译的线程数(不加参数默认使用机器核心数为线程数),默认执行make即可,也可指定make -j 线程数 命令,进行多线程加速。 + +(4)安装 +make命令编译完成且无报错后,执行make install命令,即可将软件安装在configure中prefix参数指定的安装目录中。 +``` + +###### 备注:对于简单的源程序,可以通过编译器先生成目标文件再链接多个目标文件生成可执行文件。 diff --git a/content/chaosuan/environment/softwareuse/_index.md b/content/chaosuan/environment/softwareuse/_index.md new file mode 100644 index 00000000..beb6ae9a --- /dev/null +++ b/content/chaosuan/environment/softwareuse/_index.md @@ -0,0 +1,8 @@ +--- +title: "软件使用" +linkTitle: "软件使用" +_build: + render: false +weight: 60 +collapsible: true +--- diff --git a/content/chaosuan/environment/softwareuse/biology/_index.md b/content/chaosuan/environment/softwareuse/biology/_index.md new file mode 100644 index 00000000..24719bbe --- /dev/null +++ b/content/chaosuan/environment/softwareuse/biology/_index.md @@ -0,0 +1,7 @@ +--- +title: "生物信息学与生物学" +_build: + render: false +weight: 2 +collapsible: true +--- diff --git a/content/chaosuan/environment/softwareuse/biology/biology.md b/content/chaosuan/environment/softwareuse/biology/biology.md new file mode 100644 index 00000000..e69de29b diff --git a/content/chaosuan/environment/softwareuse/biology/blast.md b/content/chaosuan/environment/softwareuse/biology/blast.md new file mode 100644 index 00000000..82fa1d68 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/biology/blast.md @@ -0,0 +1,52 @@ +--- +title: "BLAST" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 2 +--- + +## BLAST + +###### BLAST (Basic Local Alignment Search Tool)是一套在蛋白质数据库或DNA数据库中进行相似性比较的分析工具。BLAST程序能迅速与公开数据库进行相似性序列比较。BLAST结果中的得分是对一种对相似性的统计说明。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + blastn -query test.fa -db nt -outfmt 6 -evalue 1e-5 -out "test.blastn@dbname" -num_threads 56 + ``` + +*** + +#### 二、编译 + +1. 软件安装 + +```bash +module load conda3 +conda create -n blast python=3 +conda activate blast +conda install blast -c bioconda +``` diff --git a/content/chaosuan/environment/softwareuse/biology/bwa.md b/content/chaosuan/environment/softwareuse/biology/bwa.md new file mode 100644 index 00000000..4e435f4e --- /dev/null +++ b/content/chaosuan/environment/softwareuse/biology/bwa.md @@ -0,0 +1,51 @@ +--- +title: "BWA" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 9 +--- +## BWA + +###### BWA是为二代测序的短序列比对参考序列(reference,fasta格式)而开发的比对软件。需要先对参考序列建库。根据测序方法的不同,有单末端序列(single-end,SE)比对和双末端序列(pair-end,PE)比对。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + bwa index ref.fa + ``` + +*** + +#### 二、编译 + +1. 软件安装 + +```bash +module load conda3 +conda create -n bwa python=3 +conda activate bwa +conda install bwa -c bioconda +``` diff --git a/content/chaosuan/environment/softwareuse/biology/nwchem.md b/content/chaosuan/environment/softwareuse/biology/nwchem.md new file mode 100644 index 00000000..27497ac2 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/biology/nwchem.md @@ -0,0 +1,52 @@ +--- +title: "NWCHEM" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 9 +--- + +## NWChem + +###### NWChem是运行在高性能并行超级计算机和通常工作站集群上的计算化学软件,可以用在大多数计算平台上。NWChem使用标准量子力学描述电子波函或密度,计算分子和周期性系统的特性,还可以进行经典分子动力学和自由能模拟。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + nwchem input.nw + ``` + +*** + +#### 二、编译 + +1. 软件安装 + +```bash +module load conda3 +conda create -n nwchem python=3 +conda activate nwchem +conda install -c conda-forge nwchem +``` diff --git a/content/chaosuan/environment/softwareuse/biology/repeatmasker.md b/content/chaosuan/environment/softwareuse/biology/repeatmasker.md new file mode 100644 index 00000000..369ff6c8 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/biology/repeatmasker.md @@ -0,0 +1,192 @@ +--- +title: "RepeatMasker" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 9 +--- + +### RepeatMasker和RepeatModeler安装及使用 + +###### RepeatMasker是重复序列检测的常用工具,通过与参考数据库的相似性比对来准确识别或屏蔽基因组中的重复序列,属于同源预测注释的方式。RepeatMasker是基因组重复序列检测的常用工具。一般依赖于已有的重复序列参考库Repbase作同源预测。对于绝大部分目标真核物种,都收录在Repbase中。有时候Repbase注释重复区的效果不是很好,这种情况下可考虑执行重复序列的从头预测,即通过当前的全基因组序列,训练重复序列集构建本地repeat library,再通过RepeatMasker注释重复序列。其中,与RepeatMasker配套的RepeatModeler,可以实现。 + +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g2_sysadm # 队列分区且必须指定正确分区 + #SBATCH --job-name=hello # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Run job # + ############################################## + BuildDatabase -name GCA_012411365 -engine rmblast test.fna #根据实际算例名称修改 + + RepeatModeler -pa 5 -database GCA_012411365 + + RepeatMasker -pa 16 \ + -e rmblast -lib consensi.fa.classified \ + -dir Repeat_result -gff test.fna #根据实际算例名称修改 + ``` + + ```bash + #注: + #-dir 后面文件夹需要提前建好,否则不会生成所需文件 + #一定要 -species 指定物种,否则默认比对的是人类重复序列数据库 + #如果使用本地的参考库,通过 -lib 指定,替代 -species + #-s、-q、-qq 等参数可控制序列比对的灵敏度,如果你的目标物种和参考物种不是很近,可能需要提升灵敏度 + #作业若有报错,三条命令可逐条提交 + #提交作业时,提前加载好搭建的conda环境 + ``` + +#### 二、安装 + +1. 创建目录 + + ```bash + #官网:http://www.repeatmasker.org/ + $ mkdir software #创建工作目录 + $ mkdir CPANmodule #创建模块存放目录 + ``` + +2. miniconda安装 + + ```bash + $ cd software;bash Miniconda3-latest-Linux-x86_64.sh + $ vim .condarc #配置conda源 + channels: + - defaults + show_channel_urls: true + default_channels: + - https://10.251.102.1/anaconda/pkgs/main + - https://10.251.102.1/anaconda/pkgs/r + - https://10.251.102.1/anaconda/pkgs/msys2 + custom_channels: + bioconda: https://10.251.102.1/anaconda/cloud + ssl_verify: false + $ vim .bashrc #编辑环境变量 + source /es01/home/test/software/miniconda3/bin/activate + $ conda create -n test python==3.9.12 + $ conda activate test + $ conda install -c bioconda h5py + $ conda install -c bioconda TRF + $ conda install -c bioconda RECON + $ conda install -c bioconda CD-Hit + ``` + +3. 安装RMBlast + + ```bash + #下载链接:http://repeatmasker.org/RMBlast.html + $ tar -xf rmblast-2.11.0+-x64-linux.tar.gz -C software + $ vim .bashrc #配置环境变量 + export PATH=/es01/home/test/software/rmblast-2.11.0/bin:$PATH + ``` + +4. 安装perl + + ```bash + #下载链接:https://www.cpan.org/src/README.html + $ tar -xzf perl-5.16.3.tar.gz + $ cd perl-5.16.3 + $ ./Configure -des -Dprefix=$HOME/software/localperl + $ make + $ make test + $ make install + $ vim .bashrc #配置环境变量 + export PATH=/es01/home/test/software/perl-5.16.3:$PATH + ``` + +5. 安装Repeatmasker + + ```bash + #安装Libraries 下载链接:http://repeatmasker.org/libraries/ + $ tar -xf RepeatMasker-4.1.2-p1.tar.gz + $ tar -xf RepeatMaskerMetaData-20181026.tar.gz + $ cp -r Libraries/* RepeatMasker/Libraries/ + $ cd RepeatMasker + $ ./configrue + $ vim .bashrc + export PATH=/es01/home/test/software/repeatmaskertest/RepeatMasker:$PATH + ``` + +6. 下载cpan模块 + + ```bash + #下载链接:https://metacpan.org/ + $ cd CPANmodule + #所需模块: + JSON + File::Which + URI + Devel::Size + LWP::UserAgent + Encode::Locale + File::Listing + HTML::Entities + HTML::Tagset + Encode + IO::HTML + LWP::MediaTypes + Test::Fatal + HTTP::Headers + HTML::HeadParser + HTTP::Cookies + HTTP::Daemon + Time::Local + Time::Zone + HTTP::Date + HTTP::Negotiate + HTTP::Request + HTTP::Request::Common + HTTP::Response + HTTP::Status + LWP::MediaTypes + Net::HTTP + Test::Fatal + Test::Needs + Test::RequiresInternet + Try::Tiny + WWW::RobotRules + #有的模块包含在同一安装包里,加载一个即可,有的包需要先加载其他的包 + + #perl加载模块例子 + $ tar -xf JSON-4.06.tar.gz + $ cd JSON-4.06/ + $ perl Makefile.PL + $ make + $ make install + ``` + +7. 安装RepeatScout + + ```bash + #下载链接:http://bix.ucsd.edu/repeatscout/ + $ tar -xf RepeatScout + $ vim .bashrc + export PATH=/es01/home/test/software/RepeatScout:$PATH + ``` + +8. 安装UCSC + + ```bash + #在有网的环境中下载好UCSC,打包上传到集群工作目录中解压即可 + $ mkdir UCSC + $ cd UCSC/ + $ rsync -aP rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/linux.x86_64/ ./ + ``` + +9. 安装RepeatModeler + + ```bash + $ tar -xf RepeatModeler-2.0.3.tar.gz + $ cd RepeatModeler-2.0.3 ; perl ./configure + $ export PATH=/es01/home/test/software/RepeatModeler-2.0.3:$PATH + ``` + diff --git a/content/chaosuan/environment/softwareuse/biology/topas.md b/content/chaosuan/environment/softwareuse/biology/topas.md new file mode 100644 index 00000000..9dc99039 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/biology/topas.md @@ -0,0 +1,124 @@ +--- +title: "TOPAS" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 9 +--- + +# topas + + + +```bash +#### TOPAS 包装并扩展了 Geant4 模拟工具包,使医学物理学家更容易使用各种形式的放射治疗的高级蒙特卡罗模拟。 TOPAS 可以对 X 射线和粒子治疗治疗头进行建模,基于 CT 图像对患者几何形状进行建模,对剂量、能量等进行评分,保存和回放相空间,提供高级图形,并且是全四维 (4D)处理治疗期间光束传输和患者几何形状的变化。 TOPAS 用户配置预先构建的组件(例如喷嘴、患者几何形状、剂量测定和成像组件)来模拟各种放射疗法,而无需了解底层 Geant4 模拟工具包或任何编程语言。模拟的所有方面,包括所有 4D 行为,都由独特的 TOPAS 参数控制系统控制。 +``` + + + +### 1、提交脚本 + +``` + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=topas # 作业名称 + #SBATCH --output=topas.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=topas.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # intel 环境加载 + + ############################################## + # Run job # + ############################################## +topas view.txt + +``` + +#### 2、安装思路 + +``` +同目录下在虚拟机中建立相同路径,依赖通过yum安装,安装结束后将二进制文件上传至相同位置。 +``` + +### 3、本地安装 + +```bash +##2、依赖安装 +yum groupinstall -y "Development Tools" +yum install -y expat-devel +yum install -y libXmu-devel +yum install -y mesa-libGL-devel +yum install -y mesa-libGLU-devel +yum install -y centos-release-scl +yum install -y devtoolset-7 +source /opt/rh/devtoolset-7/enable +yum install -y cmake +##3、合并 topas 安装包 +cat topas_3_8_1_centos7.tar.gz.part_* > topas_3_8_1_centos7.tar.gz +tar -zxvf topas_3_8_1_centos7.tar.gz +##4、下载 Geant4 模拟工具包 ,并声明路径 +mkdir ~/G4Data +cd ~/G4Data +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4NDL.4.6.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4EMLOW.7.13.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4PhotonEvaporation.5.7.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4RadioactiveDecay.5.6.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4PARTICLEXS.3.1.1.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4SAIDDATA.2.0.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4ABLA.3.1.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4INCL.1.0.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4PII.1.3.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4ENSDFSTATE.2.3.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4RealSurface.2.2.tar.gz +wget -4 https://geant4-data.web.cern.ch/geant4-data/datasets/G4TENDL.1.3.2.tar.gz +tar -zxf G4NDL.4.6.tar.gz +tar -zxf G4EMLOW.7.13.tar.gz +tar -zxf G4PhotonEvaporation.5.7.tar.gz +tar -zxf G4RadioactiveDecay.5.6.tar.gz +tar -zxf G4PARTICLEXS.3.1.1.tar.gz +tar -zxf G4SAIDDATA.2.0.tar.gz +tar -zxf G4ABLA.3.1.tar.gz +tar -xzf G4INCL.1.0.tar.gz +tar -zxf G4PII.1.3.tar.gz +tar -zxf G4ENSDFSTATE.2.3.tar.gz +tar -zxf G4RealSurface.2.2.tar.gz +tar -zxf G4TENDL.1.3.2.tar.gz + +setenv TOPAS_G4_DATA_DIR ~/G4Data +##5、添加扩展进行编译 + +cd ~/topas +unzip Geant4Headers.zip +cmake -DTOPAS_EXTENSIONS_DIR=~/topas_extensions +make +##6、对 TOPAS_G4_DATA_DIR变量赋值 上传二进制文件至集群并进行测试,测试算例 +setenv TOPAS_G4_DATA_DIR=~/G4Data +cd /Applications/topas/examples/SpecialComponents/MultiLeafCollimator_sequence.txt +#运行命令 +topas MultiLeafCollimator_sequence.txt +``` + +#### 参考链接 + +```bash + http://www.topasmc.org/user-guides/installation + https://topas-nbio.readthedocs.io/en/latest/getting-started/HowToInstall.html +``` + +软件地址 + +``` +链接:https://pan.baidu.com/s/1accROxlM4bsZIKHjTdo29g +提取码:6666 +--来自百度网盘超级会员V4的分享 +``` + diff --git a/content/chaosuan/environment/softwareuse/chemistry/_index.md b/content/chaosuan/environment/softwareuse/chemistry/_index.md new file mode 100644 index 00000000..7ad0716b --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/_index.md @@ -0,0 +1,7 @@ +--- +title: "化学工程与化学" +_build: + render: false +weight: 3 +collapsible: true +--- diff --git a/content/chaosuan/environment/softwareuse/chemistry/abinit.md b/content/chaosuan/environment/softwareuse/chemistry/abinit.md new file mode 100644 index 00000000..7bc2007c --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/abinit.md @@ -0,0 +1,92 @@ +--- +title: "ABINIT" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 2 +--- +## ABINIT + +###### ABINIT的主程序使用赝势和平面波。用密度泛函理论计算总能量、电荷密度、分子和周期性固体的电子结构;根据密度泛函计算的力与压强进行几何优化、分子动力学模;或根据密度泛函微扰理论生成动力学矩阵、波恩有效电荷、介电张量,以及其他的性质,以及许多其他的性质。激发态可以用含时密度泛函理论(对分子)或GW近似(多体微扰理论)计算。此外还提供了大量的工具程序。程序的基组库包括了元素周期表1-109号所有元素。 ABINIT适于固体物理,材料科学,化学和材料工程的研究,包括固体,分子,材料的表面,以及界面,如导体、半导体、绝缘体和金属。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + abinit < tstring.files >log + ``` + +*** + +#### 二、编译 + +1. 环境加载 + + ```bash + module load intel/2022 intelmpi/2022 + ``` + +2. 解压并进入软件目录 + + ```bash + tar zxvf abinit-8.10.3.tar.gz && cd abinit-8.10.3 && mkdir build tarballs + + # 将LibXC 3.0.0,NetCDF 4.1.1和LAPACK for Abinit ≥ 6.10拷贝到tarballs中。 + + # 进入build文件夹中 + # 在build中建立hostname.ac文件,内容如下: + ``` + + ```bash + # ================================================================ + # Configuration file for ABINIT 8 compilation on COBALT + # tested for Intel2015 + impi + # + # ================================================================ + # + FC="mpiifort" + CC="mpiicc" + CXX="mpicxx" + # + enable_mpi="yes" + enable_openmp="yes" + # + with_linalg_flavor="mkl+scalapack" + with_linalg_libs=${SCALAPACK_LDFLAGS} + # + with_fft_flavor="fftw3" + with_fft_incs="-I${MKL_INCDIR}" + with_fft_libs=${MKL_LDFLAGS} + # + with_trio_flavor="netcdf" + with_dft_flavor="libxc" + ``` + + ```bash + #在build中执行configure如下: + ../configure --with-tardir=~/software/abinit-8.10.3/tarball + + make mj56 + ``` diff --git a/content/chaosuan/environment/softwareuse/chemistry/chemistry.md b/content/chaosuan/environment/softwareuse/chemistry/chemistry.md new file mode 100644 index 00000000..e69de29b diff --git a/content/chaosuan/environment/softwareuse/chemistry/code-aster.md b/content/chaosuan/environment/softwareuse/chemistry/code-aster.md new file mode 100644 index 00000000..546bb525 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/code-aster.md @@ -0,0 +1,60 @@ +--- +title: "CodeAster" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 3 +--- +## Code Aster + +###### Code Aster是法国EDF集团研发中心开发的一款基于有限元方法的结构分析软件,主要用于3D热、静力学、结构力学、材料力学以及线性及非线性动力学分析。可编程、易扩展,已形成一定的用户群,广泛用于核电站结构的分析和设计。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + as_run --test forma01a + ``` + +*** + +#### 二、软件安装 + +1. 依赖环境 +软件安装依赖于python3环境,安装前首先配置好python3环境以及软件numpy sphinx包。 + +```bash +module load conda3 +conda create -n python3 python=3 +conda install numpy sphinx +``` + +2. 进入软件目录安装 + + ```bash + python3 setup.py install --prefix=/es01/software/apps/aster-full-src-14.6.0/ + + # 同目录下有个配置文件setup.cfg,默认使用GNU编译器,想用Intel编译器的可以根据内部注释的提示修改 + ``` diff --git a/content/chaosuan/environment/softwareuse/chemistry/code-saturne.md b/content/chaosuan/environment/softwareuse/chemistry/code-saturne.md new file mode 100644 index 00000000..ae959f8e --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/code-saturne.md @@ -0,0 +1,56 @@ +--- +title: "CodeSaturne" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- +## Code Saturne + +###### Code_Saturne是一款由法国核电集团EDF公司开发的开源通用计算流体力学软件,在能源领域特别是核电领域具有广泛的应用。 + +###### Code_Saturne通过求解NS方程,可以处理2D/3D、稳态/非稳态、层流/紊流(多种紊流模型)、不可压/弱可压、等温/不等温等多种计算问题。软件具有良好的并行性,可进行通用的热、流、环境分析,并具有多个针对能源行业的模块。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + code_saturne run --initialize --param case1.xml + ./run_solver + ``` + +*** + +#### 二、软件安装 + +1. 进入软件目录并进行编译安装 + +```bash +./configure --prefix=/WORK/app/Code_Saturne/4.0.3-med CC=icc FC=ifort CXX=icpc --with-mpi=/usr/local/mpi3-dynamic --with-cgns=/WORK/app/cgnslib/3.2.1 --with-cgns-include=/WORK/app/cgnslib/3.2.1/include --with-cgns-lib=/WORK/app/cgnslib/3.2.1/lib --with-hdf5-include=/WORK/app/hdf5/1.8.13/02/include --with-hdf5-lib=/WORK/app/hdf5/1.8.13/02/lib --with-med=/WORK/app/med/3.0.8 --with-med-include=/WORK/app/med/3.0.8/include --with-med-lib=/WORK/app/med/3.0.8/lib --with-metis=/WORK/app/parmetis/4.0.3-mpi --with-metis-include=/WORK/app/parmetis/4.0.3-mpi/include --with-metis-lib=/WORK/app/parmetis/4.0.3-mpi/lib + +make -j + +make install +``` diff --git a/content/chaosuan/environment/softwareuse/chemistry/conquest.md b/content/chaosuan/environment/softwareuse/chemistry/conquest.md new file mode 100644 index 00000000..b0f7aed5 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/conquest.md @@ -0,0 +1,159 @@ +--- +title: "CONQUEST" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 5 +--- +## conquest + +###### CONQUEST 是一款基于本地轨道密度泛函理论的、能以出色的缩放比例进行大规模并行计算的第一性原理计算软件,它使用局部轨道来表示 Kohn-Sham 本征态或者密度矩阵。 CONQUEST 可以应用于原子、分子、液体和固体,且对于大型系统特别有效。CONQUEST 可以使用哈密尔顿的精确对角化或通过线性缩放的方法来找到基态。 CONQUEST 可以执行结构弛豫(包括单位晶胞优化)和分子动力学(在具有各种恒温器的 NVE,NVT 和 NPT 集成中)。 + +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=conquest # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + + ``` + +*** + +#### 二、编译 + + +1. 环境加载 + + ```bash + module load gcc/12.1.0 + module load intel/2022 + module load intelmpi/2022 + module load openmpi/4.1.3 + ``` + +2. blas安装 + + ```bash + #下载链接:http://www.netlib.org/blas/ + tar -xf blas-3.8.0.tgz + make + cp blas_LINUX.a ../lib/libblas.a + ``` + +3. lapack安装 + + ```bash + #下载链接:http://www.netlib.org/lapack/ + tar -xf lapack-3.8.0.tar.gz + cp INSTALL/make.inc.gfortran ./make.inc + make lapacklib + cp liblapack ../lib + ``` + +4. scalapack安装 + + ```bash + #http://www.netlib.org/scalapack/ + tar -zxvf scalapack-2.1.0.tar.gz + cp SLmake.inc.example SLmake.inc + #修改 SLmake.inc + BLASLIB = -lblas -L$BLASPATH/lib + LAPACKLIB = -llapack -L$LAPACKPATH/lib + ``` + + ```bash + make + cp libscalapack.a ../lib/ + ``` + +5. fftw安装 + + ```bash + tar -zxvf fftw-3.3.8.tar.gz + mkdir fftw + cd fftw-3.3.8 + ./configure --host=alpha AR=ar RANLIB=ranlib --prefix=~/fftw + make + make install + ``` + +6. conquest安装 + + ```bash + #https://github.com/OrderN/CONQUEST-release + git clone https://github.com/OrderN/CONQUEST-release + cd CONQUEST-release/src + vim system.make #路径根据实际安装情况修改 + ``` + + ```bash + # + + # Set compilers + FC=mpif90 + F77=mpif77 + + # Linking flags + #ROOT_PATH=/sh2/software/app/conquest/2022.6.29 + LINKFLAGS= -L/sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/lib/intel64 /sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/lib/intel64/libmkl_blacs_openmpi_lp64.a /sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/lib/intel64/libmkl_lapack95_lp64.a -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 -lpthread -lm + ARFLAGS= + + # Compilation flags + #COMPFLAGS= -O3 $(XC_COMPFLAGS) + COMPFLAGS= -I/sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/include/intel64/lp64 -I/sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/include + COMPFLAGS_F77= $(COMPFLAGS) + + # Set BLAS and LAPACK libraries + #BLAS= -llapack -L$(ROOT_PATH)/testlib -lblas -L$(ROOT_PATH)/testlib + + # Full library call; remove scalapack if using dummy diag module + LIBS= $(FFT_LIB) $(XC_LIB) $(BLAS) + + # LibXC compatibility (LibXC below) or Conquest XC library + + # Conquest XC library + XC_LIBRARY = CQ + XC_LIB = + XC_COMPFLAGS = + + # LibXC compatibility + # Choose old LibXC (v2.x) or modern versions + #XC_LIBRARY = LibXC_v2 + #XC_LIBRARY = LibXC + #XC_LIB = -lxcf90 -lxc + #XC_COMPFLAGS = -I/usr/local/include + + # Set FFT library + FFT_LIB= -L/sh2/software/app/conquest/2022.6.29/fftw/lib -lfftw3 + # #FFT_LIB=-lfftw3 + FFT_OBJ=fft_fftw3.o + + # Matrix multiplication kernel type + MULT_KERN = default + # Use dummy DiagModule or not + DIAG_DUMMY = + ``` + + ```bash + make + #编译成功后会在bin目录中生成conquest二进制文件 + ``` + diff --git a/content/chaosuan/environment/softwareuse/chemistry/cp2k.md b/content/chaosuan/environment/softwareuse/chemistry/cp2k.md new file mode 100644 index 00000000..a68169b1 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/cp2k.md @@ -0,0 +1,194 @@ +--- +title: "CP2K" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 6 +--- +## CP2k2022 + +###### CP2K 是一个量子化学和固态物理软件包,可以对固态、液态、分子、周期、材料、晶体和生物系统进行原子模拟。CP2K 为不同的建模方法提供了一个通用框架,例如使用混合高斯和平面波方法GPW和GAPW的DFT。支持的理论级别包括DFTB、LDA、GGA、MP2、RPA、半经验方法(AM1、PM3、PM6、RM1、MNDO,...)和经典力场。CP2K 可以使用NEB或二聚体方法进行分子动力学、元动力学、蒙特卡罗、埃伦费斯特动力学、振动分析、核心能级光谱、能量最小化和过渡态优化的模拟。 + + +#### 一、作业模板 +1. Slurm +```bash +#!/bin/bash +#SBATCH --nodes=2 # 节点数量 +#SBATCH --ntasks-per-node=56 # 每个节点核心数量 +#SBATCH --partition=g1_user # 队列分区且必须指定正确分区 +#SBATCH --job-name=hello # 作业名称 +#SBATCH --output=%j.out # 正常日志输出 (%j 参数值为 jobId) +##SBATCH --error=%j.err # 错误日志输出 (%j 参数值为 jobId) + +############################################## +# Software Envrironment # +############################################## +module load gcc/9.4.0 intel/2022 intelmpi/2022 +module load cp2k/2022_intel2022 +############################################## +# Run job # +############################################## +export OMP_NUM_THREADS=1 +mpirun cp2k.psmp -i test # 根据实际算例名称进行修改 +``` + +#### 二、编译 +1. 环境加载 +```bash +module load intel/2022 +module load intelmpi/2022 +module load gcc/9.4.0 +module load python/3.9.12 +``` + +2. cp2k安装 + +```bash +# 下载链接 https://github.com/cp2k/cp2k/releases 注:tar.gz安装包make文件有问题 +$ tar -xf cp2k-2022.1.tar.bz2 +$ cd cp2k-2022.1/tools/toolchain +$ ./install_cp2k_toolchain.sh -h 查看安装参数 +``` + +```bash +$ ./install_cp2k_toolchain.sh --with-intel --with-intelmpi --with-plumed +# 在脚本执行时,同级目录下会生成build目录,自动编译过程中若缺少所需的库,按照报错的提示去网上将安装包下载并且放于build目录中,再执行编译 +# 编译到cmake的bug,需要将下载的cmake-3.22.1-Linux-x86_64.sh更改名称,将报错提示的cmake-3.22.1-Linux-x86_64.sh复制 +# mv cmake-3.22.1-Linux-x86_64.sh cmake-3.22.1-Linux-x86_64.sh 即可,虽然名称相同但是脚本不识别,重新更改一下名称即可 +# 编译到spla-1.5.4.tar.gz的bug,需要按照报错提示修改安装spla的脚本文件,将文件的第40行tar -xf spla-{version}.tar.gz删掉 +# cd build | tar -xf spla-1.5.4.tar.gz 进入buid目录手动解压spla-1.5.4.tar.gz文件 +# 脚本会自动编译所需的库,以下是自动编译过程 +MPI is detected and it appears to be Intel MPI +Compiling with 56 processes. +Step gcc took 0.00 seconds. +==================== Finding Intel compiler from system paths ==================== +path to icc is /es01/software/spack_external/compiler/intel/2022/compiler/2022.1.0/linux/bin/intel64/icc +path to icpc is /es01/software/spack_external/compiler/intel/2022/compiler/2022.1.0/linux/bin/intel64/icpc +path to ifort is /es01/software/spack_external/compiler/intel/2022/compiler/2022.1.0/linux/bin/intel64/ifort +Step intel took 0.00 seconds. +==================== Getting proc arch info using OpenBLAS tools ==================== +OpenBLAS detected LIBCORE = skylakex +OpenBLAS detected ARCH = x86_64 +==================== Installing CMake ==================== +cmake-3.22.1 is already installed, skipping it. +Step cmake took 0.00 seconds. +==================== Finding Intel MPI from system paths ==================== +path to mpirun is /es01/software/spack_external/compiler/intel/2022/mpi/2021.6.0/bin/mpirun +path to mpiicc is /es01/software/spack_external/compiler/intel/2022/mpi/2021.6.0/bin/mpiicc +path to mpiicpc is /es01/software/spack_external/compiler/intel/2022/mpi/2021.6.0/bin/mpiicpc +path to mpiifort is /es01/software/spack_external/compiler/intel/2022/mpi/2021.6.0/bin/mpiifort +Found lib directory /es01/software/spack_external/compiler/intel/2022/mpi/2021.6.0/lib/release +libmpi is found in ld search path +libmpicxx is found in ld search path +Step intelmpi took 0.00 seconds. +==================== Finding MKL from system paths ==================== +MKLROOT is found to be /es01/software/spack_external/compiler/intel/2022/mkl/2022.1.0 +libm is found in ld search path +libdl is found in ld search path +Step mkl took 0.00 seconds. +Step fftw took 0.00 seconds. +==================== Installing LIBINT ==================== +libint-2.6.0 is already installed, skipping it. +Step libint took 0.00 seconds. +==================== Installing LIBXC ==================== +libxc-5.2.3 is already installed, skipping it. +Step libxc took 0.00 seconds. +==================== Installing Libxsmm ==================== +libxsmm-1.17 is already installed, skipping it. +Step libxsmm took 0.00 seconds. +Step scalapack took 0.00 seconds. +==================== Installing COSMA ==================== +COSMA-2.5.1 is already installed, skipping it. +Step cosma took 0.00 seconds. +==================== Installing ELPA ==================== +elpa-2021.11.002 is already installed, skipping it. +Step elpa took 1.00 seconds. +Step ptscotch took 0.00 seconds. +Step superlu took 0.00 seconds. +Step pexsi took 0.00 seconds. +Step quip took 0.00 seconds. +==================== Installing gsl ==================== +gsl-2.7 is already installed, skipping it. +Step gsl took 0.00 seconds. +==================== Installing PLUMED ==================== +plumed-2.8.0 is already installed, skipping it. +Step plumed took 0.00 seconds. +==================== Installing hdf5 ==================== +hdf5-1.12.0 is already installed, skipping it. +Step hdf5 took 0.00 seconds. +Step libvdwxc took 0.00 seconds. +==================== Installing spglib ==================== +spglib-1.16.2 is already installed, skipping it. +Step spglib took 0.00 seconds. +==================== Installing libvori ==================== +libvori-220621 is already installed, skipping it. +Step libvori took 0.00 seconds. +==================== Installing spfft ==================== +SpFFT-1.0.6 is already installed, skipping it. +Step spfft took 0.00 seconds. +==================== Installing spla ==================== +SpLA-1.5.4 is already installed, skipping it. +Step spla took 0.00 seconds. +==================== Installing SIRIUS ==================== +sirius_dist-7.3.1 is already installed, skipping it. +Step sirius took 1.00 seconds +``` + +```bash +# 库编译成功后,按照提示进行软件编译 + +==================== generating arch files ==================== +arch files can be found in the ~/cp2k-2022.1/tools/toolchain/install/arch subdirectory +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local.ssmp +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local_static.ssmp +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local.sdbg +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local_coverage.sdbg +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local.psmp +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local.pdbg +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local_static.psmp +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local_warn.psmp +Wrote ~/cp2k-2022.1/tools/toolchain/install/arch/local_coverage.pdbg +========================== usage ========================= +Done! + +# 按照以下步骤编译 + +Now copy: + $ cp ~/cp2k-2022.1/tools/toolchain/install/arch/* to the cp2k/arch/ directory +To use the installed tools and libraries and cp2k version +compiled with it you will first need to execute at the prompt: + $ source ~/cp2k-2022.1/tools/toolchain/install/setup +To build CP2K you should change directory: + $ cd cp2k/ + $ make -j 20 ARCH=local VERSION="ssmp sdbg psmp pdbg" + +arch files for GPU enabled CUDA versions are named "local_cuda.*" +arch files for GPU enabled HIP versions are named "local_hip.*" +arch files for OpenCL (GPU) versions are named "local_opencl.*" +arch files for coverage versions are named "local_coverage.*" + +Note that these pre-built arch files are for the GNU compiler, users have to adapt them for other compilers. +It is possible to use the provided CP2K arch files as guidance. +``` + +```bash +# 安装完成后会在cp2k-2022.1/exe/下生成local的目录,目录中存放二进制文件,local相当于bin目录,添加到环境变量中即可使用 ./cp2k.psmp -v会显示安装成功的库以及其他信息CP2K version 2022.1 + +# Source code revision git:2caeb6f + +# cp2kflags: omp libint fftw3 libxc elpa parallel mpi3 scalapack cosma xsmm plumed2 spglib mkl sirius libvori libbqb + +# compiler: Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.6.0 Build 20220226_000000 +``` + +#### cp2k8.2编译环境及参数 + +```bash +$ module load intel/2019 intelmpi/2019 gcc/9.4.0 # 或多或少有问题,不如2022 +$./install_cp2k_toolchain.sh --with-mkl=system --with-plumed +``` + + + diff --git a/content/chaosuan/environment/softwareuse/chemistry/gamess.md b/content/chaosuan/environment/softwareuse/chemistry/gamess.md new file mode 100644 index 00000000..68f96214 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/gamess.md @@ -0,0 +1,108 @@ +--- +title: "GAMESS" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 7 +--- +## GAMESS + +###### General Atomic and Molecular Electronic Structure System (GAMESS) 是一款分子层面的从头算量子化学程序。GAMESS可用于计算RHF、ROHF、UHF、GVB乃至MCSCF的SCF波函数。其中针对这些SCF波函数的关联修正包括组态相互作用、二阶微扰、耦合团簇方法和密度泛函理论近似。软件可通过CI、EOM及TD-DFT(含时密度泛函)计算激发态。同时,原子核梯度方法在结构自动优化、过渡态搜索或反应路径追踪功能实现上也是可用的。通过能量hessian计算,软件可以预测振动频率、IR或拉曼强度。借助于离散有效片段势(discrete Effective Fragment potentials)或极化连续体模型等连续体模型,软件能够模拟溶剂效应。软件还能从事多种相对论计算,包括有限阶的二组分标量相对论修正(可考虑多种自旋轨道耦合方式)。值得一提的是,软件的分子轨道方法将计算划分为许多小片段,使得上述这些复杂处理方法可用在非常庞大的体系当中。此外,原子核波函数也是可以计算的,包括利用VSCF,或利用NEO代码对原子核轨道进行精细处理。 + +###### GAMESS可以计算许多分子性质,从简单的偶极子矩到依赖于频率的超极化率都属于GAMESS可研究的范围。GAMESS内存储了大量基组及有效核势、模型核势,其研究对象涵盖了几乎整个元素周期表。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + ./runall 00 >& runall.log + ``` + +*** + +#### 二、编译 + +1. 环境加载 + + ```bash + module load intel/2022 intelmpi/2022 + ``` + +2. 解压Gamess: + +```bash +tar -xzvf gamess-current.tar.gz +``` + +3. 生成配置文件, + +```bash +cd gamess + +./config +``` + +机器名,一般输入linux64 + +回车(使用默认路径) + +回车(使用默认路径) + +回车(gamess默认的版本号00) + +gfortran + +4.8 + +回车 + +none(选择使用数学库,我这里为了避免麻烦,选择了none) + +回车 + +sockets(选择sockets或者mpi) + +no(不使用LIBCCHEM) + +生成install.info和Makefile文件 + +4. 编译ddi + +```bash +cd ddi + +./compddi + +mv ddikick.x /home/quant/games/ddikick.x +``` + +5. 编译compall + +gamess文件夹下,./compall(时间很长),完成后在gamess文件夹下产生gamess.00.x程序。 + +```bash +./lked gamess 00 2>&1 | tee lked.log +``` + +lked.log文件会显示过程,有The linking of GAMESS to binary gamess.00.x wassuccessful.字样说明已经连接成功。 diff --git a/content/chaosuan/environment/softwareuse/chemistry/gaussian.md b/content/chaosuan/environment/softwareuse/chemistry/gaussian.md new file mode 100644 index 00000000..7c570c5c --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/gaussian.md @@ -0,0 +1,60 @@ +--- +title: "GAUSSIAN" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 8 +--- +## Gaussian 半经验计算和从头计算使用最广泛的量子化学软件 + +###### Gaussian是一个功能强大的量子化学综合软件包,平台并未购买该软件,用户需要确保版权。 + +###### 请自行购买Gaussian license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有Gaussian license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=gs # 作业名称 + #SBATCH --output=gs.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=gs.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + g16 < GAO-BAB-T11.GJF + ``` + +*** + +#### 二、安装 +```bash +mkdir gaussian +mkdir gaussian/tmp +cp E64-511X.tbz gaussian +tar -xf E64-511X.tbz +cd /es01/home/gaussian/g16/ #需要在g16目录下安装,否则报错 +./bsd/install +``` + +```bash +vim .bashrc +export g09root=/es01/home/gaussian +export GAUSS_SCRDIR=/es01/home/gaussian/tmp +export GAUSS_EXEDIR=$g09root/g09 +source $g09root/g09/bsd/g09.profile +``` diff --git a/content/chaosuan/environment/softwareuse/chemistry/gromacs.md b/content/chaosuan/environment/softwareuse/chemistry/gromacs.md new file mode 100644 index 00000000..cefc8a96 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/gromacs.md @@ -0,0 +1,116 @@ +## GROMACS 是一种分子动力学应用程序 +###### 可以模拟具有数百至数百万个粒子的系统的牛顿运动方程。GROMACS旨在模拟具有许多复杂键合相互作用的生化分子,例如蛋白质,脂质和核酸。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=gromacs # 作业名称 + #SBATCH --output=gromacs.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=gromacs.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + moudle load gromacs # 软件加载(参考module使用方法,选择具体版本) + + ############################################## + # Run job # + ############################################## + + pdb2gmx -ignh -ff gromos43a1 -f 1OMB.pdb -o fws.gro -p fws.top -water none + editconf -f fws.gro -d 0.7 + editconf -f out.gro -o fws_ctr.gro -center 2.0715 1.6745 1.914 + grompp -f em.mdp -c fws_ctr.gro -p fws.top -o fws_em.tpr + srun gmx_mpi mdrun -s fws_em.tpr -o fws_em.trr -c fws_ctr.gro -g em.log -e em.edr + # srun gmx_mpi mdrun -v -deffnm step7_production + ``` + +*** + +#### 二、编译 +1. 选择版本并下载解压源码 + ```bash + $ https://manual.gromacs.org/documentation/ + ``` +2. 登录节点禁止运行作业和并行编译,请申请计算节点资源用来编译,并在编译结束后退出: + ```bash + $ srun -p g1_share -n 56 --pty /bin/bash + + # -p 参数指定了队列,请以实际使用为准 + ``` +3. 环境加载 + + ```bash + module load gcc/12.1.0 cmake/3.21.1 openmpi/4.1.3-gcc12.1.0 + 加载gcc环境 + export CC=`which gcc` + export CXX=`which g++` + export FC=`which gfortran` + ``` + +4. FFTW安装 + + ```bash + fftw下载路径:https://fftw.org/pub/fftw/ + tar -xf fftw-3.3.9.tar.gz + cd fftw-3.3.9/ + ./configure --prefix=/es01/home/xiehx/fftw --enable-mpi --enable-static --enable-shared CC=gcc + make -j 20 + make install + ``` + +5. openblas安装 + + ```bash + openblas下载链接:https://sourceforge.net/projects/openblas/ + tar -xf Openblas-0.3.20.tar.gz + cd Openblas-0.3.20 + make + make PREFIX=/es01/home/xiehx/OpenBLAS install + ``` + +6. lapack安装 + + ``` + lapack下载链接:http://www.netlib.org/lapack + tar -xf lapack-3.10.1.tar.gz + cd lapack-3.10.1 + cp make.inc.example make.inc + make + cd LAPACKE + make + cd ../ + mkdir lib + mv *.a lib + ``` + +7. gromacs安装 + + ``` + gromacs下载链接:https://manual.gromacs.org/current/download.html# + tar xf gromacs-2022.tar.gz + cd gromacs-2022 + mkdir build ; cd build + PREFIX=/es01/home/xiehx/gromacs + LDFLAGS="-lgfortran" CC=mpicc CXX=mpicxx cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -DBUILD_SHARED_LIBS=on -DBUILD_TESTING=on -DREGRESSIONTEST_DOWNLOAD=off -DGMX_BUILD_OWN_FFTW=off -DGMX_DOUBLE=on -DGMX_EXTERNAL_BLAS=on -DGMX_EXTERNAL_LAPACK=on -DGMX_FFT_LIBRARY=fftw3 -DGMX_BLAS_USER=/es01/home/xiehx/OpenBLAS/lib/libopenblas.a -DGMX_LAPACK_USER=/es01/home/xiehx/lapack/lapack-3.10.1/lib/liblapack.a -DFFTW_LIBRARY=/es01/home/xiehx/fftw/lib/libfftw3.so -DFFTW_INCLUDE_DIR=/es01/home/xiehx/fftw/include -DGMX_GPU=off -DGMX_MPI=on -DGMX_OPENMP=on -DGMX_X11=off ../ + ``` + + ###### 附ERROR:lapack64位链接错误处理方法: + + ```bash + # 使用-fPIC重新编译lapack本身.所以在你的make.inc中更改为以下内容: + FORTRAN = gfortran -m64 -fPIC + OPTS = -O2 -m64 -fPIC + DRVOPTS = $(OPTS) + NOOPT = -O0 -m64 -fPIC + LOADER = gfortran -m64 -fPIC + ``` + diff --git a/content/chaosuan/environment/softwareuse/chemistry/lammps.md b/content/chaosuan/environment/softwareuse/chemistry/lammps.md new file mode 100644 index 00000000..0d235c31 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/lammps.md @@ -0,0 +1,110 @@ +--- +title: "LAMMPS" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 9 +--- +## LAMMPS 是由桑迪亚国家实验室开发的一套分子动力学模拟的开源程序包 + +###### LAMMPS提供了元素周期表中原子对应的经验势函数,可进行与实际体系对应的分子动力学模拟,例如计算金属铝的晶格常数,或水的密度,得到与实验吻合的结果。另一方面也提供了多种模型势函数,可用于进行粗粒化模拟,例如模拟基于粒子-弹簧模型的高分子链的性质。 LAMMPS作为实用程序包,采取了很多成熟的优化算法。例如在短程相互作用的计算中运用韦尔莱表和元胞列表优化临近粒子的扫描。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=lammps # 作业名称 + #SBATCH --output=lammps.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=lammps.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + module load lammps # 软件加载(参考module使用方法,选择具体版本) + + ############################################## + # Run job # + ############################################## + ulimit -s unlimited + ulimit -l unlimited + mpirun lmp_mpi -i in.lj.txt # 将in.lj.txt 修改为实际输入 + ``` + +*** + +#### 二、编译 +1. 官网下载 lammps最新的稳定版: + ``` + $ https://lammps.sandia.gov/tars/lammps-stable.tar.gz + ``` +2. 登录节点禁止运行作业和并行编译,请申请计算节点资源用来编译,并在编译结束后退出: + ```bash + $ srun -p g1_share -n 56 --pty /bin/bash + + # -p 参数指定了队列,请以实际使用为准 + ``` +3. 加载 Intel 模块: + ``` + $ module load intel/2022 intelmpi/2022 # intel 环境加载 + ``` + +4. **CPU**编译 (以额外安装 MANYBODY 和 Intel 加速包为例) + ``` + $ tar xvf lammps-stable.tar.gz + $ cd lammps-XXXXXX + $ cd src + $ make #查看编译选项 + $ make package #查看包 + $ make yes-intel #"make yes-"后面接需要安装的 package 名字 + $ make yes-manybody + $ make ps #查看计划安装的包列表 + $ make -j intel_cpu_intelmpi #开始编译 + ``` + +5. **GPU**编译 + ```bash + ``` + +#### 三、kokk包 + +```bash +##Kokkos 是一个模板化C++库,它提供了抽象以允许 应用程序内核的单个实现(例如配对样式) 在不同类型的硬件上高效运行,例如 GPU、英特尔 至强Phis,或众核CPU。Kokkos 将C++内核映射到 不同的后端语言,如CUDA,OpenMP或Pthreads。这 Kokkos 库还提供了要调整的数据抽象(在编译 time)数据结构(如2D和3D数组)的内存布局 优化不同硬件的性能。 +#1、修改 kokkos 里面对gpu cpu 的架构参数 下文为 gpu A100 cpu Intel(R) Xeon(R) Gold 6258R CPU 具体参照 https://docs.lammps.org/Build_extras.html#kokkos +vim src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi + +KOKKOS_ARCH=SKX,Ampere80 + +make yes-manybody yes-molecule yes-replica yes-kspace yes-asphere yes-rigid yes-openmp yes-reaxff yes-ml-snap yes-kokkos + +make kokkos_cuda_mpi –j 16 +###运行命令 +mpirun -np 2 --allow-run-as-root --mca btl '^openib' /data/software/hpctest/lammps-15Sep2022/src/lmp_kokkos_cuda_mpi -k on g 2 -sf kk -in lammps-23Jun2022/examples/flow/in.flow.couette + +#####注意:在写kokko 要求的填写 cpu gpu 架构那lammps 版本不一致的话,大小写要求也不一样 +##参考连接 https://docs.lammps.org/Build_extras.html#kokkos +``` + +#### 四、nnp 包 + +```bash +1、加载 Intel 及intelmpi 环境 +2、下载 n2p2 包 tar xf 解压 后 进入 src 目录 +3、执行 make lammps-nnp 查看提示下载 lammps 版本 +4、lammps 官网下载 提示版本lammps +5、解压 lammps +6、vim修改 n2p2源码包下 src/interface/makefile 文件 +7、删除 if.... wget ..mv lammps..lammps-nnp 这几行,并记下最后mv 给lammps 源码包改的名字 (lammps-nnp),保存后退出 +8、将解压后的lammps 包 mv 到 n2p2源码包下 src/interface/ 并改为 src/interface/makefile文件提示的lammps-nnp +9、cd ../ +10、执行 make lammps-nnp +11、lmp_mpi 二进制包生成于n2p2源码包下的bin目录 + +``` diff --git a/content/chaosuan/environment/softwareuse/chemistry/meep.md b/content/chaosuan/environment/softwareuse/chemistry/meep.md new file mode 100644 index 00000000..ba63e3d5 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/meep.md @@ -0,0 +1,62 @@ +--- +title: "MEEP" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 10 +--- +## MEEP + +###### MEEP是开源的时域有限差分法模拟软件包,与MPB一起用于模拟电磁系统,由麻省理工学院开发 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + mpirun python foo.py > foo.out + ``` + +*** + +#### 二、软件安装 + +1. 环境加载 + + ```bash + module load conda3 + ``` + +2. 安装Parallel Meep + +```bash +conda create -n pmp -c conda-forge pymeep=\*=mpi\_mpich\_\* +# 即我们将并行版本的Meep安装在了虚拟环境pmp上,我们激活虚拟环境 + +conda activate pmp +# 测试是否安装成功,可以接着打开python,然后 + +import meep as mp +# 没有报错就说明成功了 +``` diff --git a/content/chaosuan/environment/softwareuse/chemistry/namd.md b/content/chaosuan/environment/softwareuse/chemistry/namd.md new file mode 100644 index 00000000..2aca53de --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/namd.md @@ -0,0 +1,65 @@ +--- +title: "NAMD" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 11 +--- +## NAMD + +###### NAMD(NAnoscale Molecular Dynamics)是用于在大规模并行计算机上快速模拟大分子体系的并行分子动力学代码。NAMD用经验力场,如Amber,CHARMM和Dreiding,通过数值求解运动方程计算原子轨迹。NAMD最大模拟规模可超过200,000核. + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + namd2 +ppn 56 $input_file + ``` + +*** + +#### 二、软件安装 + +1. 编译安装charm++ + + ```bash + cd charm-6.10.2 + + ./build charm++ netlrts-linux-x86_64 --with-production + + cd netlrts-linux-x86_64/tests/charm++/megatest + + make pgm + ``` + +2. 安装namd + + ```bash + ./config Linux-x86_64-g++ --charm-arch netlrts-linux-x86_64 + + cd Linux-x86_64-g++ + + make -j + ``` diff --git a/content/chaosuan/environment/softwareuse/chemistry/octopus.md b/content/chaosuan/environment/softwareuse/chemistry/octopus.md new file mode 100644 index 00000000..51bcbbe0 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/octopus.md @@ -0,0 +1,66 @@ +--- +title: "OCTOPUS" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 11 +--- +## OCTOPUS +###### Octopus是一款赝势实空间软件包,用于含时电磁场下的一、二及三维有限系统的电子-离子动力学模拟。此软件基于Kohn-Sham框架的含时密度泛函理论,所有物理量于实空间规则网格下展开并执行实时模拟。软件已成功应用于多个物理系统的线性及非线性吸收谱、谐振谱、激光诱导瓦解。 + +###### 实空间方法的优点是整个模拟过程简单直观。首先,诸如密度或波函数等物理量易于实空间可视化。进一步,该方法在1-,2-或3-维系统及不同边界条件下相当易于进行数值计算。例如,我们不需要超胞也可研究有限体系、分子或团簇,只须简单地将距系统足够远处表面的波函数设置为零。同样地,有限体系、聚合物或体相材料在施加了合适的周期性边界条件后也能被加以研究。在实空间方法下只有一个收敛参数——网格步长,降低网格步长通常能有效提高计算结果质量。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + mpirun octopus_mpi >& log + ``` + +*** + +#### 二、编译 + +1. 环境加载 + + ```bash + export LIBS_BLAS=basedir/lib/libblas.a + export LIBS_LAPACK=basedir/lib/liblapack.a + export LIBS_FFT=basedir/lib/libfftw3.a + ``` + +2. 编写配置脚本: + + ```bash + autoreconf -i + + ./configure CC="gcc -m64" CFLAGS="-O3 -march=native" FC="gfortran -m64" FCFLAGS="-O3 -ffree-line-length-none" --prefix=basedir --with-gsl-prefix=basedir --with-libxc-prefix=basedir --with-fftw-prefix=basedir + + make + make install + + # 编译安装后将在 basedir/bin/octopus 生成 + ``` + +3. 完成。 diff --git a/content/chaosuan/environment/softwareuse/chemistry/palabos.md b/content/chaosuan/environment/softwareuse/chemistry/palabos.md new file mode 100644 index 00000000..5a916ff9 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/palabos.md @@ -0,0 +1,54 @@ +--- +title: "Palabos" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 12 +--- +## Palabos + +###### Palobos是一个基于LBM(格子Boltzmann方法)开源软件,也是为数不多的基于LBM方法的计算流体软件(同类商业软件仅有Powerflow一款,且售价极为昂贵),由来自不同国家的多位学者合作开发完成,主要用于流体模拟。Palobos集成了多个LBM模型。它采用c++编写,可实现MPI并行,并采用了多种优化措施。它能将计算结果输出为VTK形式,并采用诸如paraview等开源的后出了软件进行数据分析处理。 + +###### PalaBos的主要特点在于,其在并行结构上采取并行机制与模型分离的方式,使得应用建模与并行机制不相关。这也使得PalaBos的易于扩展。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + mpirun ./cavity3d 400 + ``` + +*** + +#### 二、软件安装 + +1. 进入软件目录并进行编译安装 + +palabos 带有众多算例,想要对某个算例进行计算时,进入指定目录进行编译即可 +```bash +cd $Palabos/examples/benchmarks/cavity3d + +make +``` diff --git a/content/chaosuan/environment/softwareuse/chemistry/quantum-espresso.md b/content/chaosuan/environment/softwareuse/chemistry/quantum-espresso.md new file mode 100644 index 00000000..befe2ec8 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/quantum-espresso.md @@ -0,0 +1,71 @@ +--- +title: "Quantum ESPRESSO" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## Quantum ESPRESSO 是用于纳米级电子结构计算和材料建模的开源软件包 + +###### Quantum ESPRESSO基于密度泛函理论、平面波和赝势(范数守恒和超软) +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=qe # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + module load qe-6.2.1 # 软件加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + ulimit -s unlimited + ulimit -l unlimited + + mpirun pw.x -i ausurf.in + ``` + +*** + +#### 二、编译 +1. 环境加载 + + ```bash + #intel编译 + module load intelmpi/2022 intel/2022 + #gcc编译 + module load gcc/12.1.0 openmpi/4.1.3_gcc12.1.0 + ``` + +2. QE安装 + + ```bash + #QE下载链接: https://github.com/QEF/q-e/releases/tag/qe-7.0 + #Devicexlib下载链接: https://gitlab.com/max-centre/components/devicexlib/-/archive/0.1.0/devicexlib-0.1.0.tar.gz + tar -xf qe.tar.gz + cd q-e-qe-7.0/ + ./configure --prefix=/sh2/software/app/qe + cp -r devicexlib-0.1.0/* /sh2/software/app/qe/q-e-qe-7.0/external/devxlib + cd q-e-qe-7.0/ + make all install + ``` + +###### ERROR: 系统试图使用wget命令从gitlab中下载一个名为devicexlib-0.1.0.tar.gz的外部包,并将其解压到./external/devxlib中。如果用户所在的系统未配置外部互联网,则无法下载成功,紧接着的tar命令自然找不到文件,也无法编译安装devicelib,进而整个make安装过程自然报错退出。 + +###### 解决方案:手动从提示的链接下载devicexlib包并且解压到$QEPATH/external/devxlib中,然后重新回到QE主目录$QEPATH执行正常安装即可。 diff --git a/content/chaosuan/environment/softwareuse/chemistry/vasp.md b/content/chaosuan/environment/softwareuse/chemistry/vasp.md new file mode 100644 index 00000000..13804d4a --- /dev/null +++ b/content/chaosuan/environment/softwareuse/chemistry/vasp.md @@ -0,0 +1,108 @@ +--- +title: "VASP" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 14 +--- + +## VASP + +###### 全称Vienna Ab-initio Simulation Package,是维也纳大学Hafner小组开发的进行电子结构计算和量子力学-分子动力学模拟软件包。 + +###### 请自行购买VASP license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有VASP license的证明。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + mpirun -hosts `scontrol show hostname $SLURM_JOB_NODELIST |tr '\n' ',' | head -c-1` -np $SLURM_NTASKS vasp_std + ``` + +*** + +#### 二、编译CPU版本 + +1. 环境加载 + + ```bash + module load intel/2022 intelmpi/2022 + ``` + +2. vasp5.4.4 + + ```bash + $ tar xf vasp.5.4.4.tar.gz + $ cd vasp.5.4.4 + $ cp arch/makefile.include.linux_intel ./makefile.include + $ make all + # 编译完成后会在vasp.5.4.4的文件夹下的bin文件夹里生成vasp_gam、vasp_ncl、vasp_std三个可自行文件。 + ``` + +#### 三、编译GPU版本(过时的,vasp官方在最新版本中已删除支持) + +1. 环境加载 + + ```bash + module load intel/2022 intelmpi/2022 + ``` + +2. vasp5.4.4 + + ```bash + tar xf vasp.5.4.4.tar.gz + cd vasp.5.4.4 + cp arch/makefile.include.linux_intel makefile.include + ``` + + ```bash + vim makefile.include + # 修改 -openmp 为 -qopenmp + #更改前: + GENCODE_ARCH := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \ + -gencode=arch=compute_35,code=\"sm_35,compute_35\" \ + -gencode=arch=compute_60,code=\"sm_60,compute_60\" + #更改后: + GENCODE_ARCH := -gencode=arch=compute_70,code=\"sm_70,compute_70\" 备注:vasp5.4.4最高能接受的GPU sm配置为70 根据实际情况修改 + make gpu + # GPU版本使用的时候需要载入cuda,高版本如2018的intel编译器编译时会报错 + ``` + +3. vasp6.1.2 + + ```bash + tar xf vasp.6.1.2.tar.gz + cd vasp.6.1.2 + cp arch/makefile.include.linux_intel makefile.include + vim makefile.include + #更改前: + GENCODE_ARCH := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \ + -gencode=arch=compute_35,code=\"sm_35,compute_35\" \ + -gencode=arch=compute_60,code=\"sm_60,compute_60\" + #更改后: + GENCODE_ARCH := -gencode=arch=compute_80,code=\"sm_80,compute_80\" #A100为sm为80 根据实际情况修改 + make gpu + # GPU版本使用的时候需要载入cuda,高版本如2018的intel编译器编译时会报错 + ``` + diff --git a/content/chaosuan/environment/softwareuse/computersciences/_index.md b/content/chaosuan/environment/softwareuse/computersciences/_index.md new file mode 100644 index 00000000..9b15ee61 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/computersciences/_index.md @@ -0,0 +1,7 @@ +--- +title: "计算机科学" +_build: + render: false +weight: 4 +collapsible: true +--- diff --git a/content/chaosuan/environment/softwareuse/computersciences/cSciences.md b/content/chaosuan/environment/softwareuse/computersciences/cSciences.md new file mode 100644 index 00000000..e69de29b diff --git a/content/chaosuan/environment/softwareuse/earthSciences/_index.md b/content/chaosuan/environment/softwareuse/earthSciences/_index.md new file mode 100644 index 00000000..cacd7d19 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/earthSciences/_index.md @@ -0,0 +1,7 @@ +--- +title: "地球科学" +_build: + render: false +weight: 5 +collapsible: true +--- diff --git a/content/chaosuan/environment/softwareuse/earthSciences/cesm.md b/content/chaosuan/environment/softwareuse/earthSciences/cesm.md new file mode 100644 index 00000000..2ea1ea13 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/earthSciences/cesm.md @@ -0,0 +1,338 @@ +--- +title: "CESM" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +# CESM + +###### [CESM](http://www.cesm.ucar.edu/index.html)(Community Earth System Model)是一个由美国国家大气研究中心(NCAR)开发的气候系统模式,目前得到广泛的应用。本文是使用笔者一开始学习CESM时的一份记录,很多操作时间一长会忘记,所以这里就备份这份笔记。 + +### 一、提交脚本 + +```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=of # 作业名称 + #SBATCH --output=of.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=of.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + moudle load openfoam # 软件加载(参考module使用方法,选择具体版本) + + ############################################## + # Run job # + ############################################## + +./case.build + +./case.submit +``` + +### 二、 编译 + +1. 预准备 + +首先查看目前CESM已经有的版本: + +`svn list https://svn-ccsm-release.cgd.ucar.edu/model_versions` + +然后下载需要的版本: + +`svn co https://svn-ccsm-release.cgd.ucar.edu/model_versions/cesm1_2_1 cesm1_2_1` + +其他软件,如编译器,并行库,netCDF等需要提前安装好,笔者用的是intel编译器套件Parallel Studio,同时并行库一般用的OpenMPI或者IMPI,此外需要提前下载好CESM的输入数据。 + +然后利用命令: + +```sh +cd ccsm4/scripts +./create_newcase -l +``` + +列出模式支持的系统信息。 + +2. 设置环境变量(CEMS与CAM5) + +```sh +#For CESM +export CAM_ROOT=/home/qianqf/cesm1_2_1 +export camcfg=/home/qianqf/cesm1_2_1/models/atm/cam/bld +export INC_NETCDF=/home/qianqf/lib4cam/include +export LIB_NETCDF=/home/qianqf/lib4cam/lib +export INC_MPI=/share/apps/openmpi-1.4.5/include +export LIB_MPI=/share/apps/openmpi-1.4.5/lib +export CSMDATA=/home2_hn/CESM/cesm-input +export MOD_NETCDF=/home/qianqf/lib4cam/include +``` +3. 编辑config_machines.xml文件 + +```text + +   LINUX cluster +   LINUX +   intel +   openmpi +   /home2_hn/qianqf/$CASE/run +   /home2_hn/qianqf/$CASE/bld +   /home2_hn/CESM/cesm-input +   /home2_hn/CESM/cesm-input/atm/datm7 +   FALSE +   /home2_hn/qianqf/$CASE +   /home2_hn/qianqf/$CASE +   UNSET +   UNSET +   qstat +   qsub +   qqf1403321992 -at- gmail.com +   1 +   16 + +``` + +4. 配置env_mach_specific文件 + +> 由于config_machines.xml里设置了MACH="qqf",所以env_mach_specific后缀为qqf,即env_mach_specific.qqf。但这个文件实际并不会起什么太大的作用。 + +```sh +#! /bin/csh -f +# ------------------------------------------------------------------------- +# USERDEFINED +# Edit this file to add module load or other paths needed for the build +# and run on the system. Can also include general env settings for machine. +# Some samples are below +# ------------------------------------------------------------------------- +#source /opt/modules/default/init/csh +#if ( $COMPILER == "pgi" ) then +# module load pgi +#endif +#module load netcdf +#limit coredumpsize unlimited +``` + +5. 配置mkbatch文件 + +> 和env_mach_specific文件一样,根据config_machines.xml里设置了MACH="qqf",所以后缀也是qqf,即mkbatch.qqf + +```sh +#! /bin/csh -f +set mach = qqf +################################################################################# +if ($PHASE == set_batch) then +################################################################################# +source ./Tools/ccsm_getenv || exit -1 +`set ntasks = `${UTILROOT}/Tools/taskmaker.pl -sumonly` ` +`set maxthrds = `${UTILROOT}/Tools/taskmaker.pl -maxthrds` ` +nodes = $ntasks / ${MAX_TASKS_PER_NODE} +if ( $ntasks % ${MAX_TASKS_PER_NODE} > 0) then +  @ nodes = $nodes + 1 +  @ ntasks = $nodes * ${MAX_TASKS_PER_NODE} +endif +@ taskpernode = ${MAX_TASKS_PER_NODE} / ${maxthrds} +set qname = batch +set tlimit = "00:59:00" +#--- Job name is first fifteen characters of case name --- +`set jobname = `echo ${CASE} | cut -c1-15` ` +cat >! $CASEROOT/${CASE}.${mach}.run << EOF1 +#PBS -l nodes=${nodes}:ppn=${taskpernode} +#!/bin/csh -f +#=============================================================================== +# GENERIC_USER +# This is where the batch submission is set. The above code computes +# the total number of tasks, nodes, and other things that can be useful +# here. Use PBS, BSUB, or whatever the local environment supports. +#=============================================================================== +##PBS -N ${jobname} +##PBS -q ${qname} +##PBS -l nodes=${nodes}:ppn=${taskpernode} +##PBS -l walltime=${tlimit} +##PBS -r n +##PBS -j oe +##PBS -S /bin/csh -V +##BSUB -l nodes=${nodes}:ppn=${taskpernode}:walltime=${tlimit} +##BSUB -q ${qname} +###BSUB -k eo +###BSUB -J $CASE +###BSUB -W ${tlimit} +#limit coredumpsize 1000000 +#limit stacksize unlimited +#BSUB -J ${CASE} +#BSUB -q hpc_linux +#BSUB -n ${maxtasks} +#BSUB -o output.%J +#BSUB -e error.%J +EOF1 +################################################################################# +else if ($PHASE == set_exe) then +################################################################################# +`set maxthrds = `${UTILROOT}/Tools/taskmaker.pl -maxthrds` ` +`set maxtasks = `${UTILROOT}/Tools/taskmaker.pl -sumtasks` +cat >> ${CASEROOT}/${CASE}.${MACH}.run << EOF1 +# ------------------------------------------------------------------------- +# Run the model +# ------------------------------------------------------------------------- +sleep 25 +cd \$RUNDIR +`echo "\`date\` -- CSM EXECUTION BEGINS HERE" ` +#=============================================================================== +# GENERIC_USER +# Launch the job here. Some samples are commented out below +#=============================================================================== +setenv OMP_NUM_THREADS ${maxthrds} +if (\$USE_MPISERIAL == "FALSE") then +   # +   # Find the correct mpirun command and comment it out +   # Usually it will just be mpiexec or mpirun... +   # Remove the echo and exit below when you've done so. +   # +   #echo "GENERIC_USER: Put the correct mpirun command in your *.run script, then remove this echo/exit" +   #exit 2 +   mpiexec -n ${maxtasks} ./ccsm.exe >&! ccsm.log.\$LID +   #mpirun -np ${maxtasks} ./ccsm.exe >&! ccsm.log.\$LID +   #./ccsm.exe +else +   ./ccsm.exe >&! ccsm.log.\$LID +endif +wait +`echo "\`date\` -- CSM EXECUTION HAS FINISHED" ` +EOF1 +################################################################################# +else if ($PHASE == set_larch) then +################################################################################# +#This is a place holder for a long-term archiving script +################################################################################# +else +################################################################################# +   echo "mkscripts.$mach" +   echo " PHASE setting of $PHASE is not an accepted value" +   echo " accepted values are set_batch, set_exe and set_larch" +   exit 1 +################################################################################# +endif +################################################################################# +``` + +6. 新建CASE + +执行下面这条命令: + +`./create_newcase -case test -res f19_g16 -compset X -mach qqf` + +`-case`:新建的CASE的名字 + +`-res`:分辨率 + +`-compset`:需要哪些分量模式组合,如何组合等设置,具体参考手册 + +`-mach`:机器名,和前面的配置一致 + +进入名为test的case文件夹,修改env_mach_specific,env_mach_pes.xml等文件,需要注意配置用多少个CPU。 +依次执行cesm_setup,check_case,check_input_data这三个脚本。 +执行后缀为build的脚本进行编译,然后执行后缀为submit的脚本进行提交:`${CASE}.build,${CASE}.submit` + +7. CAM单独编译运行 + +> 前面总结的是CESM模式的编译运行,但是理论上CESM的每个分量模式都可以单独编译运行。由于笔者主要用过CAM,这里记录CAM的单独编译运行流程。 + +8. CAM3 + +> CAM3不同于目前的CAM5,CAM3是谱模式,同时单独提供一个文件下载。CAM3现在用的较少,而且不能使用太新的并行库,但是CAM3编译较为简单,这里一并记录。 + +9. 环境变量设置 + +先配置好环境变量: + +```sh +#For CAM3 +export CAM_ROOT=/home/qianqf/cam3/cam1 +export INC_NETCDF=/share/apps/local/include +export LIB_NETCDF=/share/apps/local/lib +export INC_MPI=/share/apps/openmpi-1.4.5/include +export LIB_MPI=/share/apps/openmpi-1.4.5/lib +export USER_FC=ifort +export USER_CC=icc +export CSMDATA=/home/qianqf/cam3` +``` + +10. 配置 + +把下面的这些内容写入一个configure.sh文件执行configure配置CAM3: + +```sh +#!/bin/sh +$CAM_ROOT/models/atm/cam/bld/configure -cam_bld /home/qianqf/CAM3/bld -cam_exedir /home/qianqf/CAM3 -spmd -test -debug +cd ./bld +gmake +cd .. +$CAM_ROOT/models/atm/cam/bld/build-namelist -config /home/qianqf/CAM3/bld/config_cache.xml -test +``` + +11. 配置namelist + +```text +&camexp + absems_data = '/home/qianqf/cam3/atm/cam/rad/abs_ems_factors_fastvx.c030508.nc' + aeroptics = '/home/qianqf/cam3/atm/cam/rad/AerosolOptics_c040105.nc' + bnd_topo = '/home/qianqf/cam3/atm/cam/topo/topo-from-cami_0000-09-01_64x128_L26_c030918.nc' + bndtvaer = '/home/qianqf/cam3/atm/cam/rad/AerosolMass_V_64x128_clim_c031022.nc' + bndtvo = '/home/qianqf/cam3/atm/cam/ozone/pcmdio3.r8.64x1_L60_clim_c970515.nc' + bndtvs = '/home/qianqf/sst_64X128x_201202modify.nc' + caseid = 'camrun2013avg' + iyear_ad = 1950 + ncdata = '/home/qianqf/cam3/atm/cam/inic/gaus/cami_0000-09-01_64x128_L26_c030918.nc' + start_ymd = 20000101 + nelapse = -3650 + nsrest = 0 + scon = 1.367E6 + co2vmr = 3.550e-4 +/ +&clmexp + finidat = '/home/qianqf/cam3/lnd/clm2/inidata_2.1/cam/clmi_0000-09-01_64x128_T42_USGS_c030609.nc' + fpftcon = '/home/qianqf/cam3/lnd/clm2/pftdata/pft-physiology' + fsurdat = '/home/qianqf/cam3/lnd/clm2/srfdata/cam/clms_64x128_USGS_c030605.nc' +/ +``` + +12. 运行 + +`./cam < namelist` + +13. CAM5 +> CAM5使用的一般流程如下:运行config.sh-->进入bld文件夹下,运行gmake -j2 或者 gmake-->运行namelist.sh-->修改各项参数-->运行CAM5。CAM5的环境变量可以与CESM设置在一起,因为CAM5和CAM3不同,不再单独提供一个包给用户使用。 + +14. config.sh配置 + +```sh +#!/bin/sh +#$camcfg/configure --help +#$camcfg/configure -dyn fv -hgrid 10x15 -nosmp -nospmd -test -ice sice -ocn socn -lnd slnd -rof srof -cam_bld /home/qianqf/camtest/fuck -cc icc -debug -fc ifort -fc_type intel -target_os linux +#$camcfg/configure -dyn fv -hgrid 4x5 -nosmp -spmd -ntasks 16 -test -ice cice -ocn docn -lnd clm -rof rtm -cam_bld /home3_hn/qianqf/CAM/bld -cc mpicc -debug -fc mpif90 -fc_type intel -target_os linux +$camcfg/configure -dyn fv -hgrid 0.9x1.25 -carma none -nosmp -spmd -ntasks 160 -test -cam_bld /home/qianqf/CAM5/try/bld -cc mpicc -debug -fc mpif90 -fc_type intel -target_os linux` +``` + +15. namelist.sh设置namelist + +```sh +#!/bin/sh +$camcfg/build-namelist -test -config /home/wjh/CAM5/try/bld/config_cache.xml -ntasks 160 +``` + +16. 运行 + +`./cam < namelist` + +17. 修改海冰与海温强迫场和制作初始场 +海温和海冰的数据都放在不同的文件里,ice_in文件里面的stream_domfilename和stream_fldfilename两个设置分别指向强迫场的数据。文件docn.stream.txt中filepath和filename两个参数也需要修改成对应强迫场的文件位置。 +初始场的制作,需要先在atm_in中ncdata参数的下一行增加inithist='6-HOURLY',和inithist_all=True,然后运行一段时间即可。 + diff --git a/content/chaosuan/environment/softwareuse/earthSciences/cmaq.md b/content/chaosuan/environment/softwareuse/earthSciences/cmaq.md new file mode 100644 index 00000000..700f88c7 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/earthSciences/cmaq.md @@ -0,0 +1,233 @@ +--- +title: "CMAQ" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## CMAQ + +###### 多尺度空气质量模型系统社团(CMAQ)的目标是通过整合多个相关科学规律模拟空气质量问题发生的全过程。模拟范围包括对流层,微小颗粒,有毒物质,酸性沉积物和可观测的降解过程。为此,社团囊括了多个相关领域的科学专家。CMAQ从设计之初就被赋予具有多尺度能力,所以不必将城市模型与各种区域尺度的空气质量模型分离开来。 + +###### 研究目标的格子精度,CMAQ可模拟的空间尺度以及时间尺度都跨越了数个数量级。对模型选择不同的时间尺度,即可以用于评价长时间(每年至数年)的污染大气学,也可以用于模拟短时间内(数周至数个月)的污染源扩散情况,选择不同的空间尺度,可被用于城市或特定区域的模拟。CMAQ还具有在不同尺度下同时处理多种污染的能力。 + +###### CMAQ在不同的尺度下会调用的适用的公式组和自然环境。其带有的普适化坐标系统会决定关键区域的网格与坐标之间的转化,该系统适用于各种垂直坐标和地图投影。 +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + ./run_cctm.csh + ``` + +*** + +#### 二、编译 + +1. 环境加载,intel,netcdf,文件夹等 + + ```bash + module load intel/2022 intelmpi/2022 + export CC=icc + export CXX=icpc + export FC=ifort + export F90=ifort + export F77=ifort + export DIR2=/home/pc/LIBRARIESICC + export INCLUDE=${DIR2}/netcdf/include:${INCLUDE} + export PATH=$DIR2/netcdf/bin:$PATH + export LD_LIBRARY_PATH=${DIR2}/netcdf/lib:${LD_LIBRARY_PATH} + export NETCDF=$DIR2/netcdf + export JASPERLIB=$DIR2/netcdf/lib + export JASPERINC=$DIR2/netcdf/include + export CMAQ_HOME=/home/pc/Build_CMAQ/CMAQ-5.2.1 + export CMAQ_LIB=$CMAQ_HOME/lib + export CMAQ_DATA=$CMAQ_HOME/data + ``` + +2. 获取 CMAQ5.2.1 安装包 + + ```bash + unzip CMAQ-5.2.1.zip + cd CMAQ-5.2.1 + + # 设置 bldit_project.csh 脚本 + # 设置对应的cmaq路径 + vim bldit_project.csh + + # 变更CMAQ_HOME的值,明确工作目录: + set CMAQ_HOME = /home/pc/Build_CMAQ/CMAQ-5.2.1 + + # 初始化 运行该脚本 + ./bldit_project.csh + ``` + +3. 编辑配置文件 + ```bash + vim config_cmaq.csh + + # 修改对应ioapi路径 + # 改完: + + ~~#> Intel fortran compiler...................................................... + case intel: + + #> I/O API, netCDF, and MPI library locations + setenv IOAPI_MOD_DIR /home/pc/LIBRARIESICC/ioapi-3.2/Linux2_x86_64ifort #> I/O API precompiled modules + setenv IOAPI_INCL_DIR /home/pc/LIBRARIESICC/ioapi-3.2/ioapi #> I/O API include header files + setenv IOAPI_LIB_DIR /home/pc/LIBRARIESICC/ioapi-3.2/Linux2_x86_64ifort #> I/O API libraries + setenv NETCDF_LIB_DIR /home/pc/LIBRARIESICC/netcdf/lib #> netCDF directory path + setenv NETCDF_INCL_DIR /home/pc/LIBRARIESICC/netcdf/include #> netCDF directory path + setenv MPI_LIB_DIR /home/pc/LIBRARIESICC/mpich #> MPI directory path + + #> Compiler Aliases and Flags + setenv myFC mpiifort + setenv myCC icc + setenv myFSTD "-O3 -fno-alias -mp1 -fp-model source" + setenv myDBG "-O0 -g -check bounds -check uninit -fpe0 -fno-alias -ftrapuv -traceback" + setenv myLINK_FLAG #"-openmp" + setenv myFFLAGS "-fixed -132" + setenv myFRFLAGS "-free" + setenv myCFLAGS "-O2" + setenv extra_lib "-lcurl" + #setenv extra_lib "" + setenv mpi_lib "-lmpich" #> No Library specification needed for mpiifort + #> -lmpich for mvapich + #> -lmpi for openmpi + + breaksw + + 为“netcdf_lib”变量添加openmp属性,如:~~ + + ~~setenv netcdf_lib "-lnetcdf -lnetcdff **-lgomp**" #> -lnetcdff -lnetcdf for netCDF v4.2.0 and later~~ + + ########################################################### + csh #切换 csh 终端 直接输入csh + + source config_cmaq.csh intel #选择 intel 编译器 + ``` +4. ICON 编译 + + ```bash + cd PREP/icon/scripts + vim bldit_icon.csh + + # 修改CMAQ-5.2/PREP/icon/scripts目录下脚本bldit_icon.csh中的参数: + + # 修改ioapi相关库文件路径 + + # 设置完执行以下命令编译: + ./bldit_icon.csh intel + + # 执行完后生成ICON_v52_profile.exe即为编译成功。运行之后会报错 同时生成BLD_ICON_v52_profile_intel文件夹,进入该文件夹 + + cd BLD_ICON_v52_profile_intel + + make clean #将刚才安装的清除掉 + + # 修改makefile: + LINKER = $(FC) + LINK_FLAGS = -qopenmp + + # 保存之后 在该文件夹下 + make + + # 执行完后生成ICON_v52_profile.exe即为编译成功 + ``` + +5. BCON编译 + + ```bash + cd PREP/bcon/scripts + vim bldit_bcon.csh + + # 修改CMAQ-5.2/PREP/bcon/scripts目录下脚本bldit_bcon.csh中的参数: + + # 修改ioapi相关库文件路径 + + # 设置完执行以下命令编译: + + ./bldit_bcon.csh intel + + # 执行完后生成BCON_v52_profile.exe即为编译成功。 + + # 运行之后会报错 同时生成BLD_ICON_v52_profile_intel文件夹 + + # 进入该文件夹 + + cd BLD_BCON_v52_profile_intel + make clean #将刚才安装的清除掉 + # 修改makefile: + + LINKER = $(FC) + LINK_FLAGS = -qopenmp + + # 保存之后 在该文件夹下 + + make + + # 即可 + # 执行完后生成BCON_v52_profile.exe即为编译成功 + ``` + +6. MCIP 编译 + + ```bash + # 修改CMAQ-5.2/PREP/mcip/src目录下脚本Makefile中的参数 + + # 设置完执行以下命令编译: + + source ../../../config_cmaq.csh intel + + make + + # 执行完后生成mcip.exe即为编译成功。 + ``` + +7. cctm编译 + + ```bash + # 修改CMAQ-5.2/CCTM/scripts目录下脚本bldit_cctm.csh中的参数 + # 设置完执行以下命令编译: + + ./bldit_cctm.csh intel + + # 执行完后生成CCTM*.exe即为编译成功。 + + $ ls CCTM*.exe + CCTM_v521.exe + ``` + +8. combine 编译 + + ```bash + cd ~/5.2.1/POST/combine/scripts + + ./bldit_combine.csh intel + + # 执行成功后会在 BLD_combine_v521_intel 目录下生成combine_v521.exe 应用程序 + ``` + +9. CMAQ5.2.1 安装完毕 diff --git a/content/chaosuan/environment/softwareuse/earthSciences/conquest.md b/content/chaosuan/environment/softwareuse/earthSciences/conquest.md new file mode 100644 index 00000000..e1f644c2 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/earthSciences/conquest.md @@ -0,0 +1,160 @@ +--- +title: "CONQUEST" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## conquest + +###### CONQUEST 是一款基于本地轨道密度泛函理论的、能以出色的缩放比例进行大规模并行计算的第一性原理计算软件,它使用局部轨道来表示 Kohn-Sham 本征态或者密度矩阵。 CONQUEST 可以应用于原子、分子、液体和固体,且对于大型系统特别有效。CONQUEST 可以使用哈密尔顿的精确对角化或通过线性缩放的方法来找到基态。 CONQUEST 可以执行结构弛豫(包括单位晶胞优化)和分子动力学(在具有各种恒温器的 NVE,NVT 和 NPT 集成中)。 + +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=conquest # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + + ``` + +*** + +#### 二、编译 + + +1. 环境加载 + + ```bash + module load gcc/12.1.0 + module load intel/2022 + module load intelmpi/2022 + module load openmpi/4.1.3 + ``` + +2. blas安装 + + ```bash + #下载链接:http://www.netlib.org/blas/ + tar -xf blas-3.8.0.tgz + make + cp blas_LINUX.a ../lib/libblas.a + ``` + +3. lapack安装 + + ```bash + #下载链接:http://www.netlib.org/lapack/ + tar -xf lapack-3.8.0.tar.gz + cp INSTALL/make.inc.gfortran ./make.inc + make lapacklib + cp liblapack ../lib + ``` + +4. scalapack安装 + + ```bash + #http://www.netlib.org/scalapack/ + tar -zxvf scalapack-2.1.0.tar.gz + cp SLmake.inc.example SLmake.inc + #修改 SLmake.inc + BLASLIB = -lblas -L$BLASPATH/lib + LAPACKLIB = -llapack -L$LAPACKPATH/lib + ``` + + ```bash + make + cp libscalapack.a ../lib/ + ``` + +5. fftw安装 + + ```bash + tar -zxvf fftw-3.3.8.tar.gz + mkdir fftw + cd fftw-3.3.8 + ./configure --host=alpha AR=ar RANLIB=ranlib --prefix=~/fftw + make + make install + ``` + +6. conquest安装 + + ```bash + #https://github.com/OrderN/CONQUEST-release + git clone https://github.com/OrderN/CONQUEST-release + cd CONQUEST-release/src + vim system.make #路径根据实际安装情况修改 + ``` + + ```bash + # + + # Set compilers + FC=mpif90 + F77=mpif77 + + # Linking flags + #ROOT_PATH=/sh2/software/app/conquest/2022.6.29 + LINKFLAGS= -L/sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/lib/intel64 /sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/lib/intel64/libmkl_blacs_openmpi_lp64.a /sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/lib/intel64/libmkl_lapack95_lp64.a -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 -lpthread -lm + ARFLAGS= + + # Compilation flags + #COMPFLAGS= -O3 $(XC_COMPFLAGS) + COMPFLAGS= -I/sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/include/intel64/lp64 -I/sh2/software/compiler/intel/oneapi_2022.2/mkl/2022.1.0/include + COMPFLAGS_F77= $(COMPFLAGS) + + # Set BLAS and LAPACK libraries + #BLAS= -llapack -L$(ROOT_PATH)/testlib -lblas -L$(ROOT_PATH)/testlib + + # Full library call; remove scalapack if using dummy diag module + LIBS= $(FFT_LIB) $(XC_LIB) $(BLAS) + + # LibXC compatibility (LibXC below) or Conquest XC library + + # Conquest XC library + XC_LIBRARY = CQ + XC_LIB = + XC_COMPFLAGS = + + # LibXC compatibility + # Choose old LibXC (v2.x) or modern versions + #XC_LIBRARY = LibXC_v2 + #XC_LIBRARY = LibXC + #XC_LIB = -lxcf90 -lxc + #XC_COMPFLAGS = -I/usr/local/include + + # Set FFT library + FFT_LIB= -L/sh2/software/app/conquest/2022.6.29/fftw/lib -lfftw3 + # #FFT_LIB=-lfftw3 + FFT_OBJ=fft_fftw3.o + + # Matrix multiplication kernel type + MULT_KERN = default + # Use dummy DiagModule or not + DIAG_DUMMY = + ``` + + ```bash + make + #编译成功后会在bin目录中生成conquest二进制文件 + ``` + diff --git a/content/chaosuan/environment/softwareuse/earthSciences/esciences.md b/content/chaosuan/environment/softwareuse/earthSciences/esciences.md new file mode 100644 index 00000000..e69de29b diff --git a/content/chaosuan/environment/softwareuse/earthSciences/fvcom.md b/content/chaosuan/environment/softwareuse/earthSciences/fvcom.md new file mode 100644 index 00000000..f3924d7a --- /dev/null +++ b/content/chaosuan/environment/softwareuse/earthSciences/fvcom.md @@ -0,0 +1,96 @@ +--- +title: "FVCOM" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +##FVCOM + +###### FVCOM用于多尺度,多物理的海洋动力学模型模拟计算,对研究水体采用非结构网格划分。由非结构网格划分法带来了能自由的在关注点上加密网格、提高精度,同时不影响非关注区域计算量的优点。 + +###### 软件适用于研究多尺度水体问题,从全球洋流,区域海洋至江河入海口都能满足研究者的需要。FVCOM包含的物理知识可以充分满足在海水,海冰,海浪,洋流,渔业等方向上的研究。目前FVCOM已经成功运用于09年法航搜索,2014年亚航搜救,日本311海啸还原模拟,30年来北极海冰面积变化,全球海水实时动态,珠江口附近海域模拟等项目。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + fvcom --casename=tst + ``` + +*** + +#### 二、编译 + +1. 环境加载 + + ```bash + module load intel/2022 intelmpi/2022 + ``` + +2. 解压后进入FVCOM目录下的METIS_source,Configure文件夹编译其中所有文件。 + + ```bash + $cd FVCOM根目录/METIS_source + + $make + + $cd FVCOM根目录/Configure + + $./configure.sh parallel + + # 新生成的make.inc文件位于FVCOM根目录下FVCOM_source文件内。 + # 第19行中 CFLAGS=-03 改写为:CFLAGS="-03 -DNAGf90Fortran" + ``` + +3. 解压编译同目录中netcdf.tgz + + ```bash + $tar xf netcdf.tgz + + # 修改netcdf中/cxx/ncvalues.cpp的头文件 + # 将#include 改为#include + + $make + + $cp ../../METIS_source/libmetis.a install/lib + + # 清理上一次fvcom的编译痕迹 + $FVCOM/3.2.1/FVCOM_source/make clean + ``` +4. 再次编辑FVCOM3.2.1/FVCOM_source/make.inc + + ```bash + # 注意make.inc下面的功能开关,不同开关决定了编译出来后fvcom的功能,请自行选择。 + + # 编译FVCOM_source + $FVCOM/3.2.1/FVCOM_source/make + + # 注意1. FVCOM中make.inc文件决定了编译后的FVCOM能调用什么功能包。当使用者想改变当前FVCOM的功能时,必须重新编译FVCOM,重新执行上述的6-8步。具体开关功能请看FVCOM根目录/doc中的说明文档。 + + # 注意2. FVCOM中使用波浪模块时,将swanmain.F文件中所有USE VARS_WAVE后的 "ONLY: ******" 删掉。 + ``` +5. 完成。 diff --git a/content/chaosuan/environment/softwareuse/earthSciences/openfoam.md b/content/chaosuan/environment/softwareuse/earthSciences/openfoam.md new file mode 100644 index 00000000..b14bc7d3 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/earthSciences/openfoam.md @@ -0,0 +1,71 @@ +--- +title: "OPENFOAM" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## OPENFOAM + +**是对连续介质力学问题进行数值计算的C++自由软件工具包,其代码遵守GNU通用公共许可证。它可进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域。该软件由OpenFOAM基金会维护。** + +### 一、提交脚本 + +```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=of # 作业名称 + #SBATCH --output=of.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=of.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + moudle load openfoam # 软件加载(参考module使用方法,选择具体版本) + + ############################################## + # Run job # + ############################################## + + # Mesh the geometry + blockMesh + # Decompose the mesh for parallel run + decomposePar + # Run the solver + mpiexec simpleFoam -parallel + # Reconstruct the parallel results + reconstructPar +``` + +### 二、 编译 + +```bash +# openfoam 源码安装 +环境依赖 gcc+intel+intelmpi + gcc+openmpi + +1、改文件名格式,将解压包改为以下格式 + +OpenFOAM-6 ThirdParty-6 + +2、cd Openfoam + +(可以将70行左右的GCC改为Icc 下面一个OPENMPI 改为intelmpi 进行intel 编译 intel编译时指定 $MPI_ROOT值为mpi的位置 /sh3/software/compiler/intel/2022/mpi/2021.6.0/bin/) + +3、source etc/bashrc + +4、先执行 ThirdParty里面的 ALLwmake + +5、后执行 Openfoam里面的 ALLwmake +。 +注意 编译失败后执行 allclean ,ALLWmake 可以加 -J 参数 +``` + diff --git a/content/chaosuan/environment/softwareuse/earthSciences/roms.md b/content/chaosuan/environment/softwareuse/earthSciences/roms.md new file mode 100644 index 00000000..1d626da5 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/earthSciences/roms.md @@ -0,0 +1,123 @@ +--- +title: "ROMs" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## ROMs + +###### ROMS是海洋研究机构常用的区域和大洋环流模式,已经在CO-OPS开始得到大量使用,并且将其列为业务化海洋模式之一。ROMS模式采用F90/F95编写,代码结构依据网格特点编写,支持共享存储和消息传递两种多处理器体系架构,其对集群性能要求较高,具有计算密集、IO读写量较大、网络延迟带宽要求高的特点。模式依据问题规模可达到较好扩展性,规模较小时可加速到将近100core,较大时可达到400-1000core。同时,该应用也可跟气象海洋上其他模式组成耦合模式,或者作为其他气象海洋应用的驱动程序,在国内海洋机构中的应用也比较多。 + +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=vasp # 作业名称 + #SBATCH --output=vasp.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=vasp.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + export OMP_NUM_THREADS=1 + + mpirun ./oceanM ocean_upwelling.in + ``` + +*** + +#### 二、编译 + +```bash +tar -xf roms.tar.gz -C /test/roms/ +cp ./roms/ROMS/Bin/build_roms.sh roms_intel/ +cp ./roms/ROMS/Include/upwelling.h roms_intel/ +cp ./roms/ROMS/External/roms_upwelling.in roms_intel/ +cp ./roms/ROMS/External/varinfo.dat roms_intel/ # 高版本可能是.yaml文件 +``` + +```bash +vim build_roms.sh +# export which_MPI=openmpi # 注释第四十七行 +export MY_ROOT_DIR=/test/roms # 111行更改 +export MY_ROMS_SRC=${MY_ROOT_DIR}/roms #124行更改 +# export which_MPI=openmpi # 168行 +export USE_NETCDF4=on # compile with NetCDF-4 library #178-180行取消注释 +export USE_HDF5=on # compile with HDF5 library +export USE_PARALLEL_IO=on # Parallel I/O with NetCDF-4/HDF5 + +# 2022版本增加几条更改 +export USE_HDF5=on # compile with HDF5 library # 取消206行注释 +#export USE_MY_LIBS=no # use system default library paths # 注释掉系统默认路径,解除自己路径注释 +export USE_MY_LIBS=yes # use my customized library paths +``` + +```bash +vim roms_upwelling.in +VARNAME = /test/roms/roms_intel/varinfo.yaml # 更改76行,根据实际版本更改可能是.yaml或者.dat文件 +NtileI == 1 ! I-direction partition # 109-120行根据实际所需修改 +NtileJ == 1 ! J-direction partition +``` + +```bash +cd /test/roms/roms/Compilers +cp my_build_paths.sh my_build_paths_beifen.sh # 更改配置文件做好备份 +vim my_build_paths.sh +export MPI_ROOT="# which mpi" # 51行更改mpi实际路径 +# 文档末尾添加 +export HDF5=/test/roms/roms_lib +export HDF5_INCDIR=${HDF5}/include +export HDF5_LIBDIR=${HDF5}/lib +export PATH=${HDF5}/bin:$PATH +export LD_LIBRARY_PATH=${HDF5}/lib:$LD_LIBRARY_PATH +export NETCDF=/test/roms/roms_lib +export NC_CONFIG=${NETCDF}/bin/nc-config +export NETCDF_LIBDIR=${NETCDF}/lib +export NETCDF_INCDIR=${NETCDF}/include +export PATH=${NETCDF}/bin:$PATH +export LD_LIBRARY_PATH=${NETCDF}/lib:$LD_LIBRARY_PATH +``` + +```bash +vim Linux-ifort.mk # 同目录 +ifdef USE_NETCDF4 # 198行 + NF_CONFIG ?= /test/roms/roms_lib/bin/nf-config + NETCDF_INCDIR ?= /test/roms/roms_lib/include + NETCDF_LIBS ?= /test/roms/roms_lib/lib + LIBS += -lnetcdf -lnetcdff -lhdf5l -lz + INCDIR += $(NETCDF_INCDIR) $(INCDIR) +ifdef USE_HDF5 + HDF5_INCDIR ?= /test/roms/roms_lib/include # 211行 + HDF5_LIBDIR ?= /test/roms/roms_lib/lib + HDF5_LIBS ?= -lhdf5_fortran -lhdf5hl_fortran -lhdf5 -lz + LIBS += -L$(HDF5_LIBDIR) $(HDF5_LIBS) + INCDIR += $(HDF5_INCDIR) +ifdef USE_MPI #228行 + CPPFLAGS += -DMPI + ifdef USE_MPIF90 + ifeq ($(which_MPI), intel) + FC := mpiifort + else + FC := mpiifort #更改为mpiifort + endif + else + LIBS += -lfmpi -lmpi + endif +endif +# 编辑成功后执行安装脚本 +``` + diff --git a/content/chaosuan/environment/softwareuse/earthSciences/wrf.md b/content/chaosuan/environment/softwareuse/earthSciences/wrf.md new file mode 100644 index 00000000..47b3ebda --- /dev/null +++ b/content/chaosuan/environment/softwareuse/earthSciences/wrf.md @@ -0,0 +1,116 @@ +--- +title: "WRF" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## WRF 是一种统一的中尺度天气预报模式 + +###### WRF(Weather Research and Forecasting Model)模式是有美国环境预报中心(NCEP), 美国国家大气研究中心(NCAR)以及多个大学、研究所和业务部门联合研发。WRF模式适用范围很广,从中小尺度到全球尺度的数值预报和模拟都有广泛的应用。 + +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=wrf # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + module load wrf-3.7 # 软件加载 + + ############################################## + # Run job # + ############################################## + + export WRF_HOME=/es01/software/apps/WRFV3.7.0/WRFV3 + export PBV=CLOSE + export OMP_PROC_BIND=TRUE + export OMP_NUM_THREADS=1 + export OMP_STACKSIZE="16M" + export WRF_NUM_TILES=112 + + mpirun -np 56 --bind-to core --map-by ppr:56:node:pe=2 numactl -l $WRF_HOME/main/wrf.exe + ``` + +*** + +#### 二、编译 + +1. 环境加载 + + ```bash + module load intel/2022 intelmpi/2022 + ``` + +2. WRF3.6 + + ```bash + 解压后进入WRF所在目录 + + $./configure选择第20项 + + 20. Linux x86_64 i486 i586 i686,Xeon (SNB with AVX mods) ifort compiler with icc (dmpar) + + 第二项视乎研究对象选择,但普遍选择默认即可。 + + + + 修改由configure产生的configure.wrf + + (1) 所有-O3改为-O2 + + (2) 删掉 -DUSE_NETCDF4_FEATURES + + (3) 在CFLAGS中加入-DRSL0_ONLY (*非必须但推荐,避免大规模计算时rsl文件刷屏的问题) + + + + 修改dyn_em/module_advect_em.F第7578行 + + !DEC$ vector always 改为 !DEC$ SIMD + + + + 修改完毕后编译WRF + + $./compile em_real >& compile.log & (其他模块可以通过$./compile查看,更详细的说明见wrf使用文档) + + + + 编译WPS + + 在编译WRF的基础上进一步添加环境变量 + + $module load jasper/1.900.1/00-CF-14-libpng + + 进入WPS目录 + + $./configure选择第19项 + + Linux x86_64, Intel compiler (dmpar) + + 修改configure.wps,将WRF_DIR改为你的WRF安装目录 + + $./compile >& compile.log & + + 成功后会在WPS目录下生成 + + geogrid.exe + + metgrid.exe + + ungrib.exe + ``` diff --git a/content/chaosuan/environment/softwareuse/mathematics/_index.md b/content/chaosuan/environment/softwareuse/mathematics/_index.md new file mode 100644 index 00000000..42fbc4f9 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mathematics/_index.md @@ -0,0 +1,7 @@ +--- +title: "数理统计" +_build: + render: false +weight: 60 +collapsible: true +--- diff --git a/content/chaosuan/environment/softwareuse/mathematics/mathematics.md b/content/chaosuan/environment/softwareuse/mathematics/mathematics.md new file mode 100644 index 00000000..e69de29b diff --git a/content/chaosuan/environment/softwareuse/mathematics/matlab.md b/content/chaosuan/environment/softwareuse/mathematics/matlab.md new file mode 100644 index 00000000..2b70f001 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mathematics/matlab.md @@ -0,0 +1,48 @@ +--- +title: "MATLAB" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## Matlab 是美国MathWorks公司出品的商业数学软件 + +###### MATLAB 用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域 + +###### 请自行购买MATLAB license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有MATLAB license的证明。 +*** +#### 一、脚本模板 +1. Slurm + + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=matlab # 作业名称 + #SBATCH --output=matlab.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=matlab.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + # 单个计算文件 + # matlab -nodisplay < run.m + + # 指定计算文件夹 + matlab -nodesktop -nosplash -nodisplay -r abc + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/_index.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/_index.md new file mode 100644 index 00000000..ddba7711 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/_index.md @@ -0,0 +1,7 @@ +--- +title: "机械工程" +_build: + render: false +weight: 7 +collapsible: true +--- diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/abaqus.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/abaqus.md new file mode 100644 index 00000000..b5f1d536 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/abaqus.md @@ -0,0 +1,68 @@ +--- +title: "ABAQUS" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## ABAQUS 是一种有限元素法软件 + +###### 用于机械、土木、电子等行业的结构和场分析。 + +###### 请自行购买ABAQUS license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有ABAQUS license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=abaqus # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + ulimit -s unlimited + ulimit -l unlimited + nameflag=`scontrol show hostname $SLURM_JOB_NODELIST` + beginflag="mp_host_list=[" + endflag="]" + for line in $nameflag + do + tempflag="['$line',56]," + beginflag=$beginflag$tempflag + done + eflag=`echo $beginflag | sed 's/.\{0\}.$//'` + endflag=$eflag$endflag + echo $endflag > abaqus_v6.env + + # JOBNAME=`ls | grep inp | sed 's/.\{3\}.$//'` + JOBNAME=test_test + + # For program + #USERNAME=huang.for + + # change scratch to the actual directory + #abaqus job=${JOBNAME} user=${USERNAME} input=${JOBNAME}.inp globalmodel=zd.odb cpus=$SLURM_NPROCS scratch=./ interactive + + abaqus job=${JOBNAME} input=${JOBNAME}.inp analysis cpus=$SLURM_NPROCS scratch=$SLURM_SUBMIT_DIR interactive + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/ansysedt.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/ansysedt.md new file mode 100644 index 00000000..2d27d1f4 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/ansysedt.md @@ -0,0 +1,66 @@ +--- +title: "ANSYSEDT" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## Ansysedt + +###### ANSYS Electronics Desktop (EDT) 是用于电磁、电路和系统仿真的首要统一平台。 + +###### 请自行购买Ansysedt license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有Ansysedt license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=ansysedt # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + #unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + #export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + WORKDIR=`pwd` + + # Environment variable required to enable SLURM custom integration + export PBS_JOBID="${SLURM_JOBID}" + + # Create options file + OptFile="${WORKDIR}/Options.txt" + cat - < $OptFile + \$begin 'Config' + 'HFSS/SolveAdaptiveOnly'=0 + 'HFSS/HPCLicenseType'='pool' + 'HFSS 3D Layout Design/HPCLicenseType'='pool' + 'HFSS 3D Layout Design/MPIVendor'='Intel' + 'HFSS/MPIVendor'='Intel' + \$end 'Config' + EOF + + # skip Dependency check + export ANS_IGNOREOS=1 + export ANS_NODEPCHECK=1 + + # Run analysis + ansysedt -ng -monitor -distributed -machinelist num=$SLURM_NTASKS -batchoptions ${WORKDIR}/Options.txt -batchsolve ${WORKDIR}/OAM_110_X.aedt + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/cfx.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/cfx.md new file mode 100644 index 00000000..367163c3 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/cfx.md @@ -0,0 +1,51 @@ +--- +title: "CFX" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## CFX + +###### ANSYS CFX作为世界上唯一采用全隐式耦合算法的大型商业软件,算法上的先进性,丰富的物理模型和前后处理的完善性使其在结果精确性、计算稳定性、计算速度和灵活性上都有优异的表现。除了一般工业流动以外,CFX还可以模拟诸如燃烧,多相流,化学反应等复杂流场。集成到ANSYS Workbench环境中使用,增加了在工程仿真的应用面,效率达到新的水平。 + +###### 请自行购买CFX license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有CFX license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=cfx # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + #unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + #export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + #Generate line of names of computational nodes (or hosts). + MYHOSTLIST=$(srun hostname | sort | \ + uniq -c | \ + awk '{print $2 "*" $1}' | \ + paste -sd, -) + echo $MYHOSTLIST + #Run Ansys CFX. + cfx5solve -def inputfile.def -parallel -start-method "Intel MPI Distributed Parallel" -par-dist "$MYHOSTLIST" -batch + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/comsol.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/comsol.md new file mode 100644 index 00000000..69863826 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/comsol.md @@ -0,0 +1,45 @@ +--- +title: "COMSOL" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## Comsol + +###### COMSOL Multiphysics是一套跨平台的有限元素分析、求解器和多物理场模拟软件。 + +###### 请自行购买Comsol license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有Comsol license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=comsol # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + comsol batch -inputfile applications/COMSOL_Multiphysics/Equation_Based/black_scholes_put.mph -outputfile my_test.mph + + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/converge.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/converge.md new file mode 100644 index 00000000..f7ad6fe7 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/converge.md @@ -0,0 +1,48 @@ +--- +title: "CONVERGE" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## Converge + +###### CONVERGE是由美国Convergent Science公司开发的新一代热流体分析软件。到目前为止,网格建模一直是影响CFD工作效率的主要障碍。而CONVERGE因为搭载了完全自动网格生成功能,工作效率与传统CFD软件相比有了飞跃性的提高。 + +###### 请自行购买Converge license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有Converge license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=converge # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + cat /dev/null > machinefile + scontrol show hostname $SLURM_JOB_NODELIST > machinefile + + mpirun -machinefile './machinefile' -np $SLURM_NPROCS converge-2.4.21-intel --super + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/dyna.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/dyna.md new file mode 100644 index 00000000..02251975 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/dyna.md @@ -0,0 +1,59 @@ +--- +title: "LSDYNA" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## LSDYNA + +###### LS-DYNA是由前 Livermore Software Technology Corporation (LSTC) 开发的高级通用多物理场仿真软件包,该公司于 2019年被Ansys收购。 该软件包继续包含越来越多的计算可能性许多复杂的现实世界问题,其起源和核心竞争力在于使用显式时间积分的高度非线性瞬态动态有限元分析(FEA)。LS-DYNA用于汽车、航空航天、建筑和土木工程、军事、制造和生物工程行业。 + +###### 请自行购买LSDYNA license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有LSDYNA license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=dyna # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + nameflag=`scontrol show hostname $SLURM_JOB_NODELIST` + for line in $nameflag + do + tempflag="$line:56:" + beginflag=$beginflag$tempflag + done + eflag=`echo $beginflag | sed 's/.\{0\}.$//'` + endflag=$eflag$endflag + echo $endflag > test.log + + # JOBNAME=`ls | grep inp | sed 's/.\{3\}.$//'` + JOBNAME=000_Master.k + # change scratch to the actual directory + lsdyna -dis -machines $endflag i=$JOBNAME memory=800m memory2=200m + # mpirun -hosts `scontrol show hostname $SLURM_JOB_NODELIST |tr '\n' ',' | head -c-1` lsdyna_dp_mpp.e i=$JOBNAME memory=1200m memory2=400m + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/fluent.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/fluent.md new file mode 100644 index 00000000..c3fe9123 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/fluent.md @@ -0,0 +1,55 @@ +--- +title: "FLUENT" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## Fluent + +###### Fluent是目前可用的、功能最强大的计算流体动力学(CFD)软件工具,能够让您更深入更快速地优化自己的产品性能。Fluent内含经充分验证过的物理建模功能,能为广泛的CFD和多物理场应用提供快速、精确的结果。 + +###### 请自行购买Fluent license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有Fluent license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=fluent # 作业名称 + #SBATCH --output=hello_%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello_%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + if [ -z "$SLURM_NPROCS" ]; then + N=$(( $(echo $SLURM_TASKS_PER_NODE | sed -r 's/([0-9]+)\(x([0-9]+)\)/\1 * \2/') )) + else + N=$SLURM_NPROCS + fi + + echo -e "N: $N\n"; + + srun hostname -s |sort -V > $(pwd)/slurmhosts.$SLURM_JOB_ID.txt + + # run fluent in batch on the allocated node(s) + fluent 3ddp -g -slurm -t $SLURM_NTASKS -pib.ibv -cnf=slurmhosts.$SLURM_JOB_ID.txt -mpi=intel -ssh -i pipe.jou + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/material-studio.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/material-studio.md new file mode 100644 index 00000000..b1ab5ba6 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/material-studio.md @@ -0,0 +1,64 @@ +--- +title: "MS" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## MS 材料模拟和建模 + +###### 这个软件被许多大学、研究中心以及高科技公司使用,以研究各种各样的材料,比如高分子、碳纳米管、催化剂、金属、陶瓷等等 + +###### 请自行购买MS license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有MS license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=ms # 作业名称 + #SBATCH --output=ms.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=ms.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + RunCASTEP.sh -np 56 Edit_job_File_name + ``` + +*** + +#### 二、安装 + +1. 解压缩文件 Materials Studio60.tar 得到 Materials Studio60 文件目 +录,进入 Materials Studio60 文件目录开始安装。 + +```bash +tar -xvf MaterialsStudio60.tar +cd MaterialsStudio60 + +./install +# (均默认安装即可) + +# 注意1:若安装开始时,遇到“Bundled JRE is not binary compatible with host OS/Arch or it is corrupt. Testing bundled JRE failed.”的错误提示,请安装一下 glibc 的 32 位库文件。 + +# 注意2: 超算中心禁止用户使用客户端/服务器端模式使用 MaterialsStudio 软件,因此软件安装完成后,请将 gateway 进程停用: +Accelrys/MaterialsStudio6.0/etc/Gateway/gwstop + +# 导入软件许可: +Accelrys/LicensePack/linux/bin/lp_install soft/msi.lic +``` diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/mengineering.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/mengineering.md new file mode 100644 index 00000000..e69de29b diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/optistruct.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/optistruct.md new file mode 100644 index 00000000..8f8278f0 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/optistruct.md @@ -0,0 +1,47 @@ +--- +title: "OPTOSTRUCT" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## Optistruct + +###### Altair OptiStruct是业界公认的功能最强的结构分析及优化求解器,可用来分析静态和动态载荷条件下的线性和非线性结构问题。作为结构设计和优化的市场领导者,OptiStruct帮助设计者和工程师分析和优化结构的应力、耐久性和NVH(噪声、振动和舒适度)的特性并快速研发创新、轻量化的高效的结构设计。 + +###### 请自行购买Optistruct license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有Optistruct license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=optistruct # 作业名称 + #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + + #mpirun -np $SLURM_NPROCS optistruct_2017.0_linux64_impi 420-DG-ncode.dat -ddmmode + optistruct 420-DG-ncode.dat -mpi -ddm -core IN -np 7 -nt 8 + + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/simpack.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/simpack.md new file mode 100644 index 00000000..c4bde0d7 --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/simpack.md @@ -0,0 +1,53 @@ +--- +title: "SIMPACK" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## Simpack + +###### Simpack 是一种通用多几何体系统仿真 (MBS) 软件,允许分析师和工程师对任何机械或机电系统的非线性运动进行仿真。它允许工程师生成并解算虚拟 3D 模型,以便预测和可视化动态运动、耦合力和应力。 + +###### 请自行购买Simpack license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有Simpack license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=28 # 每个节点核心数量 + #SBATCH --ntasks=28 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=simpack # 作业名称 + #SBATCH --output=hello_%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello_%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + input=(`ls | grep -i spck`) + + echo "This is job #${SLURM_ARRAY_JOB_ID}, with parameter ${input[$SLURM_ARRAY_TASK_ID]}" + echo "There are ${SLURM_ARRAY_TASK_COUNT} task(s) in the array." + echo " Max index is ${SLURM_ARRAY_TASK_MAX}" + echo " Min index is ${SLURM_ARRAY_TASK_MIN}" + + simpack-slv -j 28 --integration ${input[$SLURM_ARRAY_TASK_ID]} + + sleep 5 + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/mechanicalengineering/starccm.md b/content/chaosuan/environment/softwareuse/mechanicalengineering/starccm.md new file mode 100644 index 00000000..8fe7a49e --- /dev/null +++ b/content/chaosuan/environment/softwareuse/mechanicalengineering/starccm.md @@ -0,0 +1,51 @@ +--- +title: "STARCCM" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 13 +--- + +## StarCCM+ + +###### Simcenter STAR-CCM +是由Siemens Digital Industries Software开发的基于计算流体动力学的商业仿真软件。Simcenter STAR-CCM +允许对一系列工程问题进行建模和分析,这些问题涉及流体流动,热传递,应力,颗粒流动,电磁学和相关现象。 + +###### 请自行购买StarCCM+ license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有StarCCM+ license的证明。 + +*** +#### 一、脚本模板 +1. Slurm + ```bash + #!/bin/bash + #SBATCH --nodes=1 # 节点数量 + #SBATCH --ntasks-per-node=56 # 每个节点核心数量 + #SBATCH --ntasks=56 # 总核心数 + #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 + #SBATCH --job-name=starccm # 作业名称 + #SBATCH --output=hello_%j.out # 正常日志输出 (%j 参数值为 jobId) + #SBATCH --error=hello_%j.err # 错误日志输出 (%j 参数值为 jobId) + + ############################################## + # Software Envrironment # + ############################################## + unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 + export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 + # module load intel/2022 intelmpi/2022 # intel 环境加载 + + ############################################## + # Run job # + ############################################## + ulimit -s unlimited + ulimit -l unlimited + + cat /dev/null > machinefile + scontrol show hostname $SLURM_JOB_NODELIST > machinefile + jobname=`ls | grep sim | sed 's/.\{3\}.$//'` # 自动识别目录下的单sim文件进行提交,如果有多个文件需指定,请修改下行jobname参数 + + starccm+ -power -mpi intel -machinefile './machinefile' -np $SLURM_NTASKS -rsh ssh -cpubind -batch run -batch-report $jobname + ``` + +*** + +#### 二、安装 diff --git a/content/chaosuan/environment/softwareuse/visualization/_index.md b/content/chaosuan/environment/softwareuse/visualization/_index.md new file mode 100644 index 00000000..edef242a --- /dev/null +++ b/content/chaosuan/environment/softwareuse/visualization/_index.md @@ -0,0 +1,7 @@ +--- +title: "可视化" +_build: + render: false +weight: 8 +collapsible: true +--- diff --git a/content/chaosuan/environment/softwareuse/visualization/visualization.md b/content/chaosuan/environment/softwareuse/visualization/visualization.md new file mode 100644 index 00000000..e69de29b diff --git a/content/chaosuan/jnsupercomputer/_index.md b/content/chaosuan/jnsupercomputer/_index.md new file mode 100644 index 00000000..6d06100e --- /dev/null +++ b/content/chaosuan/jnsupercomputer/_index.md @@ -0,0 +1,22 @@ +--- +title: "超算介绍" +linkTitle: "济南超算简介" +weight: 1 +collapsible: true +type: "product" + +section1: + title: 超算介绍 + +Section2: + title: 超算介绍 + children: + - title: 什么是超算 + url: "whatsupercomputer/1-2-hpc-introduction" + + - title: 济南超算简介 + url: "supercomputerintroduction/readme" + + - title: 集群列表 + url: "clusterlist/hpccluster/1-3-1-hpc-cluster-shanhe1" +--- diff --git a/content/chaosuan/jnsupercomputer/clusterlist/_index.md b/content/chaosuan/jnsupercomputer/clusterlist/_index.md new file mode 100644 index 00000000..28146ae3 --- /dev/null +++ b/content/chaosuan/jnsupercomputer/clusterlist/_index.md @@ -0,0 +1,9 @@ +--- +title: "集群列表" +linkTitle: "集群列表" +_build: + render: false +weight: 60 +collapsible: true +--- + diff --git a/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-1-hpc-cluster-shanhe1.md b/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-1-hpc-cluster-shanhe1.md new file mode 100644 index 00000000..454e0df1 --- /dev/null +++ b/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-1-hpc-cluster-shanhe1.md @@ -0,0 +1,31 @@ +--- +title: "山河一集群" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 3 +--- + + +###### (暂无介绍) + +#### 一、硬件环境 + +###### 1.节点配置 + +| 节点分类 | 主频/Ghz | 核心数 | 内存/GB | 计算网络 | 节点数 | 时钟周期计算(双精度) | 理论峰值FLOPs | +| ------------ | -------- | ------ | ------- | --------- | ------ | ---------------------- | ------------- | +| 登录节点 | 2.7 | 56 | 512 | 100G | 6 | 32 | 4.8 G | +| 计算节点 | 2.7 | 56 | 192 | 100G | 3548 | 32 | 16.3 P | +| 超大内存节点 | 2.7 | 56 | 1536 | 100G | 20 | 32 | 94.5 G | + +###### 2.存储配置 + +| 存储类型 | 盘阵格式 | 总容量 | 聚合读带宽 | 聚合写带宽 | +| -------- | -------- | ------ | ---------- | ---------- | +| Lustre | 全闪 | 3.7PB | 360GB | 216GB | + + + + diff --git a/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-2-hpc-cluster-shanhe2.md b/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-2-hpc-cluster-shanhe2.md new file mode 100644 index 00000000..8e701ed5 --- /dev/null +++ b/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-2-hpc-cluster-shanhe2.md @@ -0,0 +1,32 @@ + +--- +title: "山河二集群" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + + +###### (暂无介绍) + +#### 一、硬件环境 + +###### 1.节点配置 + +| 节点分类 | 主频/Ghz | 核心数 | 内存/GB | 计算网络 | 节点数 | 单时钟周期计算数(双精度) | 理论峰值/FLOPs | +| -------- | -------- | ------ | ------- | --------- | ------ | -------------------------- | -------------- | +| 登录节点 | 2.7 | 56 | 512 | 100G | 6 | 32 | 4.8 G | +| 计算节点 | 2.7 | 56 | 192 | 100G | 3308 | 32 | 15.2 P | + +###### 2.存储配置 + +| 存储类型 | 盘阵格式 | 总容量 | 聚合读带宽 | 聚合写带宽 | +| -------- | -------- | ------ | ---------- | ---------- | +| Lustre | 全闪 | 3.7PB | 360GB | 216GB | +| Pacific | 混合 | 2.3PB | 330GB | 200GB | + + + + diff --git a/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-3-hpc-cluster-shanhe3.md b/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-3-hpc-cluster-shanhe3.md new file mode 100644 index 00000000..af176e5c --- /dev/null +++ b/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-3-hpc-cluster-shanhe3.md @@ -0,0 +1,33 @@ + +--- +title: "山河三集群" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 5 +--- + + +###### (暂无介绍) + +#### 一、硬件环境 + +###### 1.节点配置 + +| 节点分类 | 主频/Ghz | 核心数 | 内存/GB | 计算网络 | 节点数 | 单时钟周期计算数(双精度) | 理论峰值/FLOPs | +| ------------ | -------- | ------ | ------- | --------- | ------ | -------------------------- | --------------- | +| 登录节点 | 2.7 | 56 | 512 | 100G / IB | 6 | 32 | 4.8 G(单节点) | +| 计算节点 | 2.7 | 56 | 192 | 100G / IB | 767 | 32 | 3.5 P | +| 大内存节点 | 2.7 | 56 | 384 | 100G | 900 | 32 | 4.1 P | +| 超大内存节点 | 2.7 | 56 | 1536 | 100G | 66 | 32 | 311 T | + +###### 2.存储配置 + +| 存储类型 | 盘阵格式 | 总容量 | 聚合读带宽 | 聚合写带宽 | +| -------- | -------- | ------ | ---------- | ---------- | +| Lustre | 全闪 | 3.7PB | 200GB | 120GB | + + + + diff --git a/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-4-hpc-cluster-shanhe-ai.md b/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-4-hpc-cluster-shanhe-ai.md new file mode 100644 index 00000000..8b552ee9 --- /dev/null +++ b/content/chaosuan/jnsupercomputer/clusterlist/hpccluster/1-3-4-hpc-cluster-shanhe-ai.md @@ -0,0 +1,33 @@ + +--- +title: "山河AI集群" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 6 +--- + + +###### (暂无介绍) + +#### 一、硬件环境 + +###### 1.节点配置 + +| 节点分类 | 主频/Ghz | 核心数 | 内存/GB | 计算网络 | 节点数 | 单时钟周期计算数(双精度) | AI理论峰值/FLOPs | +| -------- | -------- | ------ | ------- | -------- | ------ | -------------------------- | ---------------- | +| AI节点 | 2.6 | 64 | 512 | 200G | 271 | 32 | 5 P | + +###### 2.单机加速卡配置 + +| 加速卡 | 显存 | 显存带宽 | 功耗 | 单精度计算性能/FLOPs | 双精度计算性能/FLOPs | 单机配置/个数 | +| ------ | ---- | -------- | ---- | -------------------- | -------------------- | ------------- | +| A100 | 40GB | 1600G | 400W | 19.5 T | 9.7 T | 8 | + + + + + +*** + diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/57c6bde1-ffe4-4eb3-87fc-badcf4e2b8a2.pdf b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/57c6bde1-ffe4-4eb3-87fc-badcf4e2b8a2.pdf new file mode 100644 index 00000000..df18947a Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/57c6bde1-ffe4-4eb3-87fc-badcf4e2b8a2.pdf differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/apply.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/apply.png new file mode 100644 index 00000000..d946ee97 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/apply.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-2.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-2.png new file mode 100644 index 00000000..27aa1eef Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-2.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-3.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-3.png new file mode 100644 index 00000000..708c26d0 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-3.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-4.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-4.png new file mode 100644 index 00000000..1d0b0fc4 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/centos-vpn-4.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/conda-ac.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/conda-ac.png new file mode 100644 index 00000000..6b9c119e Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/conda-ac.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/hpcFrame.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/hpcFrame.png new file mode 100644 index 00000000..dc924b03 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/hpcFrame.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/intel-mpi.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/intel-mpi.png new file mode 100644 index 00000000..15b94b7e Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/intel-mpi.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login1-1.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login1-1.png new file mode 100644 index 00000000..b579a984 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login1-1.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login1-2.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login1-2.png new file mode 100644 index 00000000..bba7f857 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login1-2.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login2-1.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login2-1.png new file mode 100644 index 00000000..72a3ce87 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login2-1.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login2-2.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login2-2.png new file mode 100644 index 00000000..1279b06f Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login2-2.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login3.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login3.png new file mode 100644 index 00000000..ad3d2f94 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/login3.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/mflops.svg b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/mflops.svg new file mode 100644 index 00000000..cac5bd62 --- /dev/null +++ b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/mflops.svg @@ -0,0 +1,142 @@ + +{\displaystyle {\text{FLOPS}}={\text{racks}}\times {\frac {\text{nodes}}{\text{rack}}}\times {\frac {\text{sockets}}{\text{node}}}\times {\frac {\text{cores}}{\text{socket}}}\times {\frac {\text{cycles}}{\text{second}}}\times {\frac {\text{FLOPs}}{\text{cycle}}}} + + + \ No newline at end of file diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/moba1.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/moba1.png new file mode 100644 index 00000000..39e87b5e Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/moba1.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/moba2.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/moba2.png new file mode 100644 index 00000000..3df224ca Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/moba2.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-av.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-av.png new file mode 100644 index 00000000..90978043 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-av.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-list.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-list.png new file mode 100644 index 00000000..cac4e790 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-list.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-load.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-load.png new file mode 100644 index 00000000..f58c7952 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-load.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-unload.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-unload.png new file mode 100644 index 00000000..8b85c235 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/module-unload.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nflops.svg b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nflops.svg new file mode 100644 index 00000000..a56d18fe --- /dev/null +++ b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nflops.svg @@ -0,0 +1,78 @@ + +{\displaystyle {\text{FLOPS}}={\text{cores}}\times {\frac {\text{cycles}}{\text{second}}}\times {\frac {\text{FLOPs}}{\text{cycle}}}} + + + \ No newline at end of file diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nsccjn-apply.doc b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nsccjn-apply.doc new file mode 100644 index 00000000..adcaa1de Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nsccjn-apply.doc differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nsccjn-main.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nsccjn-main.png new file mode 100644 index 00000000..8bad4c48 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nsccjn-main.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/slurm.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/slurm.png new file mode 100644 index 00000000..e6d238d9 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/slurm.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/storage.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/storage.png new file mode 100644 index 00000000..e35fd284 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/storage.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/top500.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/top500.png new file mode 100644 index 00000000..b28e8f45 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/top500.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-1.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-1.png new file mode 100644 index 00000000..48a2bab2 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-1.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-2.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-2.png new file mode 100644 index 00000000..a23f6f76 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-2.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-3.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-3.png new file mode 100644 index 00000000..6ae61db1 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-3.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-4.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-4.png new file mode 100644 index 00000000..ed96caa0 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-4.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-5.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-5.png new file mode 100644 index 00000000..e9b830ac Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-5.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-6.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-6.png new file mode 100644 index 00000000..7850c3ad Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/ubuntu-vpn-6.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload.png new file mode 100644 index 00000000..87d4c0ed Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-1.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-1.png new file mode 100644 index 00000000..f88f3e96 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-1.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-2.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-2.png new file mode 100644 index 00000000..db59ee31 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-2.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-3.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-3.png new file mode 100644 index 00000000..cfbbc3f9 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/upload1-3.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn1.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn1.png new file mode 100644 index 00000000..730df9a9 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn1.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn2.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn2.png new file mode 100644 index 00000000..1824ce07 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn2.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn4.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn4.png new file mode 100644 index 00000000..86d695ff Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn4.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn5.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn5.png new file mode 100644 index 00000000..0499aff3 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn5.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn6.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn6.png new file mode 100644 index 00000000..4b7fd73f Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/vpn6.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/xshell-google-au.png b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/xshell-google-au.png new file mode 100644 index 00000000..95d1c5f7 Binary files /dev/null and b/content/chaosuan/jnsupercomputer/supercomputerintroduction/_image/xshell-google-au.png differ diff --git a/content/chaosuan/jnsupercomputer/supercomputerintroduction/readme.md b/content/chaosuan/jnsupercomputer/supercomputerintroduction/readme.md new file mode 100644 index 00000000..7d084be3 --- /dev/null +++ b/content/chaosuan/jnsupercomputer/supercomputerintroduction/readme.md @@ -0,0 +1,28 @@ +--- +title: "超算简介" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 2 +--- + +## 国家超级计算济南中心 + +*** + +###### 国家超级计算济南中心由国家科技部批准成立,创建于2011年,是从事智能计算和信息处理技术研究及计算服务的综合性研究中心,也是我国首台完全采用自主处理器研制千万亿次超级计算机“神威蓝光”的诞生地,建有全球首个超算科技园,总投资108亿元,总建筑面积达69万平方米。 + +![PNG](/chaosuan/jnsupercomputer/supercomputerintroduction/_image/nsccjn-main.png) + +### 山河超算平台 + +山河平台作为超大规模异构超级计算平台,拥有行业领先的基础设施资源,不仅有超大内存的高性能计算集群,更有国产化的神威计算集群。 + +- HPC平台:HPC高性能计算峰值算力达60PFlops(每秒6万万亿次双精度浮点运算),平台节点配置为双路56核心英特尔Gold 6258R处理器,内存192GB且配有高内存的胖节点高性能计算集群,并配置Mellanox IB HDR100网络,以及全闪 NVMELustre 存储,设计读写500GB+/s,具备强大的科学计算能力。 +- AI平台:人工智能平台设计算力达1000PFlops(每秒百亿亿次智能计算),单台最高配有8张英伟达计算卡A100,双路英特尔Platinum 8358处理器,内存512GB,以及高速NvLink2 320GB显存. + + + +##### 本文档为科技园HPC平台使用文档,为用户提供相关的使用说明及问题解答。 +##### 更多信息[国家超级计算济南中心]: https://nsccjn.cn/ diff --git a/content/chaosuan/jnsupercomputer/whatsupercomputer/1-2-hpc-introduction.md b/content/chaosuan/jnsupercomputer/whatsupercomputer/1-2-hpc-introduction.md new file mode 100644 index 00000000..ca06ce2a --- /dev/null +++ b/content/chaosuan/jnsupercomputer/whatsupercomputer/1-2-hpc-introduction.md @@ -0,0 +1,55 @@ +--- +title: "什么是超算" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 1 +--- +## 超级计算机(Supercomputer) + +*** + + +超级计算是一种高性能计算形式,使用功能强大的计算机“超级计算机”执行确定或计算,减少总求解时间。不同于传统的计算机,超级计算机使用多个中央处理器 (CPU)。 这些 CPU 分组成多个计算节点,包含一个处理器或一组处理器(对称多处理 (SMP)) 和一个内存块。 在规模上,超级计算机可以包含数万个节点。 凭借互相连接通信能力,这些节点可以协作解决特定问题。 + +超级计算以每秒浮点运算次数 (FLOPS) 衡量。 Petaflop 是计算机处理速度的一种度量单位,等同于每秒千万亿次浮点运算。 速度为 1 petaflop 的计算机系统每秒可以执行百万的四次方次浮点运算。 实际测试中,利用Linpack 基准测试近似计算机解决数值问题的速度来作为计算的结果,在行业中被广泛使用。 + +根据超算 500 强名单排名,当前世界上最快的超级计算机是美国的 Frontier,截至 2022 年 6 月统计的速度是 1102 petaflop(E级)。 日本超级计算机 Fugaku 和 荷兰超级计算机 LUMI 分别位列第二名和第三名,速度分别是 442 和 151.9 petaflop。 + +###### 『Fun fact』当前榜单第一名Frontier及第三名LUMI均为“同一架构”超算,均采用了AMD处理器及加速卡。第一名Frontier实现了比第二名Fugaku(ARM架构)多12.5%的核心,实现了性能的翻倍(达到E级),且整体功耗也要相对低好多。 + +![svg](/chaosuan/jnsupercomputer/supercomputerintroduction/_image/top500.png) + +**峰值计算** + +FLOPS在高性能计算机集群(超算)上可以使用如下公式计算: +![svg](/chaosuan/jnsupercomputer/supercomputerintroduction/_image/mflops.svg) + +细分到处理器上,以单个 Intel® Xeon® Gold 6258R 举例,该处理器基于Cascade Lake架构,每个计算单元有2个FMA(fused multiply-add),每个FMA可以对512bit数据在一个时钟周期中做一次乘运算和一次加运算: + +- (512bit/32bit) x 2(FMA) x 2(乘和加) = 64 SP FLOPs/cycle,即每个时钟周期可以做64个单精度浮点计算。 +- (512bit/64bit) x 2(FMA) x 2(乘和加) = 32 DP FLOPs/cycle,即每个时钟周期可以做32个双精度浮点计算。 + +因单个CPU峰值浮点计算性能 = CPU核数 x CPU频率 x 每周期执行的浮点操作数,故 Intel® Xeon® Gold 6258R 处理器: + +- 单精度理论峰值性能 = 28(CPU核数) x 2.7GHz(CPU频率) x 64 SP FLOPs/cycle = 4838.4 GFLOPs/s 峰值浮点计算能力。 +- 双精度理论峰值性能 = 28(CPU核数) x 2.7GHz(CPU频率) x 32 DP FLOPs/cycle = 2419.2 GFLOPs/s 峰值浮点计算能力。 + +*** + +## 实际应用 + +超级计算机目前在计算科学领域发挥着重要作用,被广泛用于各个领域的计算密集型任务,它们将帮助我们模拟超新星,开拓新材料,探索癌症治疗,遗传与环境,量子力学、天气预报、气候研究、油气勘探、分子建模(化合物、生物大分子、聚合物和晶体)和物理模拟(如宇宙早期模拟、飞机和航天器空气动力学、核武器爆炸和核聚变)。 + +因为超级计算机经常用来运行人工智能程序,所以超级计算几乎成为人工智能的代名词。 这种常规的用法是因为人工智能程序需要超计算机提供的高性能计算。 换言之,超级计算机可以处理人工智能应用程序通常需要的工作负载类型。 + +**超算与高性能计算** + +虽然超级计算通常是指超级计算机使用的复杂的大型计算过程,但高性能计算 (HPC) 是指使用多台超级计算机来处理复杂的大型计算。 这两个术语经常互换使用。 + +**超算与并行计算** + +超级计算机有时也被称为并行计算机,因为超级计算机可以使用并行处理。 并行处理是指多个 CPU 在给定时间共同对单个计算求解。 然而,HPC 场景也使用并行性,但不一定使用超级计算机。另一个例外是,超级计算机可以使用其他处理器系统,例如向量处理器、标量处理器或多线程处理器。 + +------ diff --git a/content/chaosuan/submitjob/_image/slurm.png b/content/chaosuan/submitjob/_image/slurm.png new file mode 100644 index 00000000..e6d238d9 Binary files /dev/null and b/content/chaosuan/submitjob/_image/slurm.png differ diff --git a/content/chaosuan/submitjob/_index.md b/content/chaosuan/submitjob/_index.md new file mode 100644 index 00000000..a7094fde --- /dev/null +++ b/content/chaosuan/submitjob/_index.md @@ -0,0 +1,29 @@ +--- +title: "提交作业" +linkTitle: "slurm作业帮助文档" +weight: 3 +collapsible: true +type: "product" + +section1: + title: slurm + +Section2: + title: slurm + children: + - title: slurm介绍 + content: slurm作业帮助文档 + url: "slurmintroduction/3-1-slurm-introduction" + + - title: slurm使用 + content: slurm作业帮助文档 + url: "slurminuse/3-2-slurm-in-use" + + - title: 提交运行作业 + content: slurm作业帮助文档 + url: "slurmsbatch/3-3-slurm-sbatch" + + - title: 作业问题 + content: slurm作业帮助文档 + url: "slurmfaq/3-4-sbatch-faq" +--- diff --git a/content/chaosuan/submitjob/slurmfaq/3-4-sbatch-faq.md b/content/chaosuan/submitjob/slurmfaq/3-4-sbatch-faq.md new file mode 100644 index 00000000..e4e563a5 --- /dev/null +++ b/content/chaosuan/submitjob/slurmfaq/3-4-sbatch-faq.md @@ -0,0 +1,32 @@ +--- +title: "作业问题" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 5 +--- + +## 常见问题 + +*** + +### 一、 DOS UNIX格式问题导致的提交失败 +```bash +# sbatch: error: Batch script contains Dos line breaks +# sbatch: error: instead ofexpected UNIX line breaks +``` +报错如上,解决方法是将文本dos格式转换为unix格式 +```bash +dos2unix file +# 将file改为实际要转换的文件,然后重新sbatch该文件即可 +``` + + +### 二、 提交作业有足够的节点,为什么会有延时? + +###### 这是因为slurm会进行调度,偶尔会有正常的等待时间,这是正常的。 + +### 三、提交报错 + +###### 可能是因为核心配置,以及作业分区编辑错误 diff --git a/content/chaosuan/submitjob/slurmintroduction/3-1-slurm-introduction.md b/content/chaosuan/submitjob/slurmintroduction/3-1-slurm-introduction.md new file mode 100644 index 00000000..90fd5d0c --- /dev/null +++ b/content/chaosuan/submitjob/slurmintroduction/3-1-slurm-introduction.md @@ -0,0 +1,23 @@ +--- +title: "slurm介绍" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 2 +--- +## Slurm任务调度工具 + +![](/chaosuan/submitjob/_image/slurm.png) + + +Slurm 任务调度工具(前身为极简Linux资源管理工具,英文:Simple Linux Utility for Resource Management,取首字母,简写为SLURM),或简称为Slurm,是一个用于 Linux 和 Unix 内核系统的免费、开源的任务调度工具,被世界上许多超级计算机和计算机集群广泛采用。Slurm 使用基于希尔伯特曲线调度或胖树网络拓扑的最佳拟合算法,以优化并行计算机上任务分配的局部性。 + +**它提供了三个关键功能:** +- 第一,为用户分配一定时间的专享或非专享的资源(计算机节点),以供用户执行工作。 +- 第二,它提供了一个框架,用于启动、执行、监测在节点上运行着的任务(通常是并行的任务,例如 MPI)。 +- 第三,为任务队列合理地分配资源。 + +*** + +**本集群采用slurm作业调度系统。** diff --git a/content/chaosuan/submitjob/slurminuse/3-2-slurm-in-use.md b/content/chaosuan/submitjob/slurminuse/3-2-slurm-in-use.md new file mode 100644 index 00000000..c0462f22 --- /dev/null +++ b/content/chaosuan/submitjob/slurminuse/3-2-slurm-in-use.md @@ -0,0 +1,87 @@ +--- +title: "slurm使用" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 3 +--- + +## Slurm使用 + +*** + +###### 1. sinfo 查看分区和节点的状态信息 + +###### 2. sbatch 提交作业 (**详细操作请参考下面3.3小节**) + +###### 3. squeue 查看已提交的作业状态 + +###### 4. scancel 取消已提交的作业 + +###### 5. scontrol 查看作业相关信息 + +
+ +##### (1)sinfo 查看作业信息 +```bash +# sinfo 查询各分区节点的空闲状态 + +$ sinfo +PARTITION AVAIL TIMELIMIT NODES STATE NODELIST +test up infinite 1 idle n00001 + +# 节点状态STATE,有如下几种 +# idle 状态为空闲 +# mix 状态为节点中有部分核心资源可用 +# alloc 状态为已被完全占用 +# drain 节点故障 +# down 节点下线 +``` + +##### (2)sbatch 作业提交(详细操作请参考下面3.3小节) +```bash +# sbatch 用于提交作业到作业调度系统中 + +$ sbatch jobscript.slurm + +# sbatch提交完脚本后,作业运行正常的情况下,提交后可获取到一个jobid作业号,作业等所需资源满足后开始运行 +``` + +##### (3)squeue 查看作业信息 +```bash +# squeue 查看提交作业的排队情况 + +$ squeue +JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) + +# squeue的输出分别是作业号,分区,作业名,用户,作业状态,运行时间,节点数量,运行节点(如果还在排队则显示排队原因) + +# 作业状态ST,包括R(正在运行),PD(正在排队),CG(即将完成),CD(已完成)。 +``` + +##### (4)scancel 作业取消 +```bash +# scancel取消队列中已提交的作业 + +# 通过squeue命令获取要取消的作业jobid,取消指定jobid的作业,以jobid为111为例,取消的命令为 +scancel 111 + +# 如果要取消当前登录账号所有作业 +scancel -u `whoami` +``` + +##### (5)scontrol 查看和修改作业参数 +```bash +# 显示该用户的全部作业的详细信息 +$ scontrol show job + +# 如果要查看指定作业的详细信息,在命令最后添加作业jobid,以jobid为111为例 +$ scontrol show job 123 + +# 显示全部节点的详细信息(不推荐执行,这将打印许多信息) +$ scontrol show node + +# 显示指定节点的详细信息(推荐),通过squeue命令获取到作业指定的节点,通过如下命令可以获取到作业指定节点的cpu及内存信息,以节点n00001为例 +$ scontrol show node n00001 +``` diff --git a/content/chaosuan/submitjob/slurmsbatch/3-3-slurm-sbatch.md b/content/chaosuan/submitjob/slurmsbatch/3-3-slurm-sbatch.md new file mode 100644 index 00000000..0420cade --- /dev/null +++ b/content/chaosuan/submitjob/slurmsbatch/3-3-slurm-sbatch.md @@ -0,0 +1,111 @@ +--- +title: "提交运行作业" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 4 +--- + +## 作业提交运行(推荐使用这种方式后台运行作业) + +*** + +##### sbatch 是将整个计算过程,写到脚本中,通过sbatch指令提交到计算节点上执行。 + +#### 注: +- 登录到集群后请不要在登录节点直接执行计算程序。 + +- 编写作业提交脚本,必须通过提交或者交互运行作业。 + +### 0 准备工作,您需要将算例文件上传到您的集群账号中,假设您上传一个binary程序到了您的家目录中的test目录中 +###### 上传操作请参考2.4小节 + +### 1 第一步,首先准备一个脚本模板,下面是个例子,它将在一个节点上执行共56核心的binary程序。 +###### 如果您需要指定的节点或者核心数,需要修改下面例子中对应的 节点数量,节点核心,总核心数 +###### 假设您需要用总核心数80,每节点40核心,对应修改数量为 2,40 ,80 ,即可 + +```bash +#!/bin/bash +#SBATCH --nodes=1 # 机器节点数量 +#SBATCH --ntasks-per-node=56 # 每个机器上的核心数量 +#SBATCH --ntasks=56 # 总核心数(总运行核心) +#SBATCH --partition=g1_share # 队列分区且必须指定正确分区(会被告知) +#SBATCH --job-name=hello # 作业名称(推荐修改一下,以便区分) +#SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) +#SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + +############################################## +# Software Envrironment # +############################################## +unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 +export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 +module load intel/2022 intelmpi/2022 # intel 环境加载 + +############################################## +# Run job # +############################################## +mpirun -np $SLURM_NPROCS ./binary # 选项-np指定 $SLURM_NPROCS 参数为总核心数,即nodes*tasks +``` + + +### 2 第二步,通过上传或者在线编辑将模板上传到集群中 + +###### 假设您编辑的脚本例子的文件名为run.slurm,放置算例文件到算例目录中,以家目录中test目录为例(二进制文件binary所在目录) + +### 3 第三步,接着通过如下命令即可提交作业 后台运行 +```bash +sbatch run.slurm +``` + +*** +*** + +### 附:监控作业内存及cpu占用脚本模板 +```bash +#!/bin/bash +#SBATCH --nodes=1 # 节点数量 +#SBATCH --ntasks-per-node=56 # 每个节点核心数量 +#SBATCH --ntasks=56 # 总核心数 +#SBATCH --partition=g1_share # 队列分区且必须指定正确分区 +#SBATCH --job-name=hello # 作业名称 +#SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) +#SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) + +############################################## +# memeory total calculate # +############################################## +mkdir ./memory_total # ben +nameflag=`scontrol show hostname $SLURM_JOB_NODELIST` +jobflag=`squeue | grep $SLURM_JOB_ID | wc -l` + +function gather_job(){ +while [[ "$jobflag" -eq 1 ]] +do + for line in $nameflag + do + meminfo=`scontrol show node $line | grep Real | sed 's/.\{3\}//' | sed 's/.\{17\}.$//'` + hostinfo=`scontrol show node $line | grep NodeName | awk '{print $1}'` + cpuinfo=`scontrol show node $line | grep CPULoad | awk '{print $1}'` + echo -e "$hostinfo\n$meminfo\n$cpuinfo\n" >> ./memory_total/`date '+%Y%m%d-%T' | sed 's/.\{2\}.$//'` + done + sleep 1m +done +} +gather_job & + +############################################## +# Software Envrironment # +############################################## +unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 +export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 +module load intel/2022 intelmpi/2022 # intel 环境加载 + +############################################## +# Run job # +############################################## +mpirun -np $SLURM_NPROCS ./binary # 选项-np指定 $SLURM_NPROCS 参数为总核心数,即nodes*tasks +``` + +*** + diff --git a/content/chaosuan/supercomputerlogin/_index.md b/content/chaosuan/supercomputerlogin/_index.md new file mode 100644 index 00000000..3f40dabd --- /dev/null +++ b/content/chaosuan/supercomputerlogin/_index.md @@ -0,0 +1,26 @@ +--- +title: "超算登录" +linkTitle: "集群登录" +weight: 2 +collapsible: true +type: "product" + +section1: + title: 超算登录 + +Section2: + title: 超算登录 + children: + - title: VPN登录 + url: "vpnlogin/vpnlogin/2-1-0-windows-vpn-login" + + + - title: 集群登陆 + url: "clusterlogin/2-2-cluster-login" + + - title: 文件传输 + url: "filetransfer/2-3-cluster-upload" + + - title: 登录问题 + url: "loginproblem/2-4-login-faq" +--- diff --git a/content/chaosuan/supercomputerlogin/clusterlogin/2-2-cluster-login.md b/content/chaosuan/supercomputerlogin/clusterlogin/2-2-cluster-login.md new file mode 100644 index 00000000..aa6795ed --- /dev/null +++ b/content/chaosuan/supercomputerlogin/clusterlogin/2-2-cluster-login.md @@ -0,0 +1,63 @@ +--- +title: "集群登录" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 3 +--- + + + +###### VPN登录成功之后,通过登录节点登录到HPC集群提交作业。 + +##### 山河一集群负载均衡登录IP地址:**10.100.19.41** +##### 山河二集群负载均衡登录IP地址:**10.100.19.45** +##### 山河三集群负载均衡登录IP地址:**10.100.19.42** + +###### 所有节点皆为CentOS系统,请使用xshell、MobaXterm、Putty、SecureCRT等工具登录。 +###### (登录推荐使用mobaxterm,下载地址:https://mobaxterm.mobatek.net/download.html) + +*** + +##### 1. 使用工具登录(以mobaxterm工具举例) + +###### 在输入密码的时候不是明文显示的,可正常输入 + +打开mobaxterm工具并根据下图步骤进行,填入对应集群登录节点IP地址,填入登录用户名(用户名请填写实际名字,下方以username用户为例),回车后输入密码即可登录进入 + + + +第一次登录成功后,下次登录只需要点上次在左边栏 + + + +
+ +##### 2. 使用ssh命令行登录,如使用mac,linux等系统(以mobaxterm工具举例) + +###### 在输入密码的时候不是明文显示的,可正常输入 + +打开mobaxterm工具点击如下按钮 + + +输入如下命令回车输入密码即可登录(用户名请填写实际名字,下方以山河一集群的username用户为例) +```bash +ssh username@10.100.19.41 +``` + + + + + +*** + + + +## 附 mobaxterm 故障处理 +如果遇见 /etc/ssh_config line 1: Missing argument. 问题,如下图所示: +![png](/chaosuan/jnsupercomputer/supercomputerintroduction/_image/moba1.png) + +处理方法是编辑报错的 /etc/ssh_config 文件,添加或修改第一行的引号内的内容为当前电脑的用户名,假设当前电脑的用户名为user,则: + +![png](/chaosuan/jnsupercomputer/supercomputerintroduction/_image/moba2.png) diff --git a/content/chaosuan/supercomputerlogin/filetransfer/2-3-cluster-upload.md b/content/chaosuan/supercomputerlogin/filetransfer/2-3-cluster-upload.md new file mode 100644 index 00000000..fbb877a2 --- /dev/null +++ b/content/chaosuan/supercomputerlogin/filetransfer/2-3-cluster-upload.md @@ -0,0 +1,31 @@ +--- +title: "文件传输" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 5 +--- + +#### 上传文件 +###### (上传下载推荐使用支持断点续传的winscp,下载地址:https://winscp.net/eng/download.php) + +##### 1. 使用工具上传(以mobaxterm工具举例) + +通过mobaxterm工具连接到集群后,并根据下图 +1. 可以使用上方上传按钮进行上传 +2. 可以将要上传的文件拖动到下方框中 + + + +##### 2. 使用工具上传(以winscp工具举例) + +打开winscp工具,依次确认下图中红框中内容(用户名请填写实际名字,下方以username用户为例) + + + +##### 3. 使用scp命令上传(如mac,linux系统) +以下命令以传输当前文件夹下的filename.tar文件到,集群username账户的家目录里为例 +```bash +scp filename.tar username@10.100.19.41:~/ +``` diff --git a/content/chaosuan/supercomputerlogin/loginproblem/2-4-login-faq.md b/content/chaosuan/supercomputerlogin/loginproblem/2-4-login-faq.md new file mode 100644 index 00000000..8e5fce67 --- /dev/null +++ b/content/chaosuan/supercomputerlogin/loginproblem/2-4-login-faq.md @@ -0,0 +1,37 @@ +--- +title: "常见问题" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 6 +--- + +# 常见问题 +*** + +### 1、使用Mac或命令行工具登录集群时,可能会报“Host Key verification failed”错误而无法登录 + +###### 出现这个错误的原因是因为登录地址为负载均衡登录节点,每次登录都是按空闲状态随机分配6个登录节点中的一个 +###### 解决方法就是删除掉known_hosts文件中对应IP的一行即可(或者删除这个文件) +```bash +ssh-keygen -R 10.100.19.41 +# rm -f ~/.ssh/known_hosts +``` + +### 2、 账户更新密码 +``` +如有需求,在本地个人目录下,输入cepasswd即可修改登录密码,修改成功后再次登录集群请使用新密码。 +密码设定要求:最少8个字符,必须包含数字、字母、特殊字符(!@#$%^&*?_) +``` + +### 3、 查询存储空间使用情况 +```bash +lfs quota -hu $USER $HOME +``` + +### 4、 VNC清理缓存 +```bash +rm -rf /tmp/.X11-unix/* +rm -rf /tmp/.X*lock +``` diff --git a/content/chaosuan/supercomputerlogin/vpnlogin/_index.md b/content/chaosuan/supercomputerlogin/vpnlogin/_index.md new file mode 100644 index 00000000..e2a73232 --- /dev/null +++ b/content/chaosuan/supercomputerlogin/vpnlogin/_index.md @@ -0,0 +1,9 @@ +--- +title: vpn登录 +linkTitle: "vpn登录" +_build: + render: false +weight: 1 +collapsible: true +--- + diff --git a/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-0-windows-vpn-login.md b/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-0-windows-vpn-login.md new file mode 100644 index 00000000..c3eb8598 --- /dev/null +++ b/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-0-windows-vpn-login.md @@ -0,0 +1,42 @@ +--- +title: "windows系统" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 1 +--- + + +*** + +获取到登录方式后,使用VPN用户名及密码登录(**注意区分vpn及集群登录信息**)。在浏览器中登录如下地址,输入 VPN 账户名和密码,登录成功后会在桌面右下角显示 VPN 客户端托盘,此时浏览器会提示下载插件,将插件下载安装后,在浏览器主页面中显示可用资源。 + +*** +###### VPN登录地址为:https://vpn.shanhe.com +*** + +### Windows 登录VPN详细过程如下(以Windows10为例): + +#### 1. 打开浏览器,输入地址 https://vpn.shanhe.com ,如图所示 + +

+ +#### 2. 根据客户端操作系统版本,下载对应的客户端并安装(如javascript错误,请更换浏览器。) + +
+ +#### 3. 打开下载安装后的客户端,并输入VPN登录地址,回车登录 + +

+ +#### 4. 输入用户账户信息以登录 + +

+ +#### 5. 登录VPN后显示可访问的资源,此时已登录成功 + + +*** +*** + diff --git a/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-1-ubuntu-vpn-login.md b/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-1-ubuntu-vpn-login.md new file mode 100644 index 00000000..ce5e20fb --- /dev/null +++ b/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-1-ubuntu-vpn-login.md @@ -0,0 +1,89 @@ +--- +title: "ubuntu系统" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 2 +--- + +## VPN登录流程 + +*** + +获取到登录方式后,使用VPN用户名及密码登录(**注意区分vpn及集群登录信息**)。在浏览器中登录如下地址,输入 VPN 账户名和密码,登录成功后会在桌面右下角显示 VPN 客户端托盘,此时浏览器会提示下载插件,将插件下载安装后,在浏览器主页面中显示可用资源。 + +*** +###### VPN登录地址为:https://vpn.shanhe.com +*** + + +### Ubuntu 登录VPN详细过程如下(以Ubuntu22.04为例): + +#### 1. 打开浏览器,输入地址 https://vpn.shanhe.com ,如图所示 + +

+ +#### 2. 根据客户端操作系统位数版本,下载对应的客户端(如javascript错误,请更换浏览器。) + +
+ +#### 3. 打开terminal终端,移动到下载的位置(一般为 ~/Downloads ),使用apt命令进行安装。 + +```bash +$ cd ~/Downloads +$ ls +EasyConnect_x64_7_6_7_3.deb + +# 使用如下命令输入密码后进行安装 +$ sudo apt install ./EasyConnect_x64_7_6_7_3.deb +``` + + +

+ +#### 4. 安装完成后,点击左下角,或者使用星标开始键,输入easyConnect,找到程序,点击打开 + +

+ +#### 5. 打开easyconnect程序后会遇到闪退问题,无法打开程序,如下图所示 + +

+ +#### 6. 解决的方法是libpango三个依赖库降级 +(推荐使用a方法,对系统无影响性;b方法会降低系统库依赖版本,可能产生不可预期的问题) + +a. 可使用现成的lib库 +```bash +# 首先,使用下方链接下载三个库 +# https://pan.baidu.com/s/1pseXzbxqYQh3DWNC_nSM0Q?pwd=2hcf + +# 将下载好的三个库,移动到vpn安装目录 +$ sudo mv libpango* /usr/share/sangfor/EasyConnect/EasyConnect + +# 安装 canberra-gtk-module +$ sudo apt-get install libcanberra-gtk-module -y +``` + +b. 使用官方下载的库进行降级 + +```bash +$ cd ~/Downloads +$ wget http://security.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpango-1.0-0_1.40.14-1ubuntu0.1_amd64.deb +$ wget http://security.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpangoft2-1.0-0_1.40.14-1ubuntu0.1_amd64.deb +$ wget http://security.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpangocairo-1.0-0_1.40.14-1ubuntu0.1_amd64.deb +$ sudo apt install ./libpango* +$ sudo apt-get install libcanberra-gtk-module -y +``` + +使用如上其中任意方法(推荐a方法),重复第4步操作,即能打开软件,如下图所示。 + + +

+ +#### 7. 输入用户账户信息以登录 + +

+ +#### 8. 登录VPN后显示可访问的资源,此时已登录成功 + diff --git a/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-2-centos-vpn-login.md b/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-2-centos-vpn-login.md new file mode 100644 index 00000000..0c73b6c8 --- /dev/null +++ b/content/chaosuan/supercomputerlogin/vpnlogin/vpnlogin/2-1-2-centos-vpn-login.md @@ -0,0 +1,52 @@ +--- +title: "centos系统" +description: Test description +draft: false +enableToc: false +keyword: test +weight: 3 +--- + +## VPN登录流程 + +*** + +获取到登录方式后,使用VPN用户名及密码登录(**注意区分vpn及集群登录信息**)。在浏览器中登录如下地址,输入 VPN 账户名和密码,登录成功后会在桌面右下角显示 VPN 客户端托盘,此时浏览器会提示下载插件,将插件下载安装后,在浏览器主页面中显示可用资源。 + +*** +###### VPN登录地址为:https://vpn.shanhe.com +*** + +### Centos 登录VPN详细过程如下(以Centos7.6为例): + +#### 1. 打开浏览器,输入地址 https://vpn.shanhe.com ,如图所示 + +

+ +#### 2. 根据客户端操作系统位数版本,下载对应的客户端(如javascript错误,请更换浏览器。) + +
+ +#### 3. 打开terminal终端,移动到下载的位置,使用yum命令进行安装。 + +```bash +$ ls +EasyConnect_x64_7_6_7_3.rpm + +# 使用如下命令输入密码后进行安装 +$ install ./EasyConnect_x64_7_6_7_3.rpm -y +``` + + +

+ +#### 4. 安装完成后,点击左下角,或者使用星标开始键,输入easyConnect,找到程序,点击打开 + +

+ +#### 5. 输入用户账户信息以登录 + +

+ +#### 6. 登录VPN后显示可访问的资源,此时已登录成功 + diff --git a/content/community/_index.md b/content/community/_index.md new file mode 100644 index 00000000..a239aec8 --- /dev/null +++ b/content/community/_index.md @@ -0,0 +1,10 @@ +--- +title: "开发者社区" +linkTitle: "Document" +_build: + render: false +weight: 2 +collapsible: true +icon: "/images/icons/index/product-icon-mirror.svg" +--- + diff --git a/content/community/dns/_index.md b/content/community/dns/_index.md new file mode 100644 index 00000000..97a73ef4 --- /dev/null +++ b/content/community/dns/_index.md @@ -0,0 +1,26 @@ +--- +title: "域名解析DNS" +linkTitle: "DNS" +weight: 3 +collapsible: true +type: "product" + +section1: + title: 山河云域名解析DNS + vice_title: 提供极速稳定的域名解析服务 + +Section2: + title: 域名解析DNS + children: + - title: DNS + content: 10.105.20.7 + url: "/community/dns/dns1" + +--- + + + + + + + \ No newline at end of file diff --git a/content/community/dns/dns1.md b/content/community/dns/dns1.md new file mode 100644 index 00000000..b57fa98d --- /dev/null +++ b/content/community/dns/dns1.md @@ -0,0 +1,15 @@ +--- +title: "DNS配置帮助文档" +date: "2022-08-10" +description: Test description +draft: false +enableToc: false +keyword: dns +weight: 1 +--- + +## 配置dns +修改/etc/resolv.conf +``` +nameserver 10.105.20.7 +``` \ No newline at end of file diff --git a/content/community/mirror/_index.md b/content/community/mirror/_index.md new file mode 100644 index 00000000..b5eda9c4 --- /dev/null +++ b/content/community/mirror/_index.md @@ -0,0 +1,41 @@ +--- +title: "镜像" +linkTitle: "镜像" +weight: 1 +collapsible: true +type: "product" + +section1: + title: 山河云官方镜像站 + vice_title: 提供极速稳定的系统镜像服务 + +Section2: + title: 用户指南 + children: + - title: 系统 + content: 山河镜像源使用帮助 + url: "/community/mirror/os/centos/centos" + + - title: 容器 + content: 山河镜像源使用帮助 + url: "/community/mirror/container/docker" + + - title: 工具 + content: 山河镜像源使用帮助 + url: "/community/mirror/tool/anaconda" + + - title: 语言 + content: 山河镜像源使用帮助 + url: "/community/mirror/language/pypi" + + - title: 其他 + content: 山河镜像源使用帮助 + url: "/community/mirror/other/" +--- + + + + + + + \ No newline at end of file diff --git a/content/community/mirror/container/_index.md b/content/community/mirror/container/_index.md new file mode 100644 index 00000000..772ff5e2 --- /dev/null +++ b/content/community/mirror/container/_index.md @@ -0,0 +1,8 @@ +--- +title: "容器" +linkTitle: "容器镜像源使用帮助" +weight: 20 +collapsible: true +--- + +## 容器镜像源使用帮助 diff --git a/content/community/mirror/container/docker.md b/content/community/mirror/container/docker.md new file mode 100644 index 00000000..c5d46497 --- /dev/null +++ b/content/community/mirror/container/docker.md @@ -0,0 +1,17 @@ +--- +title: "docker-ce" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,docker +weight: 1 +--- + +# Docker CE 镜像 + +## 简介 + +Docker CE 是免费的 Docker 产品的新名称,Docker CE 包含了完整的 Docker 平台,非常适合开发人员和运维团队构建容器 APP。 + +下载地址:https://mirrors.shanhe.com/docker-ce/ \ No newline at end of file diff --git a/content/community/mirror/language/_index.md b/content/community/mirror/language/_index.md new file mode 100644 index 00000000..16405863 --- /dev/null +++ b/content/community/mirror/language/_index.md @@ -0,0 +1,8 @@ +--- +title: "语言" +linkTitle: "语言镜像源使用帮助" +weight: 20 +collapsible: true +--- + +## 语言镜像源使用帮助 diff --git a/content/community/mirror/language/pypi.md b/content/community/mirror/language/pypi.md new file mode 100644 index 00000000..eee8826d --- /dev/null +++ b/content/community/mirror/language/pypi.md @@ -0,0 +1,36 @@ +--- +title: "pypi" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,pypi +weight: 1 +--- + +## pypi 镜像使用帮助 + +pypi 镜像每 5 分钟同步一次。 + +### 临时使用 + +``` +pip install -i https://mirrors.shanhe.com/simple some-package +``` + +注意,`simple` 不能少, 是 `https` 而不是 `http` + +### 设为默认 + +升级 pip 到最新的版本 (>=10.0.0) 后进行配置: + +``` +pip install pip -U +pip config set global.index-url https://mirrors.shanhe.com/simple +``` + +如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip: + +``` +pip install -i https://mirrors.shanhe.com/simple pip -U +``` \ No newline at end of file diff --git a/content/community/mirror/os/_index.md b/content/community/mirror/os/_index.md new file mode 100644 index 00000000..4e982ef8 --- /dev/null +++ b/content/community/mirror/os/_index.md @@ -0,0 +1,8 @@ +--- +title: "系统镜像" +linkTitle: "系统镜像源使用帮助" +weight: 20 +collapsible: true +--- + +## 系统镜像源使用帮助 diff --git a/content/community/mirror/os/centos/centos.md b/content/community/mirror/os/centos/centos.md new file mode 100644 index 00000000..88c20d25 --- /dev/null +++ b/content/community/mirror/os/centos/centos.md @@ -0,0 +1,56 @@ +--- +title: "Centos" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,centos +weight: 1 +--- + +# Centos镜像源使用帮助 + +``` +CentOS的镜像地址为:http://mirrors.shanhe.com/centos/ +CentOS 6 及以下版本已被官网源下线, 若需使用, 请参考 CentOS-Vault 进行配置,CentOS-Vault的镜像地址为: http://mirrors.shanhe.com/centos-vault/ +``` + +### 1、备份配置文件 + +``` +cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak +``` + +### 2、两种方案,请大家自行选取。 + +##### 方案一 下载新的CentOS-Base.repo文件到/etc/yum.repos.d/目录下,选择CentOS版本: CentOS 7 执行如下命令: + +``` +wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.shanhe.com/help/conf/CentOS-7-reg.repo +``` + +CentOS 8 执行如下命令: + +``` +wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.shanhe.com/help/conf/CentOS-8-reg.repo +``` + +##### 方案二 修改CentOS-Base.repo文件,取消baseurl开头的行的注释,并增加mirrorlist开头的行的注释。将文件中的http://mirror.centos.org替换成http://mirrors.shanhe.com,可以参考如下命令: + +``` +sed -i "s/#baseurl/baseurl/g" /etc/yum.repos.d/CentOS-Base.repo +sed -i "s/mirrorlist=http/#mirrorlist=http/g" /etc/yum.repos.d/CentOS-Base.repo +sed -i "s@http://mirror.centos.org@http://mirrors.shanhe.com@g" /etc/yum.repos.d/CentOS-Base.repo +``` + +### 3、清除原有yum缓存。 执行如下命令: + +``` +yum clean all +``` + +### 4、刷新缓存 执行如下命令: + +``` +yum makecache +``` \ No newline at end of file diff --git a/content/community/mirror/os/centos/centos_altarch.md b/content/community/mirror/os/centos/centos_altarch.md new file mode 100644 index 00000000..05937f83 --- /dev/null +++ b/content/community/mirror/os/centos/centos_altarch.md @@ -0,0 +1,29 @@ +--- +title: "Centos altarch" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,centos +weight: 4 +--- + +# Centos altarch 镜像 + +## 简介 + +CentOS 额外平台的安装镜像和官方软件包仓库 + +下载地址:https://mirrors.shanhe.com/centos-altarch/ + +## 配置方法 + +### Centos altarch 7 配置 + +``` +wget http://mirrors.shanhe.com/repo/Centos-altarch-7.repo -O /etc/yum.repos.d/CentOS-Base.repo +``` + +## 相关链接 + +- 官方主页:http://mirror.centos.org/altarch/ \ No newline at end of file diff --git a/content/community/mirror/os/centos/centos_vault.md b/content/community/mirror/os/centos/centos_vault.md new file mode 100644 index 00000000..c7b2a861 --- /dev/null +++ b/content/community/mirror/os/centos/centos_vault.md @@ -0,0 +1,60 @@ +--- +title: "Centos vault" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,centos +weight: 3 +--- + +# centos-vault镜像 + +## 简介 + +其中CentOS-Vault.repo对应的是发行该镜像时的yum源版本,使用该镜像源可以下载发行镜像时的yum源。 + +下载地址:https://mirrors.shanhe.com/centos-vault/ + +## 相关链接 + +官方主页:https://vault.centos.org/ + + +### 配置方法 +建议先备份 /etc/yum.repos.d/ 内的文件。 + +需要确定您所需要的小版本,如无特殊需要则使用该大版本的最后一个小版本,比如 6.10,5.11,我们将其标记为 $minorver,需要您在之后的命令中替换。 + +然后编辑 /etc/yum.repos.d/ 中的相应文件,在 mirrorlist= 开头行前面加 # 注释掉;并将 baseurl= 开头行取消注释(如果被注释的话)。 对于 CentOS 8 之前的版本,请把该行内的域名及路径(例如mirror.centos.org/centos/$releasever)替换为 mirrors.shanhe.com/centos-vault/$minorver。 对于 CentOS 8 ,请注意域名及路径发生了更换,此时需要替换的字段为 http://mirror.shanhe.org/$contentdir/$releasever + +``` +cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak +``` + +##### 修改CentOS-Vault.repo文件,取消baseurl开头的行的注释,并增加mirrorlist开头的行的注释。将文件中的http://mirror.centos.org替换成http://mirrors.shanhe.com,可以参考如下命令: + +``` +# Centos 6 +minorver=6.10 +sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \ + -e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://mirrors.shanhe.com/centos-vault/$minorver|g" \ + -i.bak \ + /etc/yum.repos.d/CentOS-*.repo + +# CentOS 8 +minorver=8.5.2111 +sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \ + -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors.shanhe.com/centos-vault/$minorver|g" \ + -i.bak \ + /etc/yum.repos.d/CentOS-*.repo + +``` +> 注意其中的 * 通配符,如果只需要替换一些文件中的源,请自行增删。 +注意,如果需要启用其中一些 repo,需要将其中的 enabled=0 改为 enabled=1。 + +刷新缓存 执行如下命令: + +``` +yum makecache +``` \ No newline at end of file diff --git a/content/community/mirror/os/centos/epel.md b/content/community/mirror/os/centos/epel.md new file mode 100644 index 00000000..484f61e2 --- /dev/null +++ b/content/community/mirror/os/centos/epel.md @@ -0,0 +1,67 @@ +--- +title: "Epel" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,centos +weight: 2 +--- + +# Epel 镜像源使用帮助 + +### 简介 +``` +EPEL (Extra Packages for Enterprise Linux), 是由 Fedora Special Interest Group 维护的 Enterprise Linux(RHEL、CentOS)中经常用到的包。 + +下载地址:https://mirrors.shanhe.com/epel/ +``` +### 备份配置文件 +``` +cp -a /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak + +``` +### 安装epel-release +``` +yum install epel-release -y +``` +### 修改配置文件 +修改/etc/yum.repos.d/epel.repo,将mirrorlist和metalink开头的行注释掉。 +接下来,取消注释这个文件里baseurl开头的行,并将其中的http://download.fedoraproject.org/pub替换成http://mirrors.shanhe.com。 +``` +sed -e 's!^metalink=!#metalink=!g' \ + -e 's!^#baseurl=!baseurl=!g' \ + -e 's!//download\.fedoraproject\.org/pub!//mirrors.shanhe.com!g' \ + -e 's!//download\.example/pub!//mirrors.shanhe.com!g' \ + -e 's!http://mirrors!https://mirrors!g' \ + -i /etc/yum.repos.d/epel*.repo +``` +修改结果如下:(仅供参考,不同版本可能不同) +``` +[epel] +name=Extra Packages for Enterprise Linux 7 - $basearch +baseurl=https://mirrors.shanhe.com/epel/7/$basearch +#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch +failovermethod=priority +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 + +[epel-debuginfo] +name=Extra Packages for Enterprise Linux 7 - $basearch - Debug +baseurl=https://mirrors.shanhe.com/epel/7/$basearch/debug +#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch +failovermethod=priority +enabled=0 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 +gpgcheck=1 + +[epel-source] +name=Extra Packages for Enterprise Linux 7 - $basearch - Source +baseurl=https://mirrors.shanhe.com/epel/7/SRPMS +#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch +failovermethod=priority +enabled=0 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 +gpgcheck=1 +``` \ No newline at end of file diff --git a/content/community/mirror/os/ubuntu/ubuntu.md b/content/community/mirror/os/ubuntu/ubuntu.md new file mode 100644 index 00000000..617300d6 --- /dev/null +++ b/content/community/mirror/os/ubuntu/ubuntu.md @@ -0,0 +1,118 @@ +--- +title: "ubuntu" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,ubuntu +weight: 5 +--- +# Ubuntu使用帮助 + +``` +Ubuntu的仓库地址为:https://mirrors.shanhe.com/ubuntu/ +Ubuntu-CD的镜像地址为:https://mirrors.shanhe.com/ubuntu-cdimage/ +Ubuntu-Cloud的镜像地址为:https://mirrors.shanhe.com/ubuntu-cloud-images/ +Ubuntu-Ports的仓库地址为:https://mirrors.shanhe.com/ubuntu-ports/ +Ubuntu-Releases的镜像地址为:https://mirrors.shanhe.com/ubuntu-releases/ +ubuntu-cloud-archive的镜像地址为:https://mirrors.shanhe.com/ubuntu-cloud-archive/ +``` + +### 1、备份配置文件 +执行如下命令: + +``` +sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak +``` + +### 2、修改sources.list文件 +将http://archive.ubuntu.com和http://security.ubuntu.com替换成https://mirrors.shanhe.com,可以参考如下命令: + +``` +sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.shanhe.com@g" /etc/apt/sources.list +sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.shanhe.com@g" /etc/apt/sources.list +``` + +Ubuntu 14.04,最后的效果如下: + +``` +deb https://mirrors.shanhe.com/ubuntu/ trusty main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ trusty main restricted universe multiverse +deb https://mirrors.shanhe.com/ubuntu/ trusty-security main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ trusty-security main restricted universe multiverse + +deb https://mirrors.shanhe.com/ubuntu/ trusty-updates main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ trusty-updates main restricted universe multiverse + +deb https://mirrors.shanhe.com/ubuntu/ trusty-backports main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ trusty-backports main restricted universe multiverse + +## Not recommended +# deb https://mirrors.shanhe.com/ubuntu/ trusty-proposed main restricted universe multiverse +# deb-src https://mirrors.shanhe.com/ubuntu/ trusty-proposed main restricted universe multiverse +``` + +Ubuntu 16.04,最后的效果如下: + +``` +deb https://mirrors.shanhe.com/ubuntu/ xenial main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ xenial main restricted universe multiverse +deb https://mirrors.shanhe.com/ubuntu/ xenial-security main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ xenial-security main restricted universe multiverse + +deb https://mirrors.shanhe.com/ubuntu/ xenial-updates main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ xenial-updates main restricted universe multiverse + +deb https://mirrors.shanhe.com/ubuntu/ xenial-backports main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ xenial-backports main restricted universe multiverse + +## Not recommended +# deb http://mirrors.shanhe.com/ubuntu/ xenial-proposed main restricted universe multiverse +# deb-src http://mirrors.shanhe.com/ubuntu/ xenial-proposed main restricted universe multiverse +``` + +Ubuntu 18.04,最后的效果如下: + +``` +deb https://mirrors.shanhe.com/ubuntu/ bionic main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ bionic main restricted universe multiverse +deb https://mirrors.shanhe.com/ubuntu/ bionic-security main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ bionic-security main restricted universe multiverse + +deb https://mirrors.shanhe.com/ubuntu/ bionic-updates main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ bionic-updates main restricted universe multiverse + +deb https://mirrors.shanhe.com/ubuntu/ bionic-backports main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ bionic-backports main restricted universe multiverse + +## Not recommended +# deb http://mirrors.shanhe.com/ubuntu/ bionic-proposed main restricted universe multiverse +# deb-src http://mirrors.shanhe.com/ubuntu/ bionic-proposed main restricted universe multiverse +``` + +Ubuntu 20.04,最后的效果如下: + +``` +deb https://mirrors.shanhe.com/ubuntu/ focal main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ focal main restricted universe multiverse +deb https://mirrors.shanhe.com/ubuntu/ focal-security main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ focal-security main restricted universe multiverse + +deb https://mirrors.shanhe.com/ubuntu/ focal-updates main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ focal-updates main restricted universe multiverse + +deb https://mirrors.shanhe.com/ubuntu/ focal-backports main restricted universe multiverse +deb-src https://mirrors.shanhe.com/ubuntu/ focal-backports main restricted universe multiverse + +## Not recommended +# deb http://mirrors.shanhe.com/ubuntu/ focal-proposed main restricted universe multiverse +# deb-src http://mirrors.shanhe.com/ubuntu/ focal-proposed main restricted universe multiverse +``` + +### 3、更新索引 +执行如下命令: + +``` +apt-get update +``` + diff --git a/content/community/mirror/os/ubuntu/ubuntu_cd_image.md b/content/community/mirror/os/ubuntu/ubuntu_cd_image.md new file mode 100644 index 00000000..6c0c4d3b --- /dev/null +++ b/content/community/mirror/os/ubuntu/ubuntu_cd_image.md @@ -0,0 +1,39 @@ +--- +title: "Ubuntu CD Image" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,ubuntu +weight: 11 +--- + +# Ubuntu CD Image 源使用帮助 + +## 地址 + +https://mirrors.shanhe.com/ubuntu-cdimage/ + +## 说明 + +Ubuntu 镜像 + +## 收录架构 + +Ubuntu 当前支持的所有架构 + +## 收录版本 + +Ubuntu 及其衍生发行版当前支持的版本 + +## 使用说明 + +Ubuntu 各版本各架构 ISO 请到 http://mirrors.shanhe.com/ubuntu-cdimage/releases/ 下载。 如果有些桌面版的 ISO 镜像没找到,也可以去参考 [Ubuntu Releases 源使用帮助](http://mirrors.shanhe.com/manual/mirrors/Ubuntu-releases) + +Ubuntu 衍生版,如 Edubuntu, KUbuntu(KDE), LUbuntu(LXDE), Mythbuntu(MythTV), Ubuntu Base, Ubuntu Gnome, Ubuntu Mate, Ubuntu Kylin(优麒麟), Ubuntu Studio, Xbuntu(XFCE),请到相应目录下载 ISO 镜像。 + +## 相关链接 + +- Ubuntu Base + + https://wiki.ubuntu.com/Base \ No newline at end of file diff --git a/content/community/mirror/os/ubuntu/ubuntu_cloud_images.md b/content/community/mirror/os/ubuntu/ubuntu_cloud_images.md new file mode 100644 index 00000000..77f7abc6 --- /dev/null +++ b/content/community/mirror/os/ubuntu/ubuntu_cloud_images.md @@ -0,0 +1,43 @@ +--- +title: "Ubuntu Cloud Images" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,ubuntu +weight: 10 +--- + +# Ubuntu Cloud Images 源使用帮助 + +## 地址 + +https://mirrors.shanhe.com/ubuntu-cloud-images/ + +## 说明 + +OpenStack, LXD 等公有云使用的 Ubuntu 镜像 + +## 收录架构 + +AMD64(x86_64), Intel x86, arm64, armhf, PowerPC, ppc64el, s390x + +并不是所有版本都有对应架构。 + +## 收录版本 + +收录由 Canonical 定制的为云服务设计的 Ubuntu 镜像,包含官方对 KVM、Hyper-V、Xen 等虚拟化平台的官方定制镜像,可在 Google Compute Engine、Amazon AWS、Azure 环境以及 OpenStack、LXD 等虚拟化平台上运行。 + +## 使用说明 + +可以使用 https://mirrors.shanhe.com/ubuntu-cloud-images/locator/ 查找公有云使用的镜像。 + +待处理 + +ubuntu-cloud-images 包括的虚拟化平台的镜像的使用说明 + +## 相关链接 + +- Ubuntu Cloud Guest + + https://help.ubuntu.com/community/UEC/Images \ No newline at end of file diff --git a/content/community/mirror/os/ubuntu/ubuntu_kylin.md b/content/community/mirror/os/ubuntu/ubuntu_kylin.md new file mode 100644 index 00000000..3d93b65e --- /dev/null +++ b/content/community/mirror/os/ubuntu/ubuntu_kylin.md @@ -0,0 +1,24 @@ +--- +title: "Ubuntu Kylin" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,ubuntu +weight: 9 +--- + +# Ubuntu Kylin 镜像 + + + +## 简介 + +Ubuntu Kylin 是由中国 CCN 联合实验室支持和主导的开源项目,其宗旨是采用平台国际化与应用本地化融合的设计理念,通过定制本地化的桌面用户环境以及开发满足广大中文用户特定需求的应用软件来提供细腻的中文用户体验,做更有中国特色的操作系统。 + +下载地址:https://mirrors.shanhe.com/ubuntukylin/ + +## 相关链接 + +- 官方主页: https://www.ubuntukylin.com/ +- Wiki:https://wiki.ubuntu.com/Home \ No newline at end of file diff --git a/content/community/mirror/os/ubuntu/ubuntu_old_releases.md b/content/community/mirror/os/ubuntu/ubuntu_old_releases.md new file mode 100644 index 00000000..94adab01 --- /dev/null +++ b/content/community/mirror/os/ubuntu/ubuntu_old_releases.md @@ -0,0 +1,47 @@ +--- +title: "Ubuntu Old Releases" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,ubuntu +weight: 8 +--- + +# Ubuntu Old Releases 源使用帮助 + +## 地址 + +https://mirrors.shanhe.com/ubuntu-old-releases/ + +## 说明 + +Ubuntu 旧版本的软件源、镜像 + +## 收录架构 + +Ubuntu 曾经支持过的所有架构 + +## 收录版本 + +Ubuntu 曾经发布过的所有版本 + +## 使用说明 + +该仓库包含了所有 Ubuntu 以前发布过的软件仓库、镜像 ISO,但 Ubuntu 衍生版的 ISO 则不包含。 + +### 软件源 + +在 `/etc/apt/sources.list` 文件中,将软件源的地址改为 `http://mirrors.shanhe.com/ubuntu-old-releases/ubuntu` + +更改完 `sources.list` 文件后请运行 `sudo apt-get update` 更新索引以生效。 + +小技巧 + +使用 HTTPS 可以有效避免国内运营商的缓存劫持,但需要事先安装 `apt-transport-https` + +### 镜像 + +请前往 https://mirrors.shanhe.com/ubuntu-old-releases/releases/ 下载。 + +非 AMD64(x86_64), Intel x86 架构的镜像请前往 https://mirrors.shanhe.com/ubuntu-old-releases/releases/ports/releases/ 下载。 \ No newline at end of file diff --git a/content/community/mirror/os/ubuntu/ubuntu_ports.md b/content/community/mirror/os/ubuntu/ubuntu_ports.md new file mode 100644 index 00000000..648a2aaa --- /dev/null +++ b/content/community/mirror/os/ubuntu/ubuntu_ports.md @@ -0,0 +1,85 @@ +--- +title: "Ubuntu Ports" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,ubuntu +weight: 7 +--- + +# Ubuntu Ports 源使用帮助 + +## 地址 + +https://mirrors.shanhe.com/ubuntu-ports/ + +## 说明 + +Ubuntu 软件源 + +## 收录架构 + +arm64, armhf, PowerPC, ppc64el, s390x + +## 收录版本 + +所有 Ubuntu 当前对该架构支持的版本,包括开发版 + +对于 Ubuntu 不再支持的版本,请参考 [Ubuntu Old Releases 源使用帮助](http://mirrors.shanhe.com/manual/mirrors/Ubuntu-old-releases) + +## 使用说明 + +### 手动更改配置文件 + +警告 + +操作前请做好相应备份 + +在 `/etc/apt/sources.list` 文件中,将软件源的地址改为 `http://mirrors.shanhe.com/ubuntu-ports` + +以下是 Ubuntu 16.04 /etc/apt/sources.list 文件的参考配置内容: + +``` +# 默认注释了源码仓库,如有需要可自行取消注释 +deb https://mirrors.shanhe.com/ubuntu-ports/ xenial main restricted universe multiverse +# deb-src https://mirrors.shanhe.com/ubuntu-ports/ xenial main main restricted universe multiverse +deb https://mirrors.shanhe.com/ubuntu-ports/ xenial-updates main restricted universe multiverse +# deb-src https://mirrors.shanhe.com/ubuntu-ports/ xenial-updates main restricted universe multiverse +deb https://mirrors.shanhe.com/ubuntu-ports/ xenial-backports main restricted universe multiverse +# deb-src https://mirrors.shanhe.com/ubuntu-ports/ xenial-backports main restricted universe multiverse +deb https://mirrors.shanhe.com/ubuntu-ports/ xenial-security main restricted universe multiverse +# deb-src https://mirrors.shanhe.com/ubuntu-ports/ xenial-security main restricted universe multiverse + +# 预发布软件源,不建议启用 +# deb https://mirrors.shanhe.com/ubuntu-ports/ xenial-proposed main restricted universe multiverse +# deb-src https://mirrors.shanhe.com/ubuntu-ports/ xenial-proposed main restricted universe multiverse +``` + +更改完 `sources.list` 文件后请运行 `sudo apt-get update` 更新索引以生效。 + +小技巧 + +使用 HTTPS 可以有效避免国内运营商的缓存劫持,但需要事先安装 `apt-transport-https` + +### 镜像下载 + +相关架构的 ISO 下载请参考 [Ubuntu CD Image 源使用帮助](http://mirrors.shanhe.com/help/ubuntu-cdimage.html) + +## 相关链接 + +- Ubuntu ARM + + https://wiki.ubuntu.com/ARM + +- Ubuntu PowerPC + + https://wiki.ubuntu.com/PowerPC + +- Ubuntu ppc64el + + https://wiki.ubuntu.com/ppc64el + +- Ubuntu s390x + + https://wiki.ubuntu.com/S390X \ No newline at end of file diff --git a/content/community/mirror/os/ubuntu/ubuntu_releases.md b/content/community/mirror/os/ubuntu/ubuntu_releases.md new file mode 100644 index 00000000..a1a2b2a7 --- /dev/null +++ b/content/community/mirror/os/ubuntu/ubuntu_releases.md @@ -0,0 +1,37 @@ +--- +title: "Ubuntu Releases" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,ubuntu +weight: 6 +--- + +# Ubuntu Releases 源使用帮助 + +## 地址 + +https://mirrors.shanhe.com/ubuntu-releases/ + +## 说明 + +Ubuntu 镜像 + +## 收录架构 + +AMD64 (x86_64), Intel x86 + +其他架构请参考 [Ubuntu CD Image 源使用帮助](http://mirrors.shanhe.com/manual/mirrors/Ubuntu%20CD%20Image) + +## 收录版本 + +所有 Ubuntu 当前支持的版本,包括开发版,具体版本见 https://wiki.ubuntu.com/Releases + +对于 Ubuntu 不再支持的版本,请参考 [Ubuntu Old Releases 源使用帮助](http://mirrors.ustc.edu.cn/manual/mirrors/Ubuntu%20Old%20Releases) + +## 使用说明 + +Ubuntu 当前支持的版本的 ISO 镜像,下载请直接前往 https://mirrors.shanhe.com/ubuntu-releases/ + +另外 https://mirrors.shanhe.com/ubuntu-releases/ubuntu-core/ 中包含了 Ubuntu Core 16 的 ISO,支持 AMD64, Intel x86, Raspberry Pi 2/3, DragonBoard 410c 等。 \ No newline at end of file diff --git a/content/community/mirror/other/_index.md b/content/community/mirror/other/_index.md new file mode 100644 index 00000000..a4b132f9 --- /dev/null +++ b/content/community/mirror/other/_index.md @@ -0,0 +1,8 @@ +--- +title: "其他" +linkTitle: "其他镜像源使用帮助" +weight: 20 +collapsible: true +--- + +## 其他镜像源使用帮助 diff --git a/content/community/mirror/tool/_index.md b/content/community/mirror/tool/_index.md new file mode 100644 index 00000000..99ee9e8f --- /dev/null +++ b/content/community/mirror/tool/_index.md @@ -0,0 +1,8 @@ +--- +title: "工具" +linkTitle: "工具镜像源使用帮助" +weight: 20 +collapsible: true +--- + +## 工具镜像源使用帮助 diff --git a/content/community/mirror/tool/anaconda.md b/content/community/mirror/tool/anaconda.md new file mode 100644 index 00000000..95f9db7d --- /dev/null +++ b/content/community/mirror/tool/anaconda.md @@ -0,0 +1,18 @@ +--- +title: "anaconda" +date: "2022-08-02" +description: Test description +draft: false +enableToc: false +keyword: mirror,anaconda +weight: 1 +--- + +## anaconda镜像使用帮助 + +``` +conda config --add channels https://mirrors.shanhe.com/anaconda/pkgs/free/ +conda config --add channels https://mirrors.shanhe.com/anaconda/pkgs/main/ +conda config --add channels https://mirrors.shanhe.com/anaconda/cloud/conda-forge/ +conda config --set show_channel_urls yes +``` \ No newline at end of file diff --git a/content/community/ntp/_index.md b/content/community/ntp/_index.md new file mode 100644 index 00000000..19a1454c --- /dev/null +++ b/content/community/ntp/_index.md @@ -0,0 +1,26 @@ +--- +title: "网络授时NTP" +linkTitle: "NTP" +weight: 20 +collapsible: true +type: "product" + +section1: + title: 山河云网络授时NTP + vice_title: 提供极速稳定的网络授时服务 + +Section2: + title: 用户指南 + children: + - title: NTP服务器 + content: 10.251.100.1 + url: "/community/ntp/ntp" + +--- + + + + + + + \ No newline at end of file diff --git a/content/community/ntp/ntp.md b/content/community/ntp/ntp.md new file mode 100644 index 00000000..f8cd3ee4 --- /dev/null +++ b/content/community/ntp/ntp.md @@ -0,0 +1,55 @@ +--- +title: "ntp服务配置帮助文档" +date: "2022-08-09" +description: Test description +draft: false +enableToc: false +keyword: ntp +weight: 1 +--- + +## 在服务器(172.30.0.11)上安装ntp server +### 安装软件包 +``` +# yum install -y ntp ntpdate +``` +### 编辑配置文件 +编辑配置文件/etc/ntp.conf ,配置之前记得先备份文件。 +删除所有 server XXX 的行 +#### 添加 + +``` +#这句是手动增加的,意思是指定的192.168.1.0--192.168.1.254的服务器都可以使用ntp服务器来同步时间。 +restrict 172.30.0.0 mask 255.255.248.0 nomodify notrap +#这句也是手动添加的 +server 10.251.100.1 +#间服务器为客户端提供时间同步服务。 +fudge 127.127.1.0 stratum 10 +``` +### 重启ntp服务 +``` +systemctl restart ntpd +``` +### 检查时间服务器是否正确同步 +``` +# ntpq -p + remote refid st t when poll reach delay offset jitter +============================================================================== +*85.199.214.100 .GPS. 1 u 43 64 377 223.219 -13.767 5.263 +``` +### 设置开机启动 +``` +systemctl enable ntpd +``` + +## 在其他服务器上安装client + +``` +yum install ntp ntpdate -y +sed -i '/^server/s/^/#/g' /etc/ntp.conf +echo "server 172.30.0.11" >> /etc/ntp.conf +ntpdate 172.30.0.11 +systemctl restart ntpd +systemctl enable ntpd +ntpq -p +``` \ No newline at end of file diff --git a/content/compute/_index.md b/content/compute/_index.md index 85e4a2fe..48a9c100 100644 --- a/content/compute/_index.md +++ b/content/compute/_index.md @@ -3,7 +3,7 @@ title: "计算" linkTitle: "Document" _build: render: false -weight: 1 +weight: 2 collapsible: true icon: "/images/icons/index/product-icon-host.svg" --- \ No newline at end of file diff --git a/content/compute/ssh/manual/ssh.md b/content/compute/ssh/manual/ssh.md index 7dffab56..5d5981cc 100644 --- a/content/compute/ssh/manual/ssh.md +++ b/content/compute/ssh/manual/ssh.md @@ -31,7 +31,7 @@ keyword: SSH, 山河,ssh密钥 ### 3. 配置好弹性 IP 和防火墙 -在连接云服务器之前,请确保您的云服务器已经绑定了弹性公网 IP,[防火墙放行](https://docsv3.qingcloud.com/security/security_group/manual/sg_setting/) TCP 22 端口。 +在连接云服务器之前,请确保您的云服务器已经绑定了弹性公网 IP,[防火墙放行](https://docsv3.shanhe.com/security/security_group/manual/sg_setting/) TCP 22 端口。 ### 4. 将密钥转换为正确的格式 diff --git a/content/compute/vm/best-practices/linux/ConfigHttpdSSl.md b/content/compute/vm/best-practices/linux/ConfigHttpdSSl.md index f2d83223..002adba5 100644 --- a/content/compute/vm/best-practices/linux/ConfigHttpdSSl.md +++ b/content/compute/vm/best-practices/linux/ConfigHttpdSSl.md @@ -90,5 +90,5 @@ tcp LISTEN 0 128 *:443 *:* users:(("apache2",pid=20 在浏览器中访问证书中的域名 -`注意:这里由于是自签证书,所浏览器认为是不安全的。正式使用的时候需要到相关机构签发SSL证书。签发网址:https://console.qingcloud.com/ssl_certificates` +`注意:这里由于是自签证书,所浏览器认为是不安全的。正式使用的时候需要到相关机构签发SSL证书。` diff --git a/content/compute/vm/faq/common_operations/net_config/modify_dns.md b/content/compute/vm/faq/common_operations/net_config/modify_dns.md index c3c12b27..8d857ed1 100644 --- a/content/compute/vm/faq/common_operations/net_config/modify_dns.md +++ b/content/compute/vm/faq/common_operations/net_config/modify_dns.md @@ -34,7 +34,7 @@ draft: false #vi /etc/resolv.conf # Generated by NetworkManager nameserver 114.114.114.114 - search localdomain sh1.qingcloud.com + search jn1.shanhe.com nameserver 192.168.255.254 ``` >注释:如果修改的云服务器为Ubuntu,还需要再执行如下命令: diff --git a/content/compute/vm/faq/common_operations/server_security/instance_malicious_resolution.md b/content/compute/vm/faq/common_operations/server_security/instance_malicious_resolution.md index 2e4e4108..b47fcfad 100644 --- a/content/compute/vm/faq/common_operations/server_security/instance_malicious_resolution.md +++ b/content/compute/vm/faq/common_operations/server_security/instance_malicious_resolution.md @@ -94,7 +94,7 @@ Apache中对于每个VirtualHost,都要求有ServerName或者ServerAlias,而 ```shell - DocumentRoot /home/qingcloud #域名对应的-项目目录 + DocumentRoot /home/shanhe #域名对应的-项目目录 ServerName blog.com #项目目录对应的-域名 ``` diff --git a/content/compute/vm/intro/.professional.md.swp b/content/compute/vm/intro/.professional.md.swp new file mode 100644 index 00000000..fed839fd Binary files /dev/null and b/content/compute/vm/intro/.professional.md.swp differ diff --git a/content/compute/vm/intro/professional.md b/content/compute/vm/intro/professional.md index fb3e177b..23ace6c5 100644 --- a/content/compute/vm/intro/professional.md +++ b/content/compute/vm/intro/professional.md @@ -19,7 +19,7 @@ keyword: 云服务器, 实例, 虚拟机 特点: - 三种GPU类型可选,专门为计算加速场景优化设计 - - NVIDIA A100采用HBM2e技术,可将A100 40GB GPU的高带宽内存增加一倍至80GB,单精度浮点运算能力达19.5TFLOPS,双精度浮点运算能力达9.7TFLOPS。 + - NVIDIA A100针对 AI、数据分析和 HPC 应用场景,在不同规模下实现出色的加速,有效助力更高性能的弹性数据中心。A100 采用 NVIDIA Ampere 架构,提供超快速的显存带宽,可处理超大型模型和数据集。 - NVIDIA RTX6000提供4608个并行计算核心,单精度浮点运算能力达16.3TFLOPS。 - AMD FirePro S7150FirePro S7150采用了一颗28nm Tonga XT核心,拥有2048个流处理器,单精度浮点运算性能为3.77 TFLOPS,双精度浮点运算性能为250 GFLOPS。 @@ -36,16 +36,26 @@ keyword: 云服务器, 实例, 虚拟机 GPU云服务器 g2 包括的实例规格和性能指标如下:(内网带宽和显存待确定) | 实例类型 | CPU | 内存 | GPU | 内网带宽 | -| ---------------------- | ---- | ---- | ------------------- | --------- | -| g2na100.2xlarge.g1 | 8核 | 60G | 1*NVIDIA A100 | 2 Gbps | -| g2na100.4xlarge.g2 | 16核 | 120G | 2*NVIDIA A100 | 4 Gbps | -| g2na100.8xlarge.g4 | 32核 | 240G | 4*NVIDIA A100 | 8 Gbps | -| g2na100.16xlarge.g8 | 62核 | 480G | 8*NVIDIA A100 | 20 Gbps | -| g2nrtx6000.8xlarge.g1 | 32核 | 240G | 1*NVIDIA RTX6000 | 25 Gbps | -| g2nrtx6000.16xlarge.g2 | 62核 | 480G | 2*NVIDIA RTX6000 | 50 Gbps | -| g2as7150.4xlarge.g1 | 16核 | 120G | 1*AMD FirePro S7150 | 12.5 Gbps | -| g2as7150.8xlarge.g2 | 32核 | 240G | 2*AMD FirePro S7150 | 25 Gbps | -| g2as7150.16xlarge.g4 | 62核 | 480G | 4*AMD FirePro S7150 | 50 Gbps | +| ---------------------- | ---- | ---- | ------------------- | ----------| +| g2as7150.16xlarge.g4 | 64核 | 192G | 4*AMD FirePro S7150 | 50 Gbps | +| g2as7150.4xlarge.g1 | 16核 | 48G | 1*AMD FirePro S7150 | 12.5 Gbps | +| g2as7150.8xlarge.g2 | 32核 | 96G | 2*AMD FirePro S7150 | 25 Gbps | +| g2na100.4xlarge.g1 | 16核 | 48G | 1*NVIDIA A100 | 2 Gbps | +| g2ibna100.4xlarge.g1 | 16核 | 48G | 1*NVIDIA A100 | 12.5 Gbps | +| g2na100.16xlarge.g4 | 64核 | 192G | 4*NVIDIA A100 | 8 Gbps | +| g2na100.31xlarge.g8 | 124核 | 432G | 8*NVIDIA A100 | 20 Gbps | +| g2ibna100.16xlarge.g4 | 64核 | 192G | 4*NVIDIA A100 | 50 Gbps | +| g2na100.31xlarge.g6 | 120核 | 288G | 6*NVIDIA A100 | 20 Gbps | +| g2ibna100.31xlarge.g8 | 124核 | 432G | 8*NVIDIA A100 | 100 Gbps | +| g2ibna100.8xlarge.g2 | 32核 | 96G | 2*NVIDIA A100 | 25 Gbps | +| g2na100.8xlarge.g2 | 32核 | 96G | 2*NVIDIA A100 | 4 Gbps | +| g2nrtx6000.16xlarge.g2| 128核 | 384G | 2*NVIDIA RTX6000 | 50 Gbps | +| g2nrtx6000.8xlarge.g1 | 64核 | 192G | 1*NVIDIA RTX6000 | 25 Gbps | +| g2nt4.31xlarge.g6 | 120核 | 288G | 6*NVIDIA Tesla T4 | 20 Gbps | +| g2nt4.16xlarge.g4 | 64核 | 192G | 4*NVIDIA Tesla T4 | 8 Gbps | +| g2nt4.31xlarge.g8 | 124核 | 384G | 8*NVIDIA Tesla T4 | 20 Gbps | +| g2nt4.4xlarge.g1 | 16核 | 48G | 1*NVIDIA Tesla T4 | 2 Gbps | +| g2nt4.8xlarge.g2 | 32核 | 96G | 2*NVIDIA Tesla T4 | 4 Gbps | diff --git a/content/compute/vm/manual/nic.md b/content/compute/vm/manual/nic.md index 40ff3ef4..4323c34c 100644 --- a/content/compute/vm/manual/nic.md +++ b/content/compute/vm/manual/nic.md @@ -6,7 +6,7 @@ draft: false ## 介绍 -对于弹性裸金属服务器来说,网卡就是服务器的网络设备,用于接入以太网络,和其它计算机进行通信。山河网卡是基于虚拟化技术模拟的网卡设备,此设备是基于虚拟机所在的物理设备。山河云平台可以将集群内的虚拟网络统一起来,进行再分配。用户毋需关心具体的网卡在什么位置,有需要申请、挂接即可。 +对于弹性裸金属服务器来说,网卡就是服务器的网络设备,用于接入以太网络,和其它计算机进行通信。山河网卡是基于虚拟化技术模拟的网卡设备,此设备是基于虚拟机所在的物理设备。山河云平台可以将集群内的虚拟网络统一起来,进行再分配。用户无需关心具体的网卡在什么位置,有需要申请、挂接即可。 > 限制说明 diff --git a/content/development_docs/sdk/intro/intro.md b/content/development_docs/sdk/intro/intro.md index 1ab2b9a1..ffa10e80 100755 --- a/content/development_docs/sdk/intro/intro.md +++ b/content/development_docs/sdk/intro/intro.md @@ -17,6 +17,6 @@ SDK 的使用受 API 访问配额的限制,具体请查看 [_概述_](../../.. * [Python](../../python/) * [安装](../../python/install/install/) * [操作指南](../../python/manual/manual_guide/) -* [Java](https://github.com/shanhe-nsccjn/shanhe-sdk-java) -* [Golang](https://github.com/shanhe-nsccjn/shanhe-sdk-go) -* [Ruby](https://github.com/shanhe-nsccjn/shanhe-sdk-ruby) \ No newline at end of file +* [Java](https://github.com/yunify/qingcloud-sdk-java) +* [Golang](https://github.com/yunify/qingcloud-sdk-go) +* [Ruby](https://github.com/yunify/qingcloud-sdk-ruby) diff --git a/content/development_docs/sdk/python/install/install.md b/content/development_docs/sdk/python/install/install.md index 8f9b6f23..54f5de9b 100755 --- a/content/development_docs/sdk/python/install/install.md +++ b/content/development_docs/sdk/python/install/install.md @@ -30,4 +30,4 @@ $ pip install --upgrade shanhe-sdk $ git clone https://github.com/shanhe-nsccjn/shanhe-sdk-python.git $ cd shanhe-sdk-python $ python setup.py install -``` \ No newline at end of file +``` diff --git a/content/guide/_index.md b/content/guide/_index.md new file mode 100644 index 00000000..ed1b47a5 --- /dev/null +++ b/content/guide/_index.md @@ -0,0 +1,10 @@ +--- +title: "使用指南" +linkTitle: "Document" +_build: + render: false +weight: 1 +collapsible: true +icon: "/images/icons/index/product-icon-service.svg" +--- + diff --git a/content/guide/use/_images/AD.png b/content/guide/use/_images/AD.png new file mode 100644 index 00000000..12485fbf Binary files /dev/null and b/content/guide/use/_images/AD.png differ diff --git a/content/guide/use/_images/ECS.png b/content/guide/use/_images/ECS.png new file mode 100644 index 00000000..8eef64df Binary files /dev/null and b/content/guide/use/_images/ECS.png differ diff --git a/content/guide/use/_images/ECS2.png b/content/guide/use/_images/ECS2.png new file mode 100644 index 00000000..31090dbd Binary files /dev/null and b/content/guide/use/_images/ECS2.png differ diff --git a/content/guide/use/_images/ECS3.png b/content/guide/use/_images/ECS3.png new file mode 100644 index 00000000..d81d0512 Binary files /dev/null and b/content/guide/use/_images/ECS3.png differ diff --git a/content/guide/use/_images/ECS4.png b/content/guide/use/_images/ECS4.png new file mode 100644 index 00000000..bcb45222 Binary files /dev/null and b/content/guide/use/_images/ECS4.png differ diff --git a/content/guide/use/_images/ECS5.png b/content/guide/use/_images/ECS5.png new file mode 100644 index 00000000..66798cdd Binary files /dev/null and b/content/guide/use/_images/ECS5.png differ diff --git a/content/guide/use/_images/ECS6.png b/content/guide/use/_images/ECS6.png new file mode 100644 index 00000000..6077e632 Binary files /dev/null and b/content/guide/use/_images/ECS6.png differ diff --git a/content/guide/use/_images/ECS7.png b/content/guide/use/_images/ECS7.png new file mode 100644 index 00000000..8b82f1b9 Binary files /dev/null and b/content/guide/use/_images/ECS7.png differ diff --git a/content/guide/use/_images/ECS8.png b/content/guide/use/_images/ECS8.png new file mode 100644 index 00000000..e31ad00a Binary files /dev/null and b/content/guide/use/_images/ECS8.png differ diff --git a/content/guide/use/_images/HTTP.png b/content/guide/use/_images/HTTP.png new file mode 100644 index 00000000..61e5ddb2 Binary files /dev/null and b/content/guide/use/_images/HTTP.png differ diff --git a/content/guide/use/_images/HTTP2.png b/content/guide/use/_images/HTTP2.png new file mode 100644 index 00000000..3da3707b Binary files /dev/null and b/content/guide/use/_images/HTTP2.png differ diff --git a/content/guide/use/_images/SSH.png b/content/guide/use/_images/SSH.png new file mode 100644 index 00000000..648f9bc2 Binary files /dev/null and b/content/guide/use/_images/SSH.png differ diff --git a/content/guide/use/_images/SSH2.png b/content/guide/use/_images/SSH2.png new file mode 100644 index 00000000..74179b40 Binary files /dev/null and b/content/guide/use/_images/SSH2.png differ diff --git a/content/guide/use/_images/SSH3.png b/content/guide/use/_images/SSH3.png new file mode 100644 index 00000000..ca078bdf Binary files /dev/null and b/content/guide/use/_images/SSH3.png differ diff --git a/content/guide/use/_images/SSH4.png b/content/guide/use/_images/SSH4.png new file mode 100644 index 00000000..fb369f08 Binary files /dev/null and b/content/guide/use/_images/SSH4.png differ diff --git a/content/guide/use/_images/SSH5.png b/content/guide/use/_images/SSH5.png new file mode 100644 index 00000000..e8aea5bc Binary files /dev/null and b/content/guide/use/_images/SSH5.png differ diff --git a/content/guide/use/_images/SSH6.png b/content/guide/use/_images/SSH6.png new file mode 100644 index 00000000..3f3e23d9 Binary files /dev/null and b/content/guide/use/_images/SSH6.png differ diff --git a/content/guide/use/_images/SSH7.png b/content/guide/use/_images/SSH7.png new file mode 100644 index 00000000..fe73876e Binary files /dev/null and b/content/guide/use/_images/SSH7.png differ diff --git a/content/guide/use/_images/VPC.png b/content/guide/use/_images/VPC.png new file mode 100644 index 00000000..1d7b2ceb Binary files /dev/null and b/content/guide/use/_images/VPC.png differ diff --git a/content/guide/use/_images/VPC2.png b/content/guide/use/_images/VPC2.png new file mode 100644 index 00000000..4ec6873c Binary files /dev/null and b/content/guide/use/_images/VPC2.png differ diff --git a/content/guide/use/_images/VPC3.png b/content/guide/use/_images/VPC3.png new file mode 100644 index 00000000..a030386f Binary files /dev/null and b/content/guide/use/_images/VPC3.png differ diff --git a/content/guide/use/_images/VPC4.png b/content/guide/use/_images/VPC4.png new file mode 100644 index 00000000..0b97c8c5 Binary files /dev/null and b/content/guide/use/_images/VPC4.png differ diff --git a/content/guide/use/_images/VPC5.png b/content/guide/use/_images/VPC5.png new file mode 100644 index 00000000..65af1a4a Binary files /dev/null and b/content/guide/use/_images/VPC5.png differ diff --git a/content/guide/use/_images/VPC6.png b/content/guide/use/_images/VPC6.png new file mode 100644 index 00000000..9715f6ba Binary files /dev/null and b/content/guide/use/_images/VPC6.png differ diff --git a/content/guide/use/_images/VPC7.png b/content/guide/use/_images/VPC7.png new file mode 100644 index 00000000..20a23edd Binary files /dev/null and b/content/guide/use/_images/VPC7.png differ diff --git a/content/guide/use/_images/anquanzu.png b/content/guide/use/_images/anquanzu.png new file mode 100644 index 00000000..b7a44a67 Binary files /dev/null and b/content/guide/use/_images/anquanzu.png differ diff --git a/content/guide/use/_images/anquanzu2.png b/content/guide/use/_images/anquanzu2.png new file mode 100644 index 00000000..27f04a2a Binary files /dev/null and b/content/guide/use/_images/anquanzu2.png differ diff --git a/content/guide/use/_images/guiz.png b/content/guide/use/_images/guiz.png new file mode 100644 index 00000000..6892e427 Binary files /dev/null and b/content/guide/use/_images/guiz.png differ diff --git a/content/guide/use/_images/guiz2.png b/content/guide/use/_images/guiz2.png new file mode 100644 index 00000000..83ae4781 Binary files /dev/null and b/content/guide/use/_images/guiz2.png differ diff --git a/content/guide/use/_images/guiz3.png b/content/guide/use/_images/guiz3.png new file mode 100644 index 00000000..41f17a09 Binary files /dev/null and b/content/guide/use/_images/guiz3.png differ diff --git a/content/guide/use/_images/guiz4.png b/content/guide/use/_images/guiz4.png new file mode 100644 index 00000000..61b3f65b Binary files /dev/null and b/content/guide/use/_images/guiz4.png differ diff --git a/content/guide/use/_images/guiz5.png b/content/guide/use/_images/guiz5.png new file mode 100644 index 00000000..2933ab4e Binary files /dev/null and b/content/guide/use/_images/guiz5.png differ diff --git a/content/guide/use/_images/guiz6.png b/content/guide/use/_images/guiz6.png new file mode 100644 index 00000000..13b137b8 Binary files /dev/null and b/content/guide/use/_images/guiz6.png differ diff --git a/content/guide/use/_images/peie.png b/content/guide/use/_images/peie.png new file mode 100644 index 00000000..e3649533 Binary files /dev/null and b/content/guide/use/_images/peie.png differ diff --git a/content/guide/use/_index.md b/content/guide/use/_index.md new file mode 100644 index 00000000..15edd039 --- /dev/null +++ b/content/guide/use/_index.md @@ -0,0 +1,64 @@ +--- +title: "使用指南" +linkTitle: "使用指南" +weight: 1 +collapsible: true +type: "product" + +section1: + title: 使用指南 + vice_title: 用户初次使用云平台资源时可通过此指南快速创建资源。 + #video: "" + #video_img: "/images/video.png" + +Section2: + title: 用户指南 + children: + - title: 资源简介 + content: 登录方式及资源使用说明 + url: "intro/introduction/" + + - title: 操作指南 + content: 学习初次使用云资源创建流程。 + url: "manual/operation/" + +section3: + title: 开发者指南 + children: + - title: API 文档 + content: 如何使用 API 文档 + url: "/development_docs/api/" + + - title: SDK 文档 + content: 如何使用 SDK 文档 + url: "/development_docs/sdk/" + + - title: CLI 文档 + content: 如何使用 CLI 文档 + url: "/development_docs/cli/" + +section4: + children: + - title: 了解 + content: 山河云平台各资源介绍 + vice_title: 了解的第一步 + children: + - title: 资源介绍 + url: "intro/introduction/" + + - title: 进阶 + content: 学习初次使用云资源创建流程 + vice_title: 上手的第一步 + children: + - title: 云资源创建流程 + url: "manual/operation/" + + +--- + + + + + + + \ No newline at end of file diff --git a/content/guide/use/intro/_index.md b/content/guide/use/intro/_index.md new file mode 100644 index 00000000..72fb030c --- /dev/null +++ b/content/guide/use/intro/_index.md @@ -0,0 +1,8 @@ +--- +title: "资源简介" +linkTitle: "资源简介" +_build: + render: false +weight: 5 +collapsible: true +--- diff --git a/content/guide/use/intro/introduction.md b/content/guide/use/intro/introduction.md new file mode 100644 index 00000000..417f3c7d --- /dev/null +++ b/content/guide/use/intro/introduction.md @@ -0,0 +1,121 @@ +--- +title: "云平台登录方式及资源使用说明" +description: 云平台登录方式及资源使用说明 +draft: false +weight: 3 +keyword: 登录, 资源,使用说明 +--- + +## 1.云平台登录方式 + + 平台登陆地址为公网地址,所有用户均可访问。
+ 登陆地址:[https://console.shanhe.com/login](https://console.shanhe.com/login) + +## 2.资源配额介绍 + + 为防止资源滥用,山河云限定了各服务资源的配额,对用户的资源数量和容量做了限制,如最多可以创建多少台云服务器等。如果当前资源配额无法满足使用需要,需要申请扩大配额。 + 例如:创建一台规格为**4核CPU 4G内存**的云服务器需要满足以下配额需求:
+> 基础型云服务器(个): 1
+> 基础型 CPU(核): 4
+> 基础型内存(GB): 4
+ + 登录管理控制台后,在主页顶部的导航栏,点击**资源**,然后在下拉菜单中,选择**我的配额**,即可查看当前账户下的全局以及各分区资源配额,以及各分区的资源配额使用情况。 + +![](../../_images/peie.png) + + 在配额的详情页,查看资源后的数值,其中"/“左边的数值表示已使用的配额,”/“右边的数值表示账户所支持的总配额。 + + 例如:1/10,1表示已使用资源,10表示资源配额。当已使用资源不足时,左边显示条会从绿色变为红色,提示您需要申请资源配额。 + + 击右侧的申请配额提交工单,以提升资源的配额。在工单页面,需要告知我们申请提高配额的理由。提交的工单通过我们的审理之后,我们会更新您的配额并进行通知。关于工单的详细操作,可参见[工单服务](/services/tickets/manual/operation/)。 + +## 3.常用资源介绍 + +### 安全组 ### + +- 安全组是一种虚拟防火墙,用户可以在安全组中定义各种访问规则,这些访问规则称为安全组规则,安全组便是一系列安全组规则的集合。
+- 为了加强云服务器或路由器的安全性,可以在云服务器或VPC网络之前放置一个安全组对网络访问进行控制,过滤不安全的服务,从而降低内部网络或云服务器的风险。
+- 安全组可以绑定的实例类型有:云服务器、网卡、负载均衡器、VPC 网络、NAT 网关、AppCenter 应用集群。
+- 系统会为每个用户创建一个默认安全组,默认安全组可直接使用。用户也可以根据需要创建自定义的安全组。
+- 关于安全组的详细介绍,可参见[安全组](/security/security_group/)。 + +> 云服务器需要打开哪些端口:
+> 根据使用场景而定,比如Linux操作系统远程登录需要放通22端口,Windows远程登录需要打开3389端口,使用ping需要打开 ICMP 协议。 + + **基本使用流程:** + +
+ +
+ +### VPC ### +- **VPC 网络**,即虚拟专属私有网络(Virtual Private Cloud,以下简称 VPC 网络)是为用户在云上构建的私有网络空间,为用户创建的云资源提供隔离的虚拟网络环境,可以在自己创建的 VPC 内创建和管理云资源,例如云服务器、负载均衡器等。不同 VPC 网络之间逻辑隔离,以保障用户云上资源的安全性。在 VPC 网络内,可以自定义 IP 地址段、路由表、安全策略等,快速部署及灵活管理属于自己的云上网络。 + +- **私有网络**是 VPC 网络中的子网,用于云资源之间互联,它类似物理交换机 (L2Switch) 组成的局域网,同一 VPC 网络内的私有网络之间内网互通,不同用户的私有网络之间完全隔离。创建 VPC 网络时,需至少创建并连接一个私有网络。可以将应用部署在不同可用区的私有网络内,提高应用的可用性。 + + VPC新建完成后会生成一个专有的内网IP地址,此IP可以通过连接山河VPN打通用户本地网络。
+ + 登录管理控制台后,在主页顶部的导航栏,点击**产品与服务**,然后在下拉菜单中,选择**VPC网络**,即可查看当前账户在此zone下的所有VPC网络信息 + + ![](../../_images/VPC.png) + +> 在新建资源时,推荐将隶属于同一项目、无特殊隔离要求的云上资源添加到同一VPC网络下,并通过:
+> 1.安全组放行下行端口
+> 2.VPC网络端口转发
+> 两项功能控制对外提供服务,保障云内资源安全,节省公网IP资源。 +> 操作示例可参见[使用示例](/guide/use/manual/operation/)。 + +### 云服务器 ### +- 山河 IaaS 平台所交付的云服务器服务,是云计算的核心业务,也是用户最为关心的计算的核心 +- 云服务器创建时网络选择支持 VPC 私有网络和基础网络,标准化交付中推荐使用**VPC私有网络**##** +- 关于云服务器的详细介绍及高频问题处理,可参见[云服务器](/compute/vm/intro/)。 + +- 云服务器新建完成后会生成一个虚拟机内网IP地址(VPC网络下),此IP仅可在当前VPC下与其他设备互通。
+ +- 登录管理控制台后,在主页顶部的导航栏,点击**产品与服务**,然后在下拉菜单中,选择**VPC网络**,找到新建云服务器时所选择的VPC网络,点击VPC网络名称,进入具体VPC网络内部,在**私有网络标**签项下找到所使用的私有网络,即可查看此云服务器信息与当前网络下可互通资源信息(相同VPC下不同私有网络互通)。 + + ![](../../_images/ECS.png) + +### 云硬盘 ### + + 云服务器的块存储产品,采用多副本的分布式机制,具有低时延、高性能、持久性、高可靠等性能,可以随时创建或释放,也可以随时[扩容](https://docsv3.shanhe.com/storage/disk/manual/expand/expan_linux/)。 + + 根据硬盘的创建方式及生命周期,硬盘可分为**系统盘**和**数据盘**。 + + - 系统盘:系统盘用来存储云服务器运行的操作系统,随着云服务器的创建而自动创建,云服务器的删除而自动删除。系统盘在创建时将自动初始化,默认磁盘分区形式为主启动记录分区(MBR)。 + + - 数据盘:数据盘用来存储数据,拥有独立于云服务器的生命周期,建议在购买云服务器的同时一起购买,会自动将数据盘挂载到云服务器。 + 也可单独购买云硬盘,提供给已有云服务器使用,但**需要手动挂载到云服务器并初始化**。详见[加载硬盘](/storage/disk/quickstart/load/)
+ + 山河目前针对于数据盘向用户提供了通用型SSD和容量型两种: + + | 类型 | 通用型SSD云盘 | 容量型云盘 | + | --------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | + | 曾用名 | 企业级分布式SAN(NeonSAN) | 容量型硬盘 | - | + | 容量 | 20~24000 GB | 20~32000 GB | + | 区域及可用区 | 山河计算平台
齐鲁工大计算平台 | 山河计算平台
齐鲁工大计算平台 | + | 适用主机类型 | 所有 | 所有 | + | 单盘最大吞吐 | 350 MB/S | 150 MB/S | + | 单盘吞吐性能 | min{128 + 0.5 * 容量, 350} MBps | min{100+0.15*容量, 150} MBps | + | 单盘最大IOPS | 50000 | 5500 | + | 单盘IOPS性能 | min{2000 + 50 * 容量, 50000} | min{1800 + 8 * 容量, 5500} | + | 时延 | 0.3 ms | 0.5 ms | + | 适用场景 | 高性能,适合对吞吐和延时有一定要求的企业级场景 | 高性价比,适合中等性能要求的中小型建站等场景 | + +### 负载均衡器 ### + +- 负载均衡器可以将来自多个公网地址的访问流量分发到多台云服务器上,突破单个负载均衡器节点的能力瓶颈,可以随时通过添加或删减云服务器来调整负载业务端口的服务能力,并且进行这些操作的同时并不影响业务的正常访问。 +- 支持自动检测并隔离不可用的云服务器,从而提高业务的服务能力和可用性。 +- 支持包括 TCP/UDP 协议的四层代理和 HTTP/HTTPS/SSL 协议的七层代理。 并且四层、七层都支持透明代理,可以让后端云服务器不做任何更改,直接获取客户端真实IP。 +- 负载均衡器还支持灵活配置多种转发策略,实现高级的自定义转发控制功能。 +- 关于负载均衡器的详细介绍,可参见[负载均衡器](/network/loadbalancer/)。 + + ![](../../_images/AD.png) + + + ### 公网地址(EIP) ### + + 弹性公网IP为云平台资源提供互联网访问的能力,可以灵活绑定及解绑,随时修改带宽和计费模式。 + 在申请公网IP前,应通过[工单服务](/services/tickets/manual/operation/)或山河通提交需求工单审核,审核通过通过后将有工程师配合申请公网IP。 + + diff --git a/content/guide/use/manual/_index.md b/content/guide/use/manual/_index.md new file mode 100644 index 00000000..e14653c6 --- /dev/null +++ b/content/guide/use/manual/_index.md @@ -0,0 +1,8 @@ +--- +title: "操作指南" +linkTitle: "操作指南" +_build: + render: false +weight: 50 +collapsible: true +--- diff --git a/content/guide/use/manual/operation.md b/content/guide/use/manual/operation.md new file mode 100644 index 00000000..89a4232b --- /dev/null +++ b/content/guide/use/manual/operation.md @@ -0,0 +1,215 @@ +--- +title: "云资源标准化交付流程" +description: test +weight: 2 +draft: false +--- + +本节提供山河公有云标准化资源交付流程,参考本节可在对云平台资源暂不了解的前提下完成标准化交付。 +> 注:标准化交付以快速,安全,标准的原则进行,不涉及任何定制化操作。 + +## 需求示例 + +**前提要求:** + +>已有山河云console(控制台)账户
+>登录地址:[https://console.shanhe.com/login](https://console.shanhe.com/login)
+>已有山河云EasyConnect(VPN)账户
+>登录地址:[https://124.128.58.194:4433](https://124.128.58.194:4433) + +需求:创建一台云服务器,配置要求为 **4核CPU 4G内存,50G系统盘,100G数据盘,CentOS7.9系统**。
+要求虚机可以访问互联网,在用户本机可以ping通虚机,可以通过SSH登录虚机,虚机中有http服务,需要公网地址80端口上线,以提供对外访问。 + +## 查看配额 + +登陆控制台后,在[配额](/guide/use/intro/introduction/#2资源配额介绍)界面查看当前账户所拥有资源配额是否满足需求。 + +根据当前需求可判断需要配额为: +1. 网络:
+ VPC 网络 (个) >= 1
+ 私有网络 (个) >= 1
+ 公网IP (个) >= 1
+ 公网IP总带宽 (Mbps) >= 1 +2. 计算:
+ 基础型云服务器 (个) >= 1
+ 基础型CPU (核) >= 4
+ 基础型内存 (GB) >= 4
+3. 存储:
+ 容量型云盘(6) (块) >= 1
+ 容量型云盘(6)容量 (GB) >= 100
+4. 安全:
+ 安全组 (个) >= 1
+ +如配额满足可进行下一步资源创建,如部分资源配额不如,可提[工单服务](/services/tickets/manual/operation/)申请资源配额。 + +## 资源创建 + +### 创建VPC + +登录管理控制台后,在主页顶部的导航栏,点击**产品与服务**,然后在下拉菜单中,选择**VPC网络**,选择**创建VPC网络**。 + +弹出创建VPC网络界面后,**区域**选择山河云计算平台,**名称**自由设置,建议设置为项目名称,**IPv4地址范围**、**IPv6地址范围**、**类型**一般无需设置,默认即可。**公网IP**选择暂不绑定
**安全组**选择**新建安全组**, +![](../../_images/VPC2.png) + +### 创建安全组 + +此时浏览器会自动新建标签页,打开安全组页面。在安全组页面点击蓝色**创建按钮**,输入安全组名称,建议使用项目名称,组内互信默认打开无需更改。 +
+ +
+ +创建完安全组后进入所创建安全组规则界面,点击蓝色添加规则按钮,弹出添加规则界面: + +![](../../_images/guiz.png) + +根据需求描述,需要放通外部访问虚机的22端口、80端口以及ICMP报文,依次创建三条下行规则:
+对于常用端口云平台拥有快捷配置模版,点击右侧快捷方式下的ssh,填写自定义名称,点击提交。 +>默认SSH协议使用22端口,http业务使用80端口,ping需要放行ICMP报文
+>外部访问虚机方向为下行 + +![](../../_images/guiz2.png) + +再次蓝色添加规则按钮,点击右侧快捷方式下的http,填写自定义名称,点击提交。 + +![](../../_images/guiz3.png) + +再次蓝色添加规则按钮,点击右侧快捷方式下的ping,填写自定义名称,点击提交。 + +![](../../_images/guiz4.png) + +添加完安全组规则后,点击蓝色 应用修改:按钮,提示信息点击确认。 + +![](../../_images/guiz5.png) + +等待右上角提示应用修改完毕后安全组创建完毕。 + +
+ +
+ +**浏览器返回新建VPC网络标签页**,点击安全组后的刷新按钮后,选择上述已新建安全组: + +
+ +
+ +
+ +向下划动,在初始私有网络界面填写自定义名称,建议为项目名称,IPv4地址范围与网络ACL无需改动。 + +![](../../_images/VPC4.png) + +点击立即创建,等待右上角提示VPC创建完成。 + +
+ +
+ + 查看VPC内网IP地址,提交工单申请,申请所拥有VPN账号添加访问此内网IP权限,如需访问互联网,一并申请此内网IP访问互联网权限。 + +![](../../_images/SSH.png) + +### 创建云服务器 + +在主页顶部的导航栏,点击**产品与服务**,然后在下拉菜单中,选择**VPC网络**,点击上述新建VPC网络名称,进入具体VPC网络内部: + +![](../../_images/VPC6.png) + +默认展示新建私有网络项,在资源列表下点击**创建资源**,选择**云服务器**,进入创建云服务器界面: + +![](../../_images/VPC7.png) + +区域选择山河计算平台,依据需求选择规格为基础型4核4G,镜像选择CentOS7.9,系统盘为50G + +![](../../_images/ECS2.png) + +数据盘下选择新建数据盘,点击加号: + +
+ +
+ + 弹出新建数据盘选项后,下拉选择容量型,大小选择100G。勾选自动格式化,数据盘将自动挂载到新建云服务器。 + +
+ +
+ +点击蓝色下一步按钮,进入网络配置界面,默认选择为上述新建VPC网络下私有网络,无需进行其他配置。 + +
+ +
+ +点击蓝色下一步按钮,进入系统配置界面,设置云服务器名称,选择登录方式为密码,设置云服务器密码(CentOS系统初始用户名为root)。 + +![](../../_images/ECS6.png) + +右侧预览界面,选择计费方式,两种计费方式详见[计费模式](/compute/vm/billing/reserved_contract/),选择完毕后,点击创建主机,等待右上角提示云服务器创建完成。 + +
+ +
+ +### SSH连接云服务器 +创建完云服务器后,用户如需本地客户端登录(XShell、SecureCRT),需要用户使用VPC内网IP进行端口转发登录。 + +在主页顶部的导航栏,点击**产品与服务**,然后在下拉菜单中,选择**VPC网络**,点击上述新建VPC网络名称,进入VPC网络内部,找到内网IP地址: + +![](../../_images/SSH.png) + + 确保已登录山河云EasyConnect(VPN),且账户拥有此内网IP访问权限,如没有需提交工单申请权限。 + +查看新建云服务器IP地址: + +![](../../_images/SSH2.png) + +点击管理配置,点击添加规则,添加端口转发: + +![](../../_images/SSH3.png) + +名称自定义;协议按需选择,SSH使用TCP;源端口为外部访问端口,当前只有一台虚机需要使用SSH,可直接填写22;内网IP为新建云服务器IP;内网端口为22。点击提交。 + +![](../../_images/SSH4.png) + +提交完成后,在右上角点击蓝色 应用修改:按钮,等待更新完成。 + +
+ +
+ +在本地终端使用SSH连接VPC内网地址,端口为22,账号密码为新建云服务器账密,输入yes,云服务器密码,云服务器本地登录成功。 + +![](../../_images/SSH6.png) + +### HTTP服务上线公网 + +云服务器本地开启http服务,以80端口为例,服务开启过程不再赘述: + +![](../../_images/SSH7.png) + +同样去VPC管理配置,添加口转发规则, 应用修改: + +![](../../_images/HTTP.png) + +此时在本地浏览器输入VPC内网IP地址加80端口,可以访问新建云服务器HTTP业务: + +![](../../_images/HTTP2.png) + +**此时业务必须用户登录特定权限VPN才能访问,如需业务能够从互联网直接访问,需要申请公网IP(EIP),并且通过上线检测:** + +**1.申请公网地址:** + +公网IP地址不能随意申请使用,在申请前需要在山河通提出申请,流程审批通过之后,会有工程师联系,协助开放公网IP配额和申请公网地址。 + +**2.业务端口上线检测:** + +业务如有公网访问需求(拥有互联网访问入口),在上线前需要进行上线检测,有web界面的端口需要进行漏洞扫描和渗透测试,无web界面的端口只需要进行漏洞扫描。 + +提交工单申请,申请上线检测,提交工单时提供以下信息: +1.业务系统名称 +2.业务地址URL(是否为web页面) +3.测试所用账号/密码 +4.已申请公网地址及所使用端口 + +提交上线检测后,1-2天之内工程师回复检测报告,根据检测报告对所需修复漏洞进行修复,漏洞修复完成后联系工程师进行复测,复测通过后会直接开通公网地址业务端口。 \ No newline at end of file diff --git a/content/network/vpc/faq/openvpn_dns_push.md b/content/network/vpc/faq/openvpn_dns_push.md index 38a48618..6b245590 100644 --- a/content/network/vpc/faq/openvpn_dns_push.md +++ b/content/network/vpc/faq/openvpn_dns_push.md @@ -39,6 +39,6 @@ ipconfig /flushdns ``` [root@i-tqzv58ti ~]# cat /etc/resolv.conf # Generated by NetworkManager -search localdomain pek3.qingcloud.com +search jn1.shanhe.com nameserver 172.20.255.254 ``` \ No newline at end of file diff --git a/content/storage/disk/intro/introduction.md b/content/storage/disk/intro/introduction.md index d2e8a95a..776fa25b 100644 --- a/content/storage/disk/intro/introduction.md +++ b/content/storage/disk/intro/introduction.md @@ -33,7 +33,7 @@ keyword: 山河,硬盘,SSD ## 硬盘类型 -山河 shanhe 向用户提供了云盘包括通用型SSD和容量型两种。 +山河云向用户提供了云盘包括通用型SSD和容量型两种。 - **云盘**:云服务器的块存储产品,采用多副本的分布式机制,具有低时延、高性能、持久性、高可靠等性能,可以随时创建或释放,也可以随时扩容。 diff --git a/content/terms/appcenter/intro/intro.md b/content/terms/appcenter/intro/intro.md index 1fb3d535..54d0dc91 100755 --- a/content/terms/appcenter/intro/intro.md +++ b/content/terms/appcenter/intro/intro.md @@ -1,4 +1,4 @@ ---- + \ No newline at end of file diff --git a/content/terms/appcenter_enter/intro/intro.md b/content/terms/appcenter_enter/intro/intro.md index c4a5cd65..87b89a8e 100755 --- a/content/terms/appcenter_enter/intro/intro.md +++ b/content/terms/appcenter_enter/intro/intro.md @@ -1,4 +1,4 @@ ---- + \ No newline at end of file diff --git a/content/terms/object/intro/intro.md b/content/terms/object/intro/intro.md index 9c52eeca..5d807293 100755 --- a/content/terms/object/intro/intro.md +++ b/content/terms/object/intro/intro.md @@ -1,4 +1,4 @@ ---- + \ No newline at end of file diff --git a/content/terms/privacy/intro/intro.md b/content/terms/privacy/intro/intro.md index 25c560da..68804431 100755 --- a/content/terms/privacy/intro/intro.md +++ b/content/terms/privacy/intro/intro.md @@ -1,4 +1,4 @@ ---- + \ No newline at end of file diff --git a/content/terms/qa/intro/intro.md b/content/terms/qa/intro/intro.md index c0dc0fe1..6f41267f 100755 --- a/content/terms/qa/intro/intro.md +++ b/content/terms/qa/intro/intro.md @@ -1,4 +1,4 @@ ---- + \ No newline at end of file diff --git a/content/terms/securi/intro/intro.md b/content/terms/securi/intro/intro.md index 96cb595e..1e698244 100755 --- a/content/terms/securi/intro/intro.md +++ b/content/terms/securi/intro/intro.md @@ -1,4 +1,4 @@ ---- + \ No newline at end of file diff --git a/content/terms/service_terms/terms/intro.md b/content/terms/service_terms/terms/intro.md index 157b025c..91a4826d 100755 --- a/content/terms/service_terms/terms/intro.md +++ b/content/terms/service_terms/terms/intro.md @@ -1,4 +1,4 @@ ---- + \ No newline at end of file diff --git a/content/terms/sla/intro/intro.md b/content/terms/sla/intro/intro.md index 934a535e..1c7f436d 100755 --- a/content/terms/sla/intro/intro.md +++ b/content/terms/sla/intro/intro.md @@ -1,4 +1,4 @@ ---- + diff --git a/package-lock.json b/package-lock.json index 18451869..631e6b76 100755 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "shanhe-docs", "version": "0.0.1", "license": "ISC", "devDependencies": { diff --git a/static/images/icons/index/product-icon-mirror.svg b/static/images/icons/index/product-icon-mirror.svg new file mode 100644 index 00000000..c43202be --- /dev/null +++ b/static/images/icons/index/product-icon-mirror.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/themes/docsy/config.toml b/themes/docsy/config.toml index 89a1f5f5..69ea81fb 100755 --- a/themes/docsy/config.toml +++ b/themes/docsy/config.toml @@ -9,7 +9,7 @@ time_format_default = "2020-11-23" # Sections to publish in the main RSS feed. rss_sections = ["blog"] -#IsConsole = true +# IsConsole = true # For a full list of parameters used in Docsy sites, see: # https://github.com/google/docsy-example/blob/master/config.toml