移植指南 - huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20...

525
HPC 解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

Upload: others

Post on 24-Aug-2020

29 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

HPC 解决方案

移植指南

文档版本 01

发布日期 2020-03-20

华为技术有限公司

Page 2: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

版权所有 © 华为技术有限公司 2020。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明

和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 i

Page 3: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

目 录

1 基因测序......................................................................................................................................11.1 BLAST 2.9.0 移植指南(CentOS 7.6)...............................................................................................................................21.1.1 介绍........................................................................................................................................................................................... 21.1.2 环境要求.................................................................................................................................................................................. 31.1.3 移植规划数据..........................................................................................................................................................................41.1.4 配置编译环境..........................................................................................................................................................................41.1.5 获取源码.................................................................................................................................................................................. 41.1.6 编译和安装.............................................................................................................................................................................. 51.1.7 运行和验证.............................................................................................................................................................................. 61.1.8 更多资源.................................................................................................................................................................................. 71.2 BWA 0.7.17 移植指南(CentOS 7.6)............................................................................................................................... 71.2.1 介绍........................................................................................................................................................................................... 71.2.2 环境要求.................................................................................................................................................................................. 71.2.3 移植规划数据..........................................................................................................................................................................81.2.4 配置编译环境..........................................................................................................................................................................91.2.5 获取源码.................................................................................................................................................................................. 91.2.6 编译和安装.............................................................................................................................................................................. 91.2.7 运行和验证........................................................................................................................................................................... 101.3 CNVnator 0.4.1 移植指南(CentOS 7.6)..................................................................................................................... 111.3.1 介绍........................................................................................................................................................................................ 111.3.2 环境要求................................................................................................................................................................................ 111.3.3 移植规划数据....................................................................................................................................................................... 121.3.4 配置编译环境....................................................................................................................................................................... 131.3.4.1 安装预装包及依赖库.......................................................................................................................................................131.3.4.2 安装 cmake....................................................................................................................................................................... 141.3.4.3 安装 samtools.................................................................................................................................................................. 141.3.4.4 安装 ROOT 工具包.......................................................................................................................................................... 151.3.5 获取源码................................................................................................................................................................................ 161.3.6 编译和安装........................................................................................................................................................................... 161.3.7 运行和验证........................................................................................................................................................................... 161.3.8 故障排除................................................................................................................................................................................ 171.3.9 更多资源................................................................................................................................................................................ 191.4 Cufflinks 2.2.1 移植指南(CentOS 7.6)....................................................................................................................... 19

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 ii

Page 4: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.4.1 介绍........................................................................................................................................................................................ 191.4.2 环境要求................................................................................................................................................................................ 191.4.3 移植规划数据....................................................................................................................................................................... 201.4.4 配置编译环境....................................................................................................................................................................... 211.4.4.1 安装 Boost......................................................................................................................................................................... 211.4.4.2 安装 samtools.................................................................................................................................................................. 221.4.4.3 安装 htslib......................................................................................................................................................................... 231.4.4.4 安装 Eigen......................................................................................................................................................................... 241.4.5 获取源码................................................................................................................................................................................ 241.4.6 编译和安装........................................................................................................................................................................... 251.4.7 运行和验证........................................................................................................................................................................... 251.4.8 故障排除................................................................................................................................................................................ 261.4.9 更多资源................................................................................................................................................................................ 281.5 GATK 4.0.0.0 移植指南(CentOS 7.6).......................................................................................................................... 281.5.1 介绍........................................................................................................................................................................................ 281.5.2 环境要求................................................................................................................................................................................ 291.5.3 移植规划数据....................................................................................................................................................................... 301.5.4 配置编译环境....................................................................................................................................................................... 301.5.4.1 安装依赖包........................................................................................................................................................................ 311.5.4.2 安装 blat............................................................................................................................................................................ 311.5.4.3 安装 BWA.......................................................................................................................................................................... 321.5.4.4 安装 samtools.................................................................................................................................................................. 331.5.5 获取源码................................................................................................................................................................................ 331.5.6 编译和安装........................................................................................................................................................................... 341.5.7 运行和验证........................................................................................................................................................................... 341.5.7.1 GATK4 Spark 模式运行................................................................................................................................................. 341.5.7.2 GATK4 非 Spark 模式运行............................................................................................................................................ 411.5.8 故障排除................................................................................................................................................................................ 421.5.9 更多资源................................................................................................................................................................................ 421.6 HISAT2 2.1.0 移植指南(CentOS 7.6).......................................................................................................................... 431.6.1 介绍........................................................................................................................................................................................ 431.6.2 环境要求................................................................................................................................................................................ 431.6.3 移植规划数据....................................................................................................................................................................... 441.6.4 配置编译环境....................................................................................................................................................................... 451.6.5 获取源码................................................................................................................................................................................ 451.6.6 编译和安装........................................................................................................................................................................... 451.6.7 运行和验证........................................................................................................................................................................... 471.6.8 更多资源................................................................................................................................................................................ 491.7 STAR 2.7.1a 移植指南(CentOS 7.6)............................................................................................................................ 491.7.1 介绍........................................................................................................................................................................................ 491.7.2 环境要求................................................................................................................................................................................ 501.7.3 移植规划数据....................................................................................................................................................................... 51

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 iii

Page 5: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.7.4 配置编译环境....................................................................................................................................................................... 511.7.5 获取源码................................................................................................................................................................................ 521.7.6 编译和安装........................................................................................................................................................................... 521.7.7 运行和验证........................................................................................................................................................................... 531.7.8 更多资源................................................................................................................................................................................ 541.8 Tophat2 2.1.1 移植指南(CentOS 7.6)........................................................................................................................ 541.8.1 介绍........................................................................................................................................................................................ 541.8.2 环境要求................................................................................................................................................................................ 541.8.3 移植规划数据....................................................................................................................................................................... 551.8.4 配置编译环境....................................................................................................................................................................... 561.8.4.1 安装 bowtie2.................................................................................................................................................................... 561.8.4.2 安装 boost......................................................................................................................................................................... 571.8.5 获取源码................................................................................................................................................................................ 571.8.6 编译和安装........................................................................................................................................................................... 581.8.7 运行和验证........................................................................................................................................................................... 591.8.8 更多资源................................................................................................................................................................................ 601.9 Bowtie2 2.4.1 移植指南(CentOS 7.6).........................................................................................................................601.9.1 介绍........................................................................................................................................................................................ 601.9.2 环境要求................................................................................................................................................................................ 611.9.3 移植规划数据....................................................................................................................................................................... 621.9.4 配置编译环境....................................................................................................................................................................... 621.9.4.1 安装 Python3....................................................................................................................................................................621.9.5 获取源码................................................................................................................................................................................ 631.9.6 编译和安装........................................................................................................................................................................... 631.9.6.1 安装 bowtie2.................................................................................................................................................................... 631.9.6.2 bowtie2 自建索引........................................................................................................................................................... 641.9.7 运行和验证........................................................................................................................................................................... 651.9.8 更多资源................................................................................................................................................................................ 651.10 FastQC 0.11.9 移植指南(CentOS 7.6)......................................................................................................................651.10.1 介绍...................................................................................................................................................................................... 651.10.2 环境要求............................................................................................................................................................................. 651.10.3 移植规划数据.....................................................................................................................................................................661.10.4 配置编译环境.....................................................................................................................................................................671.10.4.1 安装 JDK1.8.................................................................................................................................................................... 671.10.4.2 安装 GUI 图形界面........................................................................................................................................................681.10.5 获取源码............................................................................................................................................................................. 681.10.6 编译和安装......................................................................................................................................................................... 681.10.7 运行和验证......................................................................................................................................................................... 691.10.8 更多资源............................................................................................................................................................................. 721.11 Beagle 5.1 移植指南(CentOS 7.6)............................................................................................................................ 721.11.1 介绍...................................................................................................................................................................................... 721.11.2 环境要求............................................................................................................................................................................. 72

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 iv

Page 6: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.11.3 移植规划数据.....................................................................................................................................................................731.11.4 配置编译环境.....................................................................................................................................................................741.11.4.1 JAVA 环境搭建............................................................................................................................................................... 741.11.5 获取源码............................................................................................................................................................................. 751.11.6 运行和验证......................................................................................................................................................................... 751.11.7 更多资源............................................................................................................................................................................. 761.12 Bowtie 1.2.3 移植指南(CentOS 7.6).........................................................................................................................761.12.1 介绍...................................................................................................................................................................................... 761.12.2 环境要求............................................................................................................................................................................. 771.12.3 移植规划数据.....................................................................................................................................................................781.12.4 配置编译环境.....................................................................................................................................................................781.12.5 获取源码............................................................................................................................................................................. 791.12.6 编译和安装......................................................................................................................................................................... 791.12.6.1 安装 Bowtie.................................................................................................................................................................... 791.12.6.2 Bowtie 自建索引........................................................................................................................................................... 811.12.7 运行和验证......................................................................................................................................................................... 811.12.8 故障排除............................................................................................................................................................................. 821.12.9 更多资源............................................................................................................................................................................. 821.13 pblat 2.1 移植指南(CentOS 7.6)............................................................................................................................... 821.13.1 介绍...................................................................................................................................................................................... 821.13.2 环境要求............................................................................................................................................................................. 831.13.3 移植规划数据.....................................................................................................................................................................831.13.4 配置编译环境.....................................................................................................................................................................841.13.5 获取源码............................................................................................................................................................................. 841.13.6 编译和安装......................................................................................................................................................................... 841.13.7 运行和验证......................................................................................................................................................................... 851.13.8 故障排除............................................................................................................................................................................. 861.13.9 更多资源............................................................................................................................................................................. 861.14 SnpEffB V4_3 移植指南(CentOS 7.6).......................................................................................................................861.14.1 介绍...................................................................................................................................................................................... 871.14.2 环境要求............................................................................................................................................................................. 871.14.3 移植规划数据.....................................................................................................................................................................881.14.4 配置编译环境.....................................................................................................................................................................881.14.5 获取源码............................................................................................................................................................................. 891.14.6 编译和安装......................................................................................................................................................................... 891.14.7 测试与验证......................................................................................................................................................................... 891.14.8 更多资源............................................................................................................................................................................. 901.15 Velvet 1.2.10 移植指南(CentOS 7.6).......................................................................................................................... 901.15.1 介绍...................................................................................................................................................................................... 901.15.2 环境要求............................................................................................................................................................................. 911.15.3 移植规划数据.....................................................................................................................................................................911.15.4 配置编译环境.....................................................................................................................................................................92

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 v

Page 7: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.15.5 获取源码............................................................................................................................................................................. 921.15.6 编译和安装......................................................................................................................................................................... 921.15.7 运行和验证......................................................................................................................................................................... 931.15.8 更多资源............................................................................................................................................................................. 941.16 XHMM 移植指南(CentOS 7.6)..................................................................................................................................... 941.16.1 介绍...................................................................................................................................................................................... 941.16.2 环境要求............................................................................................................................................................................. 951.16.3 移植规划数据.....................................................................................................................................................................961.16.4 配置编译环境.....................................................................................................................................................................961.16.4.1 安装 OpenBLAS............................................................................................................................................................. 971.16.4.2 安装 lapack..................................................................................................................................................................... 971.16.5 获取源码............................................................................................................................................................................. 981.16.6 编译和安装......................................................................................................................................................................... 981.16.7 运行和验证......................................................................................................................................................................... 991.17 pysam 0.15.4 移植指南(CentOS 7.6)....................................................................................................................... 1001.17.1 介绍....................................................................................................................................................................................1001.17.2 环境要求........................................................................................................................................................................... 1001.17.3 移植规划数据.................................................................................................................................................................. 1011.17.4 配置编译环境.................................................................................................................................................................. 1021.17.4.1 安装 Python 解释器................................................................................................................................................... 1021.17.4.2 安装 Cython 包............................................................................................................................................................1031.17.5 获取源码........................................................................................................................................................................... 1031.17.6 编译和安装.......................................................................................................................................................................1031.17.7 运行和验证.......................................................................................................................................................................1041.17.8 故障排除........................................................................................................................................................................... 1041.17.9 更多资源........................................................................................................................................................................... 1051.18 Abyss 2.2.4 移植指南(CentOS 7.6)........................................................................................................................... 1051.18.1 介绍....................................................................................................................................................................................1051.18.2 环境要求........................................................................................................................................................................... 1051.18.3 移植规划数据.................................................................................................................................................................. 1061.18.4 配置编译环境.................................................................................................................................................................. 1071.18.5 获取源码........................................................................................................................................................................... 1071.18.6 编译和安装.......................................................................................................................................................................1081.18.7 运行和验证.......................................................................................................................................................................1081.19 Chaste 2019.1 移植指南(CentOS 7.6)...................................................................................................................1101.19.1 介绍....................................................................................................................................................................................1101.19.2 环境要求........................................................................................................................................................................... 1101.19.3 移植规划数据.................................................................................................................................................................. 1131.19.4 配置编译环境.................................................................................................................................................................. 1141.19.4.1 安装 xerces、python-dateutil................................................................................................................................ 1151.19.4.2 安装 PETSC................................................................................................................................................................... 1151.19.4.3 安装 BOOST................................................................................................................................................................. 117

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 vi

Page 8: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.19.4.4 安装 Python................................................................................................................................................................. 1171.19.4.5 安装 Amara.................................................................................................................................................................. 1181.19.4.6 安装 xsd.........................................................................................................................................................................1181.19.4.7 安装 rdflib.....................................................................................................................................................................1191.19.4.8 安装 vtk......................................................................................................................................................................... 1191.19.4.9 安装 lxml.......................................................................................................................................................................1201.19.4.10 安装 OpenBLAS........................................................................................................................................................ 1201.19.5 获取源码........................................................................................................................................................................... 1211.19.6 编译和安装.......................................................................................................................................................................1211.19.7 运行和验证.......................................................................................................................................................................1221.19.8 故障排除........................................................................................................................................................................... 1231.19.9 更多资源........................................................................................................................................................................... 1251.20 COPASI 4.27.217 移植指南(CentOS 7.6)..............................................................................................................1251.20.1 介绍....................................................................................................................................................................................1251.20.2 环境要求........................................................................................................................................................................... 1261.20.3 移植规划数据.................................................................................................................................................................. 1271.20.4 配置编译环境.................................................................................................................................................................. 1271.20.5 获取源码........................................................................................................................................................................... 1271.20.6 编译和安装.......................................................................................................................................................................1281.20.7 运行和验证.......................................................................................................................................................................1291.20.8 故障排除........................................................................................................................................................................... 1301.20.9 更多资源........................................................................................................................................................................... 1301.21 FASTA 36.3.8 移植指南(CentOS 7.6)..................................................................................................................... 1301.21.1 介绍....................................................................................................................................................................................1301.21.2 环境要求........................................................................................................................................................................... 1311.21.3 移植规划数据.................................................................................................................................................................. 1311.21.4 配置编译环境.................................................................................................................................................................. 1321.21.5 获取源码........................................................................................................................................................................... 1321.21.6 编译和安装.......................................................................................................................................................................1331.21.7 运行和验证.......................................................................................................................................................................1341.21.8 更多资源........................................................................................................................................................................... 1341.22 gmap 2015.9.21 移植指南(CentOS 7.6)................................................................................................................. 1341.22.1 介绍....................................................................................................................................................................................1341.22.2 环境要求........................................................................................................................................................................... 1351.22.3 移植规划数据.................................................................................................................................................................. 1351.22.4 配置编译环境.................................................................................................................................................................. 1361.22.5 获取源码........................................................................................................................................................................... 1361.22.6 编译和安装.......................................................................................................................................................................1371.22.7 运行和验证.......................................................................................................................................................................1371.23 VarScan 2.4.2 移植指南(CentOS 7.6)....................................................................................................................1381.23.1 介绍....................................................................................................................................................................................1381.23.2 环境要求........................................................................................................................................................................... 138

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 vii

Page 9: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.23.3 移植规划数据.................................................................................................................................................................. 1391.23.4 配置编译环境.................................................................................................................................................................. 1401.23.5 获取源码........................................................................................................................................................................... 1401.23.6 编译和安装.......................................................................................................................................................................1411.23.7 运行和验证.......................................................................................................................................................................1421.23.8 更多资源........................................................................................................................................................................... 1431.24 Minimap2 移植指南(CentOS 7.6).......................................................................................................................... 1431.24.1 介绍....................................................................................................................................................................................1431.24.2 环境要求........................................................................................................................................................................... 1431.24.3 移植规划数据.................................................................................................................................................................. 1441.24.4 配置编译环境.................................................................................................................................................................. 1451.24.5 获取源码........................................................................................................................................................................... 1451.24.6 Minimap2 编译和安装................................................................................................................................................. 1451.24.7 运行和验证.......................................................................................................................................................................1461.25 bedtools 2.29.2 移植指南(CentOS 7.6)................................................................................................................... 1461.25.1 介绍....................................................................................................................................................................................1461.25.2 环境要求........................................................................................................................................................................... 1471.25.3 移植规划数据.................................................................................................................................................................. 1471.25.4 配置编译环境.................................................................................................................................................................. 1481.25.5 获取源码........................................................................................................................................................................... 1481.25.6 编译和安装.......................................................................................................................................................................1481.25.7 运行和验证.......................................................................................................................................................................1491.26 BEAST2 2.6.3 移植指南(CentOS 7.6)....................................................................................................................... 1501.26.1 介绍....................................................................................................................................................................................1501.26.2 环境要求........................................................................................................................................................................... 1501.26.3 移植规划数据.................................................................................................................................................................. 1511.26.4 配置编译环境.................................................................................................................................................................. 1521.26.5 获取源码........................................................................................................................................................................... 1521.26.6 编译和安装.......................................................................................................................................................................1521.26.7 运行和验证.......................................................................................................................................................................1531.26.8 更多资源........................................................................................................................................................................... 1581.27 bcftools 1.10.2 移植指南(CentOS 7.6).................................................................................................................... 1581.27.1 介绍....................................................................................................................................................................................1581.27.2 环境要求........................................................................................................................................................................... 1591.27.3 移植规划数据.................................................................................................................................................................. 1591.27.4 配置编译环境.................................................................................................................................................................. 1601.27.5 获取源码........................................................................................................................................................................... 1601.27.6 编译和安装.......................................................................................................................................................................1611.27.7 运行和验证.......................................................................................................................................................................1611.28 picard 2.23.3 移植指南(CentOS 7.6)..................................................................................................................... 1621.28.1 介绍....................................................................................................................................................................................1621.28.2 环境要求........................................................................................................................................................................... 162

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 viii

Page 10: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.28.3 移植规划数据.................................................................................................................................................................. 1631.28.4 配置编译环境.................................................................................................................................................................. 1641.28.5 获取源码........................................................................................................................................................................... 1641.28.6 编译和安装.......................................................................................................................................................................1651.28.7 运行和验证.......................................................................................................................................................................1661.28.8 故障排除........................................................................................................................................................................... 1671.29 SOAPdenovo r241 移植指南(CentOS 7.6)...........................................................................................................1671.29.1 介绍....................................................................................................................................................................................1671.29.2 环境要求........................................................................................................................................................................... 1681.29.3 移植规划数据.................................................................................................................................................................. 1691.29.4 配置编译环境.................................................................................................................................................................. 1691.29.5 获取源码........................................................................................................................................................................... 1701.29.6 编译和安装.......................................................................................................................................................................1701.29.7 运行和验证.......................................................................................................................................................................1711.29.8 更多资源........................................................................................................................................................................... 172

2 教育科研................................................................................................................................. 1732.1 CANU 1.8 移植指南(CentOS 7.6)..............................................................................................................................1732.1.1 介绍...................................................................................................................................................................................... 1732.1.2 环境要求............................................................................................................................................................................. 1742.1.3 移植规划数据.....................................................................................................................................................................1742.1.4 配置编译环境.....................................................................................................................................................................1752.1.5 获取源码............................................................................................................................................................................. 1752.1.6 编译和安装......................................................................................................................................................................... 1752.1.7 运行和验证......................................................................................................................................................................... 1762.2 GROMACS 2019.3 移植指南(CentOS 7.6)............................................................................................................. 1772.2.1 介绍...................................................................................................................................................................................... 1772.2.2 环境要求............................................................................................................................................................................. 1772.2.3 移植规划数据.....................................................................................................................................................................1782.2.4 配置编译环境.....................................................................................................................................................................1792.2.4.1 安装 OpenBLAS............................................................................................................................................................. 1802.2.4.2 安装 FFTW...................................................................................................................................................................... 1802.2.4.3 安装 cmake.....................................................................................................................................................................1812.2.5 获取源码............................................................................................................................................................................. 1812.2.6 编译和安装......................................................................................................................................................................... 1822.2.7 运行和验证......................................................................................................................................................................... 1832.2.8 更多资源............................................................................................................................................................................. 1842.3 Lammps 5 Jun 2019 移植指南(CentOS 7.6)......................................................................................................... 1842.3.1 介绍...................................................................................................................................................................................... 1842.3.2 环境要求............................................................................................................................................................................. 1842.3.3 移植规划数据.....................................................................................................................................................................1852.3.4 配置编译环境.....................................................................................................................................................................1852.3.4.1 安装 FFTW...................................................................................................................................................................... 186

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 ix

Page 11: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.3.5 获取源码............................................................................................................................................................................. 1862.3.6 编译和安装......................................................................................................................................................................... 1872.3.7 运行和验证......................................................................................................................................................................... 1872.4 QUANTUM ESPRESSO 6.4.1 移植指南(CentOS 7.6).......................................................................................... 1882.4.1 介绍...................................................................................................................................................................................... 1882.4.2 环境要求............................................................................................................................................................................. 1892.4.3 移植规划数据.....................................................................................................................................................................1892.4.4 配置编译环境.....................................................................................................................................................................1902.4.4.1 安装 OpenBLAS............................................................................................................................................................. 1902.4.4.2 安装 ScaLapack............................................................................................................................................................. 1912.4.5 获取源码............................................................................................................................................................................. 1922.4.6 编译和安装......................................................................................................................................................................... 1922.4.7 运行和验证......................................................................................................................................................................... 1932.5 NAMD 2.13 移植指南(CentOS 7.6).......................................................................................................................... 1942.5.1 介绍...................................................................................................................................................................................... 1942.5.2 环境要求............................................................................................................................................................................. 1952.5.3 移植规划数据.....................................................................................................................................................................1962.5.4 配置编译环境.....................................................................................................................................................................1962.5.4.1 安装 FFTW...................................................................................................................................................................... 1972.5.5 获取源码............................................................................................................................................................................. 1972.5.6 编译和安装......................................................................................................................................................................... 1972.5.7 运行和验证......................................................................................................................................................................... 1992.5.8 更多资源............................................................................................................................................................................. 2002.6 VASP 5.4.4 移植指南(CentOS 7.6)............................................................................................................................ 2002.6.1 介绍...................................................................................................................................................................................... 2002.6.2 环境要求............................................................................................................................................................................. 2012.6.3 移植规划数据.....................................................................................................................................................................2022.6.4 配置编译环境.....................................................................................................................................................................2022.6.4.1 安装 OpenBLAS............................................................................................................................................................. 2032.6.4.2 安装 ScaLapack............................................................................................................................................................. 2032.6.4.3 安装 FFTW...................................................................................................................................................................... 2042.6.5 获取源码............................................................................................................................................................................. 2042.6.6 编译和安装......................................................................................................................................................................... 2052.6.6.1 基本安装.......................................................................................................................................................................... 2052.6.6.2 (可选)扩展安装.........................................................................................................................................................2062.6.6.2.1 Vasp 扩展安装-VTST 过渡态工具..........................................................................................................................2062.6.6.2.2 VASP 扩展-wannier90 接口....................................................................................................................................2072.6.7 运行和验证......................................................................................................................................................................... 2082.6.8 更多资源............................................................................................................................................................................. 2092.7 ABINIT 8.10.3 移植指南(CentOS 7.6)...................................................................................................................... 2102.7.1 介绍...................................................................................................................................................................................... 2102.7.2 环境要求............................................................................................................................................................................. 210

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 x

Page 12: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.7.3 移植规划数据.....................................................................................................................................................................2112.7.4 配置编译环境.....................................................................................................................................................................2122.7.4.1 安装 OpenBLAS............................................................................................................................................................. 2122.7.4.2 安装 Pnetcdf...................................................................................................................................................................2132.7.4.3 安装 HDF5...................................................................................................................................................................... 2142.7.4.4 安装 NetCDF-C.............................................................................................................................................................. 2142.7.4.5 安装 NetCDF-fortran................................................................................................................................................... 2152.7.5 获取源码............................................................................................................................................................................. 2152.7.6 编译和安装......................................................................................................................................................................... 2152.7.7 运行和验证......................................................................................................................................................................... 2172.7.8 故障排除............................................................................................................................................................................. 2182.7.9 更多资源............................................................................................................................................................................. 2202.8 AmberTools 19 移植指南(CentOS 7.6)................................................................................................................... 2212.8.1 介绍...................................................................................................................................................................................... 2212.8.2 环境要求............................................................................................................................................................................. 2212.8.3 移植规划数据.....................................................................................................................................................................2222.8.4 配置编译环境.....................................................................................................................................................................2222.8.5 获取源码............................................................................................................................................................................. 2232.8.6 编译和安装......................................................................................................................................................................... 2232.8.7 运行和验证......................................................................................................................................................................... 2242.8.8 故障排除............................................................................................................................................................................. 2252.8.9 更多资源............................................................................................................................................................................. 2262.9 CP2K 4.1 移植指南(CentOS 7.6)............................................................................................................................... 2262.9.1 介绍...................................................................................................................................................................................... 2262.9.2 环境要求............................................................................................................................................................................. 2262.9.3 移植规划数据.....................................................................................................................................................................2272.9.4 配置编译环境.....................................................................................................................................................................2282.9.4.1 安装 OpenBLAS............................................................................................................................................................. 2282.9.4.2 安装 libint....................................................................................................................................................................... 2292.9.4.3 安装 fftw......................................................................................................................................................................... 2302.9.4.4 安装 libxc......................................................................................................................................................................... 2302.9.4.5 安装 scalapack...............................................................................................................................................................2312.9.5 获取源码............................................................................................................................................................................. 2312.9.6 编译和安装......................................................................................................................................................................... 2312.9.7 运行和验证......................................................................................................................................................................... 2322.9.8 故障排除............................................................................................................................................................................. 2332.9.9 更多资源............................................................................................................................................................................. 2332.10 CP2K 7.1 移植指南(CentOS 7.6)............................................................................................................................. 2332.10.1 介绍....................................................................................................................................................................................2332.10.2 环境要求........................................................................................................................................................................... 2342.10.3 移植规划数据.................................................................................................................................................................. 2352.10.4 配置编译环境.................................................................................................................................................................. 236

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xi

Page 13: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.10.4.1 安装 cmake.................................................................................................................................................................. 2372.10.4.2 安装 gmp...................................................................................................................................................................... 2372.10.4.3 安装 boost.................................................................................................................................................................... 2382.10.4.4 安装 libint..................................................................................................................................................................... 2382.10.4.5 安装 fftw....................................................................................................................................................................... 2392.10.4.6 安装 lapack.................................................................................................................................................................. 2392.10.4.7 安装 scalapack............................................................................................................................................................ 2402.10.4.8 安装 elpa....................................................................................................................................................................... 2402.10.4.9 安装 spglib................................................................................................................................................................... 2412.10.4.10 安装 libxc.................................................................................................................................................................... 2412.10.4.11 安装 gsl....................................................................................................................................................................... 2422.10.4.12 安装 plumed.............................................................................................................................................................. 2422.10.5 获取源码........................................................................................................................................................................... 2432.10.6 编译和安装.......................................................................................................................................................................2432.10.7 运行和验证.......................................................................................................................................................................2442.10.8 更多资源........................................................................................................................................................................... 2452.11 NWChem 6.8.1 移植指南(CentOS 7.6).................................................................................................................2452.11.1 介绍....................................................................................................................................................................................2452.11.2 环境要求........................................................................................................................................................................... 2452.11.3 移植规划数据.................................................................................................................................................................. 2462.11.4 配置编译环境.................................................................................................................................................................. 2472.11.5 获取源码........................................................................................................................................................................... 2472.11.6 编译和安装.......................................................................................................................................................................2472.11.7 运行和验证.......................................................................................................................................................................2482.11.8 故障排除........................................................................................................................................................................... 2492.11.9 更多资源........................................................................................................................................................................... 2502.12 ROOT 6.20 移植指南(CentOS 7.6)......................................................................................................................... 2502.12.1 介绍....................................................................................................................................................................................2502.12.2 环境要求........................................................................................................................................................................... 2502.12.3 移植规划数据.................................................................................................................................................................. 2512.12.4 配置编译环境.................................................................................................................................................................. 2522.12.4.1 安装 CMake................................................................................................................................................................. 2522.12.4.2 安装 zstd....................................................................................................................................................................... 2522.12.5 获取源码........................................................................................................................................................................... 2532.12.6 编译和安装.......................................................................................................................................................................2532.12.7 运行和验证.......................................................................................................................................................................2542.12.8 故障排除........................................................................................................................................................................... 2552.12.9 更多资源........................................................................................................................................................................... 2562.13 Geant4 10.6 移植指南(CentOS 7.6)...................................................................................................................... 2562.13.1 介绍....................................................................................................................................................................................2562.13.2 环境要求........................................................................................................................................................................... 2562.13.3 移植规划数据.................................................................................................................................................................. 257

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xii

Page 14: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.13.4 配置编译环境.................................................................................................................................................................. 2582.13.4.1 安装 cmake.................................................................................................................................................................. 2582.13.5 获取源码........................................................................................................................................................................... 2582.13.6 编译和安装.......................................................................................................................................................................2592.13.7 运行和验证.......................................................................................................................................................................2602.13.8 故障排除........................................................................................................................................................................... 2612.13.9 更多资源........................................................................................................................................................................... 2622.14 Ont-tombo 1.5.1 移植指南(CentOS 7.6)..............................................................................................................2622.14.1 介绍....................................................................................................................................................................................2622.14.2 环境要求........................................................................................................................................................................... 2622.14.3 移植规划数据.................................................................................................................................................................. 2632.14.4 配置编译环境.................................................................................................................................................................. 2642.14.4.1 安装依赖包................................................................................................................................................................... 2642.14.4.2 安装 Python................................................................................................................................................................. 2652.14.4.3 安装 PIP......................................................................................................................................................................... 2652.14.4.4 安装 OpenBLAS.......................................................................................................................................................... 2662.14.4.5 安装 HDF5.................................................................................................................................................................... 2662.14.5 获取源码........................................................................................................................................................................... 2672.14.6 编译和安装.......................................................................................................................................................................2672.15 DL_POLY 1.10 移植指南(CentOS 7.6)......................................................................................................................2672.15.1 介绍....................................................................................................................................................................................2672.15.2 环境要求........................................................................................................................................................................... 2682.15.3 移植规划数据.................................................................................................................................................................. 2682.15.4 配置编译环境.................................................................................................................................................................. 2692.15.5 获取源码........................................................................................................................................................................... 2692.15.6 编译和安装.......................................................................................................................................................................2692.15.7 运行和验证.......................................................................................................................................................................2702.15.7.1 单节点运行和验证...................................................................................................................................................... 2702.15.7.2 多节点运行和验证...................................................................................................................................................... 2712.15.8 更多资源........................................................................................................................................................................... 2722.16 Gamess 移植指南(CentOS 7.6)............................................................................................................................... 2722.16.1 介绍....................................................................................................................................................................................2722.16.2 环境要求........................................................................................................................................................................... 2732.16.3 移植规划数据.................................................................................................................................................................. 2732.16.4 配置编译环境.................................................................................................................................................................. 2742.16.4.1 安装 NetCDF-C........................................................................................................................................................... 2742.16.4.2 安装 NetCDF-fortran.................................................................................................................................................2752.16.5 获取源码........................................................................................................................................................................... 2752.16.6 编译和安装.......................................................................................................................................................................2762.16.7 运行和验证.......................................................................................................................................................................2772.16.8 更多资源........................................................................................................................................................................... 278

3 气象......................................................................................................................................... 279

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xiii

Page 15: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.1 WRF 3.8.1 移植指南(CentOS 7.6)............................................................................................................................. 2793.1.1 介绍...................................................................................................................................................................................... 2793.1.2 环境要求............................................................................................................................................................................. 2803.1.3 移植规划数据.....................................................................................................................................................................2813.1.4 配置编译环境.....................................................................................................................................................................2823.1.4.1 安装 HDF5...................................................................................................................................................................... 2823.1.4.2 安装 PNETCDF............................................................................................................................................................... 2833.1.4.3 安装 NETCDF................................................................................................................................................................. 2833.1.4.4 安装 NETCDF-FORTRAN............................................................................................................................................ 2843.1.4.5 安装 OPTIMIZED-ROUTINES.................................................................................................................................... 2843.1.5 获取源码............................................................................................................................................................................. 2853.1.6 编译和安装......................................................................................................................................................................... 2853.1.7 运行和验证......................................................................................................................................................................... 2863.2 CAMx 6.50 移植指南(CentOS 7.6)........................................................................................................................... 2893.2.1 介绍...................................................................................................................................................................................... 2893.2.2 环境要求............................................................................................................................................................................. 2893.2.3 移植规划数据.....................................................................................................................................................................2903.2.4 配置编译环境.....................................................................................................................................................................2913.2.5 获取源码............................................................................................................................................................................. 2913.2.6 编译和安装......................................................................................................................................................................... 2913.2.7 运行和验证......................................................................................................................................................................... 2923.2.8 更多资源............................................................................................................................................................................. 2933.3 CESM 2.1.1 移植指南(CentOS 7.6)...........................................................................................................................2933.3.1 介绍...................................................................................................................................................................................... 2943.3.2 环境要求............................................................................................................................................................................. 2943.3.3 移植规划数据.....................................................................................................................................................................2953.3.4 配置编译环境.....................................................................................................................................................................2963.3.4.1 安装 OpenBLAS............................................................................................................................................................. 2963.3.4.2 安装 HDF5...................................................................................................................................................................... 2973.3.4.3 安装 PNETCDF............................................................................................................................................................... 2973.3.4.4 安装 NETCDF................................................................................................................................................................. 2983.3.4.5 安装 NETCDF-F............................................................................................................................................................. 2993.3.5 获取源码............................................................................................................................................................................. 2993.3.6 编译和安装......................................................................................................................................................................... 3003.3.7 运行和验证......................................................................................................................................................................... 3013.3.8 更多资源............................................................................................................................................................................. 3023.4 NEMO V3.6 移植指南(CentOS 7.6)..........................................................................................................................3023.4.1 介绍...................................................................................................................................................................................... 3023.4.2 环境要求............................................................................................................................................................................. 3023.4.3 移植规划数据.....................................................................................................................................................................3033.4.4 配置编译环境.....................................................................................................................................................................3043.4.4.1 安装 Pnetcdf...................................................................................................................................................................305

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xiv

Page 16: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.4.4.2 安装 HDF5...................................................................................................................................................................... 3053.4.4.3 安装 NetCDF.................................................................................................................................................................. 3063.4.4.4 安装 NetCDF-fortran................................................................................................................................................... 3073.4.4.5 安装 Blitz......................................................................................................................................................................... 3083.4.4.6 安装 Xios..........................................................................................................................................................................3083.4.5 获取源码............................................................................................................................................................................. 3113.4.6 编译和安装......................................................................................................................................................................... 3113.4.7 运行和验证......................................................................................................................................................................... 3123.5 ROMS 3.6 移植指南(CentOS 7.6)............................................................................................................................. 3143.5.1 介绍...................................................................................................................................................................................... 3143.5.2 环境要求............................................................................................................................................................................. 3153.5.3 移植规划数据.....................................................................................................................................................................3163.5.4 配置编译环境.....................................................................................................................................................................3163.5.4.1 创建环境变量................................................................................................................................................................. 3173.5.4.2 安装 HDF5...................................................................................................................................................................... 3183.5.4.3 安装 PnetCDF.................................................................................................................................................................3183.5.4.4 安装 NetCDF-C.............................................................................................................................................................. 3193.5.4.5 安装 NetCDF-fortran................................................................................................................................................... 3193.5.5 获取源码............................................................................................................................................................................. 3203.5.6 编译和安装......................................................................................................................................................................... 3203.5.7 运行验证............................................................................................................................................................................. 3223.5.8 故障排除............................................................................................................................................................................. 3233.5.9 更多资源............................................................................................................................................................................. 3243.6 WAVEWATCH III 6.07.1 移植指南(CentOS 7.6)................................................................................................... 3243.6.1 介绍...................................................................................................................................................................................... 3243.6.2 环境要求............................................................................................................................................................................. 3243.6.3 移植规划数据.....................................................................................................................................................................3253.6.4 配置编译环境.....................................................................................................................................................................3263.6.4.1 安装 HDF5...................................................................................................................................................................... 3263.6.4.2 安装 NetCDF.................................................................................................................................................................. 3273.6.4.3 安装 NetCDF-fortran................................................................................................................................................... 3283.6.4.4 安装 parmetis................................................................................................................................................................ 3283.6.5 获取源码............................................................................................................................................................................. 3293.6.6 编译和安装......................................................................................................................................................................... 3293.6.7 运行和验证......................................................................................................................................................................... 3313.6.8 更多资源............................................................................................................................................................................. 3323.7 Bifrost V1.1.1 移植指南(CentOS 7.6).......................................................................................................................3323.7.1 介绍...................................................................................................................................................................................... 3323.7.2 环境要求............................................................................................................................................................................. 3333.7.3 移植规划数据.....................................................................................................................................................................3333.7.4 配置编译环境.....................................................................................................................................................................3343.7.5 获取源码............................................................................................................................................................................. 334

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xv

Page 17: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.7.6 编译和安装......................................................................................................................................................................... 3343.7.7 运行和验证......................................................................................................................................................................... 3363.8 FVCOM 4.1 移植指南(CentOS 7.6).......................................................................................................................... 3373.8.1 介绍...................................................................................................................................................................................... 3373.8.2 环境要求............................................................................................................................................................................. 3373.8.3 移植规划数据.....................................................................................................................................................................3383.8.4 配置编译环境.....................................................................................................................................................................3393.8.4.1 安装 HDF5...................................................................................................................................................................... 3393.8.4.2 安装 NetCDF-C.............................................................................................................................................................. 3403.8.4.3 安装 NetCDF-fortran................................................................................................................................................... 3413.8.5 获取源码............................................................................................................................................................................. 3413.8.6 编译和安装......................................................................................................................................................................... 3413.8.7 运行和验证......................................................................................................................................................................... 3453.8.7.1 Estuary 算例运行和验证............................................................................................................................................. 3453.8.7.2 Inlet 算例运行和验证................................................................................................................................................... 3463.8.8 更多资源............................................................................................................................................................................. 3473.9 MITGCM c67o 移植指南(CentOS 7.6).....................................................................................................................3473.9.1 介绍...................................................................................................................................................................................... 3473.9.2 环境要求............................................................................................................................................................................. 3483.9.3 移植规划数据.....................................................................................................................................................................3493.9.4 配置编译环境.....................................................................................................................................................................3493.9.4.1 安装 HDF5...................................................................................................................................................................... 3503.9.4.2 安装 NetCDF-C.............................................................................................................................................................. 3503.9.4.3 安装 NetCDF-fortran................................................................................................................................................... 3513.9.5 获取源码............................................................................................................................................................................. 3513.9.6 编译和安装......................................................................................................................................................................... 3513.9.7 运行和验证......................................................................................................................................................................... 3533.9.8 更多资源............................................................................................................................................................................. 3543.10 POM POM2K 移植指南(CentOS 7.6).................................................................................................................... 3543.10.1 介绍....................................................................................................................................................................................3543.10.2 环境要求........................................................................................................................................................................... 3553.10.3 移植规划数据.................................................................................................................................................................. 3563.10.4 配置编译环境.................................................................................................................................................................. 3563.10.4.1 安装 NetCDF-C........................................................................................................................................................... 3573.10.5 获取源码........................................................................................................................................................................... 3573.10.6 IC 数据文件生成............................................................................................................................................................. 3573.10.7 POM2K 模型运行........................................................................................................................................................... 3593.10.8 更多资源........................................................................................................................................................................... 3613.11 MOM 6 移植指南(CentOS 7.6)............................................................................................................................... 3623.11.1 介绍....................................................................................................................................................................................3623.11.2 环境要求........................................................................................................................................................................... 3623.11.3 移植规划数据.................................................................................................................................................................. 363

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xvi

Page 18: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.11.4 配置编译环境.................................................................................................................................................................. 3643.11.4.1 安装 Pnetcdf................................................................................................................................................................ 3643.11.4.2 安装 HDF5.................................................................................................................................................................... 3653.11.4.3 安装 NetCDF-C........................................................................................................................................................... 3653.11.4.4 安装 NetCDF-fortran.................................................................................................................................................3663.11.5 获取源码........................................................................................................................................................................... 3663.11.6 编译和安装.......................................................................................................................................................................3673.11.7 运行和验证.......................................................................................................................................................................3683.11.8 故障排除........................................................................................................................................................................... 3683.11.9 更多资源........................................................................................................................................................................... 3693.12 SMOKE 4.7 移植指南(CentOS 7.6)........................................................................................................................ 3693.12.1 介绍....................................................................................................................................................................................3693.12.2 环境要求........................................................................................................................................................................... 3693.12.3 移植规划数据.................................................................................................................................................................. 3703.12.4 配置编译环境.................................................................................................................................................................. 3713.12.4.1 安装 HDF5.................................................................................................................................................................... 3723.12.4.2 安装 Pnetcdf................................................................................................................................................................ 3723.12.4.3 安装 Netcdf.................................................................................................................................................................. 3733.12.4.4 安装 Netcdf-fortran...................................................................................................................................................3743.12.5 获取源码........................................................................................................................................................................... 3743.12.6 编译和安装.......................................................................................................................................................................3753.12.6.1 安装 IOAPI.................................................................................................................................................................... 3753.12.6.2 安装 SMOKE................................................................................................................................................................ 3773.12.7 运行和验证.......................................................................................................................................................................3783.12.8 故障排除........................................................................................................................................................................... 3783.12.9 更多资源........................................................................................................................................................................... 3793.13 SPECFEM3D GLOBE 7.0.0 移植指南(CentOS 7.6)............................................................................................. 3793.13.1 介绍....................................................................................................................................................................................3793.13.2 环境要求........................................................................................................................................................................... 3793.13.3 移植规划数据.................................................................................................................................................................. 3803.13.4 配置编译环境.................................................................................................................................................................. 3813.13.5 获取源码........................................................................................................................................................................... 3813.13.6 编译和安装.......................................................................................................................................................................3813.13.7 运行和验证.......................................................................................................................................................................3823.14 CMAQ 5.3.1 移植指南(CentOS 7.6)....................................................................................................................... 3823.14.1 介绍....................................................................................................................................................................................3833.14.2 环境要求........................................................................................................................................................................... 3833.14.3 移植规划数据.................................................................................................................................................................. 3843.14.4 配置编译环境.................................................................................................................................................................. 3853.14.4.1 安装 HDF5.................................................................................................................................................................... 3853.14.4.2 安装 NetCDF-C........................................................................................................................................................... 3863.14.4.3 安装 NetCDF-fortran.................................................................................................................................................386

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xvii

Page 19: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.14.4.4 安装 OPTIMIZED-ROUTINES..................................................................................................................................3873.14.5 获取源码........................................................................................................................................................................... 3883.14.6 编译和安装.......................................................................................................................................................................3883.14.7 运行和验证.......................................................................................................................................................................3913.14.8 故障排除........................................................................................................................................................................... 3923.14.9 更多资源........................................................................................................................................................................... 3923.15 SWAN 41.31 移植指南(CentOS 7.6)......................................................................................................................3923.15.1 介绍....................................................................................................................................................................................3923.15.2 环境要求........................................................................................................................................................................... 3933.15.3 移植规划数据.................................................................................................................................................................. 3943.15.4 配置编译环境.................................................................................................................................................................. 3953.15.4.1 安装 HDF5.................................................................................................................................................................... 3953.15.4.2 安装 PnetCDF.............................................................................................................................................................. 3963.15.4.3 安装 NetCDF-C........................................................................................................................................................... 3973.15.4.4 安装 NetCDF-fortran.................................................................................................................................................3983.15.5 获取源码........................................................................................................................................................................... 3983.15.6 编译和安装.......................................................................................................................................................................3993.15.7 运行验证........................................................................................................................................................................... 3993.15.8 更多资源........................................................................................................................................................................... 400

4 制造......................................................................................................................................... 4014.1 OpenFOAM 1906 移植指南(CentOS 7.6)...............................................................................................................4014.1.1 介绍...................................................................................................................................................................................... 4014.1.2 环境要求............................................................................................................................................................................. 4024.1.3 移植规划数据.....................................................................................................................................................................4024.1.4 配置编译环境.....................................................................................................................................................................4034.1.5 获取源码............................................................................................................................................................................. 4044.1.6 编译和安装......................................................................................................................................................................... 4044.1.7 运行和验证......................................................................................................................................................................... 4054.1.8 故障排除............................................................................................................................................................................. 4074.2 SU2 移植指南(CentOS 7.6)......................................................................................................................................... 4094.2.1 介绍...................................................................................................................................................................................... 4094.2.2 环境要求............................................................................................................................................................................. 4094.2.3 移植规划数据.....................................................................................................................................................................4104.2.4 配置编译环境.....................................................................................................................................................................4114.2.4.1 安装 HDF5...................................................................................................................................................................... 4114.2.5 SU2 6.0.1 移植指南(CentOS 7.6)........................................................................................................................... 4124.2.5.1 获取源码.......................................................................................................................................................................... 4124.2.5.2 编译和安装......................................................................................................................................................................4124.2.6 SU2 7.0.4 移植指南(CentOS 7.6)........................................................................................................................... 4134.2.6.1 获取源码.......................................................................................................................................................................... 4134.2.6.2 编译和安装......................................................................................................................................................................4134.2.7 运行和验证......................................................................................................................................................................... 414

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xviii

Page 20: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.2.8 故障排除............................................................................................................................................................................. 4154.2.9 更多资源............................................................................................................................................................................. 4164.3 PALABOS 2.1r0 移植指南(CentOS 7.6)................................................................................................................... 4164.3.1 介绍...................................................................................................................................................................................... 4164.3.2 环境要求............................................................................................................................................................................. 4164.3.3 移植规划数据.....................................................................................................................................................................4174.3.4 配置编译环境.....................................................................................................................................................................4184.3.4.1 安装 PYTHON3..............................................................................................................................................................4184.3.4.2 安装 ImageMagick....................................................................................................................................................... 4194.3.5 获取源码............................................................................................................................................................................. 4194.3.6 编译和安装......................................................................................................................................................................... 4194.3.7 运行和验证......................................................................................................................................................................... 4204.3.7.1 cavity2d 算例运行和验证........................................................................................................................................... 4204.3.7.2 boussinesqThermal3d 算例运行和验证................................................................................................................. 4204.3.8 更多资源............................................................................................................................................................................. 4224.4 deal.II 9.1.1 移植指南(CentOS 7.6).......................................................................................................................... 4224.4.1 介绍...................................................................................................................................................................................... 4224.4.2 环境要求............................................................................................................................................................................. 4224.4.3 移植规划数据.....................................................................................................................................................................4234.4.4 配置编译环境.....................................................................................................................................................................4244.4.5 获取源码............................................................................................................................................................................. 4244.4.6 编译和安装......................................................................................................................................................................... 4244.4.7 运行和验证......................................................................................................................................................................... 4254.4.8 更多资源............................................................................................................................................................................. 4264.5 AMG 1.2 移植指南(CentOS 7.6).................................................................................................................................. 4264.5.1 介绍...................................................................................................................................................................................... 4264.5.2 环境要求............................................................................................................................................................................. 4274.5.3 移植规划数据.....................................................................................................................................................................4274.5.4 配置编译环境.....................................................................................................................................................................4284.5.5 获取源码............................................................................................................................................................................. 4284.5.6 编译和安装......................................................................................................................................................................... 4284.5.7 运行和验证......................................................................................................................................................................... 4294.6 Code_Saturne 6.0.2 移植指南(CentOS 7.6)........................................................................................................... 4304.6.1 介绍...................................................................................................................................................................................... 4304.6.2 环境要求............................................................................................................................................................................. 4304.6.3 移植规划数据.....................................................................................................................................................................4314.6.4 配置编译环境.....................................................................................................................................................................4324.6.4.1 安装 BLAS 依赖包......................................................................................................................................................... 4334.6.4.2 安装 PyQt4..................................................................................................................................................................... 4334.6.4.3 安装 HDF5...................................................................................................................................................................... 4334.6.4.4 安装 MED........................................................................................................................................................................ 4344.6.4.5 安装 SCOTCH................................................................................................................................................................. 434

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xix

Page 21: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.6.4.6 安装 METIS..................................................................................................................................................................... 4354.6.5 获取源码............................................................................................................................................................................. 4354.6.6 编译和安装......................................................................................................................................................................... 4354.6.7 运行和验证......................................................................................................................................................................... 4364.6.7.1 单节点运行和验证.........................................................................................................................................................4364.6.7.2 多节点运行和验证.........................................................................................................................................................4384.6.8 更多资源............................................................................................................................................................................. 4394.7 FDS 6.7.4 移植指南(CentOS 7.6).............................................................................................................................. 4394.7.1 介绍...................................................................................................................................................................................... 4394.7.2 环境要求............................................................................................................................................................................. 4404.7.3 移植规划数据.....................................................................................................................................................................4404.7.4 配置编译环境.....................................................................................................................................................................4414.7.5 获取源码............................................................................................................................................................................. 4414.7.6 编译和安装......................................................................................................................................................................... 4414.7.7 运行和验证......................................................................................................................................................................... 4424.7.8 故障排除............................................................................................................................................................................. 4434.7.9 更多资源............................................................................................................................................................................. 4444.8 Elmer 8.4 移植指南(CentOS 7.6).............................................................................................................................. 4444.8.1 介绍...................................................................................................................................................................................... 4444.8.2 环境要求............................................................................................................................................................................. 4444.8.3 移植规划数据.....................................................................................................................................................................4454.8.4 配置编译环境.....................................................................................................................................................................4464.8.4.1 安装 cmake.....................................................................................................................................................................4464.8.4.2 安装 OpenBLAS............................................................................................................................................................. 4474.8.5 获取源码............................................................................................................................................................................. 4474.8.6 编译和安装......................................................................................................................................................................... 4484.8.7 运行和验证......................................................................................................................................................................... 4484.8.8 故障排除............................................................................................................................................................................. 4494.8.9 更多资源............................................................................................................................................................................. 449

5 其他......................................................................................................................................... 4505.1 Hadoop 3.1.2+Spark 2.4.4 移植指南(CentOS 7.6).............................................................................................. 4505.1.1 介绍...................................................................................................................................................................................... 4505.1.2 环境要求............................................................................................................................................................................. 4505.1.3 移植规划数据.....................................................................................................................................................................4515.1.4 配置编译环境.....................................................................................................................................................................4525.1.4.1 安装 java 环境................................................................................................................................................................ 4525.1.5 获取源码............................................................................................................................................................................. 4535.1.6 编译和安装......................................................................................................................................................................... 4535.1.6.1 Hadoop 配置.................................................................................................................................................................. 4535.1.6.2 Spark 配置...................................................................................................................................................................... 4555.1.7 运行和验证......................................................................................................................................................................... 4585.1.8 故障排除............................................................................................................................................................................. 459

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xx

Page 22: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.1.9 更多资源............................................................................................................................................................................. 4605.2 SGE 8.1.9 移植指南(CentOS 7.6).............................................................................................................................. 4605.2.1 介绍...................................................................................................................................................................................... 4605.2.2 环境要求............................................................................................................................................................................. 4605.2.3 移植规划数据.....................................................................................................................................................................4615.2.4 配置编译环境.....................................................................................................................................................................4625.2.5 获取源码............................................................................................................................................................................. 4625.2.6 编译和安装......................................................................................................................................................................... 4635.2.6.1 SGE 软件编译................................................................................................................................................................. 4635.2.6.2 主控主机安装................................................................................................................................................................. 4635.2.6.3 执行主机安装................................................................................................................................................................. 4735.2.7 运行和验证......................................................................................................................................................................... 4745.2.8 SGE 常用命令说明............................................................................................................................................................ 4765.3 Conda 4.3.16 移植指南(CentOS 7.6)....................................................................................................................... 4775.3.1 介绍...................................................................................................................................................................................... 4775.3.2 环境要求............................................................................................................................................................................. 4785.3.3 移植规划数据.....................................................................................................................................................................4795.3.4 配置编译环境.....................................................................................................................................................................4795.3.4.1 安装依赖包......................................................................................................................................................................4795.3.4.2 安装 Python....................................................................................................................................................................4805.3.4.3 安装 PIP........................................................................................................................................................................... 4805.3.5 获取源码............................................................................................................................................................................. 4815.3.6 编译和安装......................................................................................................................................................................... 4815.4 MiniFE 2.2.0 移植指南(CentOS 7.6).........................................................................................................................4825.4.1 介绍...................................................................................................................................................................................... 4825.4.2 环境要求............................................................................................................................................................................. 4825.4.3 移植规划数据.....................................................................................................................................................................4835.4.4 配置编译环境.....................................................................................................................................................................4835.4.5 获取源码............................................................................................................................................................................. 4845.4.6 编译和安装......................................................................................................................................................................... 4845.4.7 运行和验证......................................................................................................................................................................... 4845.4.8 更多资源............................................................................................................................................................................. 4855.5 NPB 3.4 移植指南(CentOS 7.6)................................................................................................................................. 4855.5.1 介绍...................................................................................................................................................................................... 4855.5.2 环境要求............................................................................................................................................................................. 4855.5.3 移植规划数据.....................................................................................................................................................................4865.5.4 配置编译环境.....................................................................................................................................................................4875.5.5 获取源码............................................................................................................................................................................. 4875.5.6 编译和安装......................................................................................................................................................................... 4875.5.7 运行和验证......................................................................................................................................................................... 4885.5.8 更多资源............................................................................................................................................................................. 4895.6 MiniDFT 1.1.1 移植指南(CentOS 7.6)..................................................................................................................... 490

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xxi

Page 23: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.6.1 介绍...................................................................................................................................................................................... 4915.6.2 环境要求............................................................................................................................................................................. 4915.6.3 移植规划数据.....................................................................................................................................................................4925.6.4 配置编译环境.....................................................................................................................................................................4925.6.4.1 安装 OpenBLAS............................................................................................................................................................. 4935.6.4.2 安装 fftw......................................................................................................................................................................... 4935.6.4.3 安装 scalapack...............................................................................................................................................................4945.6.5 获取源码............................................................................................................................................................................. 4955.6.6 编译和安装......................................................................................................................................................................... 4955.6.7 运行和验证......................................................................................................................................................................... 4965.6.8 故障排除............................................................................................................................................................................. 4965.6.9 更多资源............................................................................................................................................................................. 4975.7 miniGhost v1.0 移植指南(CentOS 7.6)................................................................................................................... 4975.7.1 介绍...................................................................................................................................................................................... 4975.7.2 环境要求............................................................................................................................................................................. 4975.7.3 移植规划数据.....................................................................................................................................................................4985.7.4 配置编译环境.....................................................................................................................................................................4985.7.5 获取源码............................................................................................................................................................................. 4995.7.6 编译和安装......................................................................................................................................................................... 4995.7.7 运行和验证......................................................................................................................................................................... 5005.7.8 更多资源............................................................................................................................................................................. 501

6 修订记录................................................................................................................................. 502

HPC 解决方案移植指南 目 录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 xxii

Page 24: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1 基因测序

1.1 BLAST 2.9.0 移植指南(CentOS 7.6)

1.2 BWA 0.7.17 移植指南(CentOS 7.6)

1.3 CNVnator 0.4.1 移植指南(CentOS 7.6)

1.4 Cufflinks 2.2.1 移植指南(CentOS 7.6)

1.5 GATK 4.0.0.0 移植指南(CentOS 7.6)

1.6 HISAT2 2.1.0 移植指南(CentOS 7.6)

1.7 STAR 2.7.1a 移植指南(CentOS 7.6)

1.8 Tophat2 2.1.1 移植指南(CentOS 7.6)

1.9 Bowtie2 2.4.1 移植指南(CentOS 7.6)

1.10 FastQC 0.11.9 移植指南(CentOS 7.6)

1.11 Beagle 5.1 移植指南(CentOS 7.6)

1.12 Bowtie 1.2.3 移植指南(CentOS 7.6)

1.13 pblat 2.1 移植指南(CentOS 7.6)

1.14 SnpEffB V4_3移植指南(CentOS 7.6)

1.15 Velvet 1.2.10 移植指南(CentOS 7.6)

1.16 XHMM 移植指南(CentOS 7.6)

1.17 pysam 0.15.4 移植指南(CentOS 7.6)

1.18 Abyss 2.2.4 移植指南(CentOS 7.6)

1.19 Chaste 2019.1 移植指南(CentOS 7.6)

1.20 COPASI 4.27.217 移植指南(CentOS 7.6)

1.21 FASTA 36.3.8 移植指南(CentOS 7.6)

1.22 gmap 2015.9.21 移植指南(CentOS 7.6)

1.23 VarScan 2.4.2 移植指南(CentOS 7.6)

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 1

Page 25: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.24 Minimap2 移植指南(CentOS 7.6)

1.25 bedtools 2.29.2 移植指南(CentOS 7.6)

1.26 BEAST2 2.6.3移植指南(CentOS 7.6)

1.27 bcftools 1.10.2 移植指南(CentOS 7.6)

1.28 picard 2.23.3 移植指南(CentOS 7.6)

1.29 SOAPdenovo r241 移植指南(CentOS 7.6)

1.1 BLAST 2.9.0 移植指南(CentOS 7.6)

1.1.1 介绍BLAST(Basic Local Alignment Search Tool)是一套在蛋白质数据库或DNA数据库中进行相似性比较的分析工具。BLAST程序能迅速与公开数据库进行相似性序列比较。BLAST结果中的得分是一种对相似性的统计说明。

BLAST采用一种局部的算法获得两个序列中具有相似性的序列。如果您想进一步了解BLAST算法,您可以参考NCBI的BLAST Course,该页有BLAST算法的介绍。

BLAST对一条或多条序列(可以是任何形式的序列)在一个或多个核酸或蛋白序列库中进行比对。BLAST还能发现具有缺口的能比对上的序列。

BLAST是基于Altschul等人在J.Mol.Biol上发表的方法(J.Mol.Biol.215:403-410(1990)),在序列数据库中对查询序列进行同源性比对工作。从 初的BLAST发展到现在NCBI提供的BLAST2.0,已将有缺口的比对序列也考虑在内了。BLAST可处理任何数量的序列,包括蛋白序列和核算序列;也可选择多个数据库但数据库必须是同一类型的,即要么都是蛋白数据库要么都是核酸数据库。所查询的序列和调用的数据库则可以是任何形式的组合,既可以是核酸序列到蛋白库中作查询,也可以是蛋白序列到蛋白库中作查询,反之亦然。

GCG及EMBOSS等软件包中包含有五种BLAST:

● BLASTP是蛋白序列到蛋白库中的一种查询。库中存在的每条已知序列将逐一地同每条所查序列作一对一的序列比对。

● BLASTX是核酸序列到蛋白库中的一种查询。先将核酸序列翻译成蛋白序列(一条核酸序列会被翻译成可能的六条蛋白),再对每一条作一对一的蛋白序列比对。

● BLASTN是核酸序列到核酸库中的一种查询。库中存在的每条已知序列都将同所查序列作一对一地核酸序列比对。

● TBLASTN是蛋白序列到核酸库中的一种查询。与BLASTX相反,它是将库中的核酸序列翻译成蛋白序列,再同所查序列作蛋白与蛋白的比对。

● TBLASTX是核酸序列到核酸库中的一种查询。此种查询将库中的核酸序列和所查的核酸序列都翻译成蛋白(每条核酸序列会产生6条可能的蛋白序列),这样每次比对会产生36种比对阵列。

关于BLAST的更多信息请访问BLAST官网。

语言:C++

一句话描述:一套在蛋白质数据库或DNA数据库中进行相似性比较的分析工具。

开源协议:PUBLIC DOMAIN

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 2

Page 26: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

建议的版本

建议使用版本为“BLAST 2.9.0”。

1.1.2 环境要求

硬件要求

硬件要求如表1-1所示。

表 1-1 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-2所示。

表 1-2 软件要求

项目 版本 下载地址

BLAST 2.9.0 https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.9.0/

LMDB 0.9.24 https://github.com/LMDB/lmdb/releases

测试算例1 protein_query.fastas https://gitlab.com/arm-hpc/packages/uploads/1acce57b88cc76f6c89a087e449456b5/protein_query.fasta

测试算例2 SWISSPROT http://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/swissprot.gz

操作系统要求

操作系统要求如表1-3所示。

表 1-3 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 3

Page 27: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.1.3 移植规划数据本章节给出BLAST软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-4 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/LMDB LMDB的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/BLAST BLAST的安装规划路径。

4 /path/to/CASE 测试算例的存放规划路径。

1.1.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-5 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装LMDB 参考安装LMDB。

1.1.5 获取源码

操作步骤

步骤1 下载BLAST安装包“ncbi-blast-2.9.0+-src.tar.gz”。

BLAST安装包下载地址:https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.9.0/。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 4

Page 28: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 使用SFTP工具将BLAST安装包上传至服务器“/path/to/BLAST”目录。

----结束

1.1.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压并配置BLAST路径。

tar xzf ncbi-blast-2.9.0+-src.tar.gz

cd ncbi-blast-2.7.1+-src

export BLAST_TOP=`pwd`

步骤3 执行以下命令设置编译器。

export CC=gcc

export CXX=g++

步骤4 使用SFTP工具将“lmdb-LMDB_0.9.s24.tar.gz”上传到“/path/to/BLAST/ncbi-blast-2.9.0+-src”目录下。

步骤5 执行以下命令解压并配置LMDB路径。

cd $BLAST_TOP

tar -xvf lmdb-LMDB_0.9.s24.tar.gz

cd lmdb-LMDB_0.9.24

export LMDB_PATH=$BLAST_TOP/lmdb-LMDB_0.9.24

步骤6 执行以下命令编译安装BLAST。

cd $BLAST_TOP/c++

./configure

cd ReleaseMT/build

make all_r -j40

步骤7 安装成功后可执行文件会生成在“$BLAST_TOP/c++/ReleaseMT/bin”目录下,可执行以下命令进行查看。

cd $BLAST_TOP/c++/ReleaseMT/bin

ls blastp

blastp

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 5

Page 29: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.1.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 使用SFTP等工具将测试需要的算例上传到“/path/to/CASE”目录下。

步骤3 执行以下命令解压及重命名Swissprot Proteins数据。

cd /path/to/CASE

gzip -d swissprot.gz

mv swissprot swissprot.fa

步骤4 执行以下命令将所有的文件放到“data”目录下。

mkdir data

mv swissprot.fa data/

mv protein_query.fasta data/

步骤5 执行以下命令编译算例的数据。

export PATH=$BLAST_TOP/c++/ReleaseMT/bin:$PATH

makeblastdb -in data/swissprot.fa -dbtype prot

执行完成后会在data目录下生成以下4个文件,可使用ls命令查看。

1. swissprot.fa2. swissprot.fa.phr3. swissprot.fa.pin4. swissprot.fa.psq

步骤6 执行以下命令运行测试。

{ time blastp -query data/protein_query.fasta -db data/swissprot.fa ; } 2>&1 |tee output_protein_alignments.txt

需要查看日志中 后的time命令输出中的“real”数值,单位是时间“x分钟y秒”,数值越低性能越优。

输出的结果样例如图1-1所示。

图 1-1 测试样例

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 6

Page 30: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.1.8 更多资源

Arm公司官网:

https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/resources/porting-and-tuning/building-blast-with-arm-compiler/single-page

1.2 BWA 0.7.17 移植指南(CentOS 7.6)

1.2.1 介绍

BWA是用于将低分叉序列比对到大的参考基因组比如人基因组的软件包。BWA主要是由三种算法组成:BWA-backtrack、BWA-SW和BWA-MEM。第一个算法是针对于illumina测序reads 多100bp的算法。后面两个主要是针对于从70bp到1Mbp的更长序列。BWA-SW和BWA-MEM拥有一些相同的特征例如长reads支持和序列分开模式。但是相对而言,更加推荐BWA-MEM,可以更快和更准确在更高质量的序列上比对。BWA-MEM相比较BWA-backtrack在70-100bp illumina reads上有更好的性能。

关于BWA的更多信息请访问BWA官网。

语言:C

一句话描述:基因比对。

开源协议:GPL 3.0

建议的版本

建议使用版本为“BWA 0.7.17”。

1.2.2 环境要求

硬件要求

硬件要求如表1-6所示。

表 1-6 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-7所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 7

Page 31: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-7 软件要求

项目 版本 下载地址

BWA 0.7.17 https://sourceforge.net/projects/bio-bwa/files/

算例文件1 B17NC_R1.fq.gz https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R1.fastq.gz

算例文件2 B17NC_R2.fq.gz https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R2.fastq.gz

算例文件3 hg19.fa https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/open_database/hg19/gatk_bundle/hg19.fa

操作系统要求

操作系统要求如表1-8所示。

表 1-8 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.2.3 移植规划数据

本章节给出BWA软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-9 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/BWA BWA的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/CASE BWA的测试算例存放规划路径。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 8

Page 32: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.2.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-10 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

1.2.5 获取源码

操作步骤

步骤1 下载BWA安装包“bwa-0.7.17.tar.bz2”。

下载地址:https://sourceforge.net/projects/bio-bwa/files/。

步骤2 使用SFTP工具将BWA安装包上传至服务器“/path/to/BWA”目录下。

----结束

1.2.6 编译和安装

前提条件

获取“SSE2NEON.h”文件,获取路径:https://github.com/jratcliff63367/sse2neon。

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入BWA安装包所在目录。

cd /path/to/BWA

步骤3 执行以下命令解压BWA安装包。

tar -xvf bwa-0.7.17.tar.bz2

步骤4 执行以下命令进入解压后的目录。

cd bwa-0.7.17

步骤5 执行以下命令将“sse2neon.h”拷贝到编译器的安装目录下。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 9

Page 33: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cp SSE2NEON.h /path/to/GNU/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include

步骤6 执行以下命令修改BWA的“Makefile”文件。

1. vi Makefile2. 按“i”进入编辑模式,修改“Makefile”文件的第14行,注意粗体部分。

INCLUDES= -I/path/to/GNU/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include

说明

请根据实际情况修改include的路径,该路径为GNU编译器的include目录。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令修改“ksw.c”文件。

1. vi ksw.c2. 按“i”进入编辑模式,修改“ksw.c”文件的第29行,注意粗体部分。

include <SSE2NEON.h>

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下命令进行编译。

make

步骤9 执行以下命令加载BWA环境。

export PATH=/path/to/BWA/bwa-0.7.17:$PATH

----结束

1.2.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 创建BWA工作目录。

mkdir -p /path/to/CASE

步骤3 将表1-7中的测试算例上传到工作目录下。

步骤4 执行以下命令进入算例目录下。

cd /path/to/CASE

步骤5 执行以下命令解压算例文件。

gzip -d B17NC_R1.fq.gz

gzip -d B17NC_R2.fq.gz

步骤6 执行以下命令创建索引文件。

bwa index -a bwtsw hg19.fa

步骤7 执行以下命令运行测试。

bwa mem -t 96 hg19.fa B17NC_R1.fq B17NC_R2.fq > bwa.sam 2> bwa_log

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 10

Page 34: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

需要查看“bwa_log”日志中的“Real time”数值,单位是“s”,数值越少性能越优。

输出的结果样例如图1-2所示。

图 1-2 测试样例

----结束

1.3 CNVnator 0.4.1 移植指南(CentOS 7.6)

1.3.1 介绍CNVnator是基因测序领域一种用于发现拷贝数变异(CNV)和对个人基因组测序的读取深度(RD)进行分析的工具。CNVnator的方法基于将已建立的均值平移方法与额外的细分方法(多带宽分区和GC校正)相结合,用以拓宽已发现的CNV的范围。此外,CNVnator直接与分离读取(split-read)和读取对(read-pair)方法互补:它不能读取由反转录转换元件创建的CNV,但它识别的超过一半的已验证CNV未被分离读取或读取对检测到。

关于CNVnator的更多信息请访问CNVnator官网。

语言:C++

一句话描述:一种用于发现拷贝数变异和对个人基因组测序的读取深度进行分析的工具。

开源协议:MIT

建议的版本

建议使用版本为“CNVnator V0.4.1”。

1.3.2 环境要求

硬件要求

硬件要求如表1-11所示。

表 1-11 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-12所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 11

Page 35: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-12 软件要求

项目 版本 下载地址

CNVnator V0.4.1 https://github.com/abyzovlab/CNVnator

CERNROOT

V6.18 https://root.cern/download/root_v6.18.00.source.tar.gz

Cmake 3.9.2 https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz

Samtools 1.10 http://www.htslib.org/download/

算例文件 - -

操作系统要求

操作系统要求如表1-13所示。

表 1-13 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.3.3 移植规划数据

本章节给出CNVnator软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-14 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/CMAKE

cmake的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/SAMTOOLS

samtools的安装规划路径。

4 /path/to/SOURCE

ROOT工具包的安装规划路径。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 12

Page 36: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

5 /path/to/CNVNATOR

CNVnator的安装规划路径。

6 /path/to/CASE CNVnator的测试算例存放规划路径。

1.3.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-15 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装预装包及依赖库 参考1.3.4.1 安装预装包及依赖库。

3 安装cmake 参考1.3.4.2 安装cmake。

4 安装samtools 参考1.3.4.3 安装samtools。

5 安装ROOT工具包 参考1.3.4.4 安装ROOT工具包。

1.3.4.1 安装预装包及依赖库

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装预装包及依赖库。

yum install -y libcurl-devel.aarch64 cmake binutils \

libX11-devel libXpm-devel libXft-devel libXext-devel \

openssl-devel pcre-devel mesa-libGL-devel \

mesa-libGLU-devel glew-devel ftgl-devel mysql-devel \

fftw-devel cfitsio-devel graphviz-devel \

avahi-compat-libdns_sd-devel libldap-dev python-devel \

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 13

Page 37: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

libxml2-devel gsl-static

----结束

1.3.4.2 安装 cmake

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压cmake安装包。

tar -xvf cmake-3.15.2.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd cmake-3.15.2

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/CMAKE

步骤5 执行以下命令进行编译安装。

make

make install

步骤6 执行以下命令设置cmake的环境变量。

export PATH=/path/to/CMAKE/bin:$PATH

----结束

1.3.4.3 安装 samtools

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压samtools安装包。

tar -xvf samtools-1.10.tar.bz2

步骤3 执行以下命令进入解压后的目录。

cd samtools-1.10

步骤4 执行以下命令进行安装。

yum install -y bzip2-devel bzip2-libs bzip2

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/SAMTOOLS

步骤6 执行以下命令进行编译安装。

make all all-htslib

make install install-htslib

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 14

Page 38: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤7 执行以下命令设置samtools的环境变量。

export PATH=/path/to/SAMTOOLS/bin:$PATH

export LD_LIBRARY_PATH=/path/to/SAMTOOLS/lib:$LD_LIBRARY_PATH

----结束

1.3.4.4 安装 ROOT 工具包

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将ROOT工具包上传到“/path/to/SOURCE”目录下。

步骤3 执行以下命令解压“root_v6.18.00.source.tar.gz”安装包。

cd /path/to/SOURCE

tar -xvf root_v6.18.00.source.tar.gz

步骤4 执行以下命令在“/path/to/SOURCE”目录下创建“root_build”目录,ROOT不允许在源码内进行编译。

mkdir root_build

cd root_build

cmake ../root-6.18.00

步骤5 环境不能连外网的情况下,需要手动下载必要的安装包放置在对应的目录下,以下安装包均在ROOT工具包中。

● 将“davix-embedded-0.6.7.tar.gz”安装包放置在“root_build/builtins/davix/DAVIX-prefix/src”路径下。

● 将“vdt-0.4.2.tar.gz”安装包放置在“root_build/VDT-prefix/src”路径下。

● 将“tbb2019_U1.tar.gz”安装包放置在“root_build/TBBefix/src”路径下。

步骤6 执行以下命令修改“<root_build>”里面的“CMakeCache.txt”文件。打开<root_build>里面的CMakeCache.txt将clad是否安装设为OFF。

1. vi CMakeCache.txt2. 按“i”进入编辑模式,将“CMakeCache.txt”文件中的“clad”是否安装设为

“OFF”。clad BOLL=OFF

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令进行编译。

make -j32

步骤8 执行以下命令加载环境变量。

export PATH=/path/to/SOURCE/root_build/bin:$PATH

export LD_LIBRARY_PATH=/path/to/SOURCE/root_build/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 15

Page 39: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.3.5 获取源码

操作步骤

步骤1 下载CNVnator安装包“CNVnator_v0.4.1.zip”。

下载地址:https://github.com/abyzovlab/CNVnator。

步骤2 使用SFTP工具将CNVnator安装包上传至服务器“/path/to/CNVNATOR”目录。

----结束

1.3.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入CNVnator安装目录,并且做好依赖链接。

cd /path/to/CNVNATOR

unzip CNVnator_v0.4.1.zip

cd CNVnator_v0.4.1/src

ln -s /path/to/SAMTOOLS/samtools-1.10 samtools

ln -s /path/to/SOURCE/root_build root_build

步骤3 执行以下命令修改“Makefile”文件。

1. vim Makefile2. 按“i”进入编辑模式,在“Makefile”文件第4行之前加入以下内容。

ROOTSYS=root_build

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤4 执行以下命令进行编译。

make LIBS="-lcrypto"

步骤5 执行以下命令加载环境变量。

export PATH=/path/to/CNVNATOR/CNVnator_v0.4.1/src:$PATH

----结束

1.3.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建工作目录。

mkdir -p /path/to/CASE

cd /path/to/CASE

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 16

Page 40: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 下载算例文件,使用SFTP工具将其上传到工作目录“/path/to/CASE”下。

步骤4 执行以下命令开始测试。

{ time cnvnator -root B17NC.root -tree B17NC.bam ; } 2>&1 |tee -aMapping.log

{ time cnvnator -root B17NC.root -his 1000 -fastachr14.GRCm38.primary_assembly.genome.fa.gz ; } 2>&1 |tee -a Histogram.log

{ time cnvnator -root B17NC.root -stat 1000 ; } 2>&1 |tee -a Statistics.log

输出信息如图1-3所示则计算运行正常结束。

图 1-3 测试样例

----结束

1.3.8 故障排除

问题一:编译 cmake 时报 The std::unique_ptr 错误

现象描述:

编译cmake时报The std::unique_ptr错误,报错信息“CMake Error at CMakeLists.txt:92 (message):

The C++ compiler does not support C++11 (e.g. std::unique_ptr).”。

可能原因:

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 17

Page 41: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

此错误跟系统时间设置相关。

处理步骤:

步骤1 正确设定系统时间后,重新解压源码包进行编译。

或者

执行以下命令修改“CmakeCache.txt”文件。

1. vi CmakeCache.txt2. 按“i”进入编辑模式,修改“CmakeCache.txt”文件的第362行。

CMake_HAVE_CXX_UNIQUE_PTR:INTERNAL=ON

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

4. 再进行编译安装。

make

----结束

问题二:编译 ROOT 时报 CMake Error at TBB-stamp 错误

现象描述:

编译ROOT时报CMake Error at TBB-stamp错误,报错信息类似:

CMake Error at TBB-stamp/TBB-download-RelWithDebInfo.cmake:49 (message):

Command failed: 1

'/storage/softwares/TaiShan/CNVnator/CMAKE/bin/cmake' '-Dmake=' '-Dconfig=' '-P' '/storage/softwares/TaiShan/CNVnator/ROOT-6.18/TBB-prefix/src/TBB-stamp/TBB-download-RelWithDebInfo-impl.cmake'

可能原因:

诸如此类找不到文件的错误是由于集群不能联网。

处理步骤:

参考cmake安装将下载的安装包放入cmake后生成的文件夹内即可。

问题三:编译 CNVnator 时报[cnvnator] Error 1 错误

现象描述:

编译CNVnator时报[cnvnator] Error 1错误,报错信息类似:

/usr/bin/ld: samtools/htslib-1.9/libhts.a(hfile_s3.o): undefined reference to symbol'HMAC@@libcrypto.so.10'

//usr/lib64/libcrypto.so.10: error adding symbols: DSO missing from command line

collect2: error: ld returned 1 exit status

make: *** [cnvnator] Error 1

可能原因:

编译链接出错。

处理步骤:

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 18

Page 42: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

执行make命令时,使用以下命令:

make LIBS="-lcrypto"

1.3.9 更多资源CNVnator GitHub主页:

https://github.com/abyzovlab/CNVnator/blob/master/README.md

ROOT安装官方指南:

https://root.cern.ch/building-root#quick-start

1.4 Cufflinks 2.2.1 移植指南(CentOS 7.6)

1.4.1 介绍Cufflinks程序是基因测序领域主要用于基因表达量的计算和差异表达基因的寻找,程序会根据Tophat的比对结果,依托或不依托于参考基因组的GTF注释文件,计算出(各个gene的)isoform的FPKM值,并给出trascripts.gtf注释结果(组装出转录组)。Cufflinks下主要包含cufflinks、cuffmerge、cuffcompare和cuffdiff等几支主要的执行程序。

关于Cufflinks的更多信息请访问Cufflinks官网。

语言:C++

一句话描述:基因表达量计算和差异表达基因寻找的应用。

开源协议:Boost Software License

建议的版本

建议使用版本为“Cufflinks 2.2.1”。

1.4.2 环境要求

硬件要求

硬件要求如表1-16所示。

表 1-16 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-17所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 19

Page 43: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-17 软件要求

项目 版本 下载地址

Cufflinks 2.2.1 https://codeload.github.com/cole-trapnell-lab/cufflinks/zip/master

Boost 1_55_0 https://www.boost.org/users/history/

Eigen 3.3.7 http://eigen.tuxfamily.org/index.php?title=Main_Page#Compiler_support

Samtools 0.1.19 https://codeload.github.com/samtools/samtools/tar.gz/0.1.19

htslib 1.9 http://www.htslib.org/download/

操作系统要求

操作系统要求如表1-18所示。

表 1-18 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.4.3 移植规划数据

本章节给出Cufflinks软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-19 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/BOOST

Boost的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/SAMTOOL

samtool的安装规划路径。

4 /path/to/HTSLIB

htslib的安装规划路径。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 20

Page 44: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

5 /path/to/EIGEN

Eigen的安装规划路径。

6 /path/to/CUFFLINKS

Cufflinks的安装规划路径。

1.4.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-20 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”以下章节。

● 本地yum源配置;

● GMP安装;

● MPFR安装;

● MPC安装;

● Infiniband网卡驱动安装;

● OpenMPI安装;

2 安装Boost 参考1.4.4.1 安装Boost。

3 安装samtools 参考1.4.4.2 安装samtools。

4 安装htslib 参考1.4.4.3 安装htslib。

5 安装Eigen 参考1.4.4.4 安装Eigen。

1.4.4.1 安装 Boost

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装相关依赖包。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 21

Page 45: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

cufflinks-2.2.1目前只能使用版本不低于1.47和不高于1.55的Boost。

yum install -y xz-devel.aarch64 ncurses-devel.aarch64 bzip2-devel.aarch64libicu.aarch64 libicu-devel.aarch64

步骤3 执行以下命令添加GNU环境变量。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤4 执行以下命令解压安装包。

tar -xvf boost_1_55_0.tar.bz2

步骤5 执行以下命令进入解压后的目录。

cd boost_1_55_0

步骤6 执行以下命令运行bootstrap.sh脚本。

./bootstrap.sh

步骤7 执行以下命令编译安装Boost。

./b2 --prefix=/path/to/BOOST install

步骤8 确认Boost的lib目录下有库文件生成。

ls /path/to/BOOST/lib

步骤9 添加Boost的环境变量。

export LD_LIBRARY_PATH=/path/to/BOOST/lib:$LD_LIBRARY_PATH

----结束

1.4.4.2 安装 samtools

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入samtools安装目录。

cd /path/to/SAMTOOL

步骤3 执行以下命令解压samtools安装包。

说明

需要分别安装samtool和htslib,避免使用包含htslib的samtools,编译中会出现报错。

tar -xvf samtools-0.1.19.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd samtools-0.1.19

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 22

Page 46: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令获取GNU的绝对路径。

which gcc

步骤6 执行以下命令修改Makefile文件。

vi Makefile

修改前:

CC = gcc

修改后:

CC = /path/to/GNU/bin/gcc

步骤7 执行以下命令进行编译安装。

make

步骤8 执行以下命令将生成的二进制文件拷贝到根目录默认路径中,可以使Cufflinks直接识别samtools及htslib文件。

mkdir /usr/local/include/bam

cp /path/to/SAMTOOL/samtools-0.1.19/libbam.a /usr/local/lib

cp /path/to/SAMTOOL/samtools-0.1.19/*.h /usr/local/include/bam/

cp /path/to/SAMTOOL/samtools-0.1.19/samtools /usr/bin/

----结束

1.4.4.3 安装 htslib

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入htslib安装目录。

cd /path/to/HTSLIB

步骤3 执行以下命令解压htslib安装包。

tar -xvf htslib-1.9.tar.bz2

步骤4 执行以下命令进入解压后的目录。

cd htslib-1.9

步骤5 执行以下命令修改Makefile文件。

vi Makefile

修改前:

CC = gcc

修改后:

CC = /path/to/GNU/bin/gcc

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 23

Page 47: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤6 执行以下命令进行编译安装。

make

步骤7 执行以下命令将生成的文件拷贝到根目录默认路径中,可以使Cufflinks直接识别htslib文件。

cp /path/to/HTSLIB/htslib-1.9/libhts.* /usr/local/lib

----结束

1.4.4.4 安装 Eigen

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入Eigen安装目录。

cd /path/to/EIGEN

步骤3 执行以下命令解压Eigen安装包。

tar -xvf eigen-eigen-323c052e1731.tar.bz2

步骤4 执行以下命令进入解压后的目录。

cd eigen-eigen-323c052e1731

步骤5 执行以下命令创建include目录。

mkdir include

步骤6 执行以下命令将Eigne目录拷贝到include目录。

cp Eigen include -rf

步骤7 执行以下命令获取Eigen绝对路径。

pwd

----结束

1.4.5 获取源码

操作步骤

步骤1 下载Cufflinks安装包“cufflinks-master.zip”。

下载地址:https://codeload.github.com/cole-trapnell-lab/cufflinks/zip/master

步骤2 使用SFTP工具将Cufflinks安装包复制至服务器“/path/to/CUFFLINKS”目录。

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 24

Page 48: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.4.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入Cufflinks安装目录。

cd /path/to/CUFFLINKS

步骤3 执行以下命令解压Cufflinks安装包。

unzip cufflinks-master.zip

步骤4 执行以下命令进入解压后的目录。

cd cufflinks-master

步骤5 执行以下命令生成configure文件。

./autogen.sh --install

步骤6 执行以下命令进行配置。

./configure --with-boost=/path/to/BOOST --with-eigen=/path/to/EIGEN/eigen-eigen-323c052e1731 --prefix=/path/to/CUFFLINKS/build

步骤7 执行以下命令进行编译安装。

make -j16 install

步骤8 执行以下命令添加Cufflinks环境变量。

export PATH=/path/to/CUFFLINKS/build/bin:$PATH

----结束

1.4.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入源码自带的测试文件路径并运行。

cd /path/to/CUFFLINKS/cufflinks-master/external_tests/tiny_tests/2x75

步骤3 执行以下命令转换算例格式。

samtools view -bS accepted_hits.sam > accepted_hits.bam

步骤4 执行以下命令运行算例。

cufflinks accepted_hits.bam

运行状态如下所示表示cufflinks正常结束。

Warning: Using default Gaussian distribution due to insufficient paired-end reads in open ranges. It is recommended that correct parameters (--frag-len-mean and --frag-dev) be provided.> Map Properties:> Normalized Map Mass: 90.00> Raw Map Mass: 90.00

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 25

Page 49: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

> Fragment Length Distribution: Truncated Gaussian (default)> Default Mean: 200> Default Std Dev: 80[19:58:21] Assembling transcripts and estimating abundances.> Processed 1 loci. [*************************] 100%

----结束

1.4.8 故障排除

问题一:编译 Cufflinks 时报 undefined reference to lzma 错误

现象描述:

编译Cufflinks时报错,报错信息为:“undefined reference to'lzma_stream_buffer_bound'”。

可能原因:

没有安装lzma相关依赖包。

处理步骤:

执行以下命令安装xz-devel.aarch64。

yum install xz-devel.aarch64

问题二:编译 Cufflinks 时报 could not detect bam 错误

现象描述:

编译Cufflinks时报错,报错信息为:“error:we could not detect bam”。

可能原因:

● configure文件中判断设置错误;

● configure文件中指定通过<bam/version.hpp>来判断bam版本。

处理步骤:

● configure文件中判断设置错误。

执行以下命令修改“configure”文件。

a. vi configureb. 按“i”进入编辑模式,修改“configure”文件的第5380行,将“no”改为

“yes”。succeeded=yes

c. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

● configure文件中指定通过<bam/version.hpp>来判断bam版本,事实上bam的version文件为version.h。

执行以下命令修改“configure”文件。

a. vi configureb. 按“i”进入编辑模式,将“bam/version.hpp”改为“bam/version.h”。

bam/version.h

c. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 26

Page 50: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

问题三:编译 Cufflinks 时报 could not find htslib 错误

现象描述:

编译Cufflinks时报错,报错信息为:“make提示找不到htslib”。

可能原因:

使用了samtools内置htslib,当前版本不支持内置版本。

处理步骤:

需要在独立安装htslib,将生成的libhts.*复制到lib路径中。

步骤1 执行以下命令安装htslib。

tar -xvf htslib-1.9.tar.bz2

cd htslib-1.9

make

cp libhts.* /usr/local/lib

----结束

问题四:编译 Cufflinks 时报 GHash.hh:91:44: error 错误

现象描述:

编译Cufflinks时报错,报错信息为:

GHash.hh:91:44: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Tp> struct std::hash’91 | while (pos<fCapacity && hash[pos].hash<0) pos++;| ^

可能原因:

Cufflinks源码bug,已在 新master版本中修正。

处理步骤:

请下载 新的Cufflinks安装包。

下载地址:https://codeload.github.com/cole-trapnell-lab/cufflinks/zip/master

问题五:运行测试时报 error while loading shared libraries 错误

现象描述:

运行测试时报错,报错信息类似:“error while loading shared libraries: libhts.so.2:cannot open shared object file: No such file or directory”。

可能原因:

未增加htslib环境变量。

处理步骤:

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 27

Page 51: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令指定htslib地址。

export LD_LIBRARY_PATH=/path/to/HTSLIB/htslib-1.9:$LD_LIBRARY_PATH

----结束

1.4.9 更多资源

官方使用指南:

http://cole-trapnell-lab.github.io/cufflinks/getting_started/

1.5 GATK 4.0.0.0 移植指南(CentOS 7.6)

1.5.1 介绍

GATK全称Genome Anlysis Toolkit,顾名思义,是一套用于分析基因组的工具箱。主要功能是寻找变异位点和基因分型,用于从sequencing数据中进行variant calling,包括SNP、INDEL。

GATK的功能主要可以分为以下几个方面:

● 诊断和质量控制工具(Diagnostics and Quality Control Tools)

● 序列数据处理工具(Sequence Data Processing Tools)

● 变异位点探索工具(Variant Discovery Tools)

● 变异位点评估工具(Variant Evaluation Tools)

● 变异位点操作工具(Variant Manipulation Tools)

● 注释模块

● 读段(reads)过滤

● 资源文件解码工具

● 参考序列实用工具

GATK4是Broad Institute公司2018年1月发布的GATK 新版本,该版本相较于上一代版本有较大改动,包含了新开发的流程和 新的基于机器学习算法的工具。GATK4极大的优化了性能、运算速度、接口灵活性以及可扩展性,端到端的流程即可基于本地也可运行于云端,同时基于spark开发,支持集群部署。

关于GATK的更多信息请访问GATK官网。

语言:JAVA

一句话描述:分析基因组的工具箱。

开源协议:BSD 3-Clause "New" or "Revised" License

建议的版本

建议使用版本为“GATK 4.0.0.0”。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 28

Page 52: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.5.2 环境要求

硬件要求

硬件要求如表1-21所示。

表 1-21 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-22所示。

表 1-22 软件要求

项目 版本 下载地址

GATK 4.0.0.0 https://software.broadinstitute.org/gatk/

Samtools samtools-0.1.9 https://master.dl.sourceforge.net/project/samtools/samtools/0.1.9/samtools-0.1.9.tar.bz2

blat 35.1 https://codeload.github.com/djhshih/blat/tar.gz/v35.1

BWA 0.7.17 https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.17.tar.bz2/download

Hadoop 3.1.2 http://mirror.bit.edu.cn/apache/hadoop/common/stable/

Spark 2.4.4 https://archive.apache.org/dist/spark/

测试算例1 SRR742200_1.fastq ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR742/SRR742200/SRR742200_1.fastq.gz

测试算例2 SRR742200_2.fastq ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR742/SRR742200/SRR742200_2.fastq.gz

测试算例3 human_g1k_v37.fasta

http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/human_g1k_v37.fasta.gz

测试算例4 dbsnp132_20101103.vcf

ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/dbsnp132_20101103.vcf.gz

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 29

Page 53: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

操作系统要求

操作系统要求如表1-23所示。

表 1-23 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.5.3 移植规划数据本章节给出GATK软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-24 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/BLAT blat的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/BMA BMA的安装规划路径。

4 /path/to/SAMTOOLS

samtools的安装规划路径。

5 /path/to/GATK GATK的安装规划路径。

1.5.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 30

Page 54: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

配置流程

表 1-25 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装依赖包 参考1.5.4.1 安装依赖包。

3 安装blat 参考1.5.4.2 安装blat。

4 安装BWA 参考1.5.4.3 安装BWA。

5 安装samtools 参考1.5.4.4 安装samtools。

1.5.4.1 安装依赖包

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装依赖包。

yum install -y java-1.8.0-openjdk-devel.aarch64 ncurses-devel.aarch64 bzip2-devel.aarch64

----结束

1.5.4.2 安装 blat

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下内容安装依赖包。

yum install libpng-devel -y

步骤3 执行以下命令解压blat。

tar zxvf blat-35.1.tar.gz

步骤4 执行以下命令进入解压目录。

cd blat-35.1/

步骤5 执行以下命令声明安装环境。

export MACHTYPE=aarch64

步骤6 执行以下命令编译安装。

make

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 31

Page 55: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤7 执行以下命令声明blat环境变量。

export PATH=/path/to/BLAT/blat-35.1/bin:$PATH

----结束

1.5.4.3 安装 BWA

前提条件

获取“sse2neon.h”文件,获取路径:https://github.com/DLTcollab/sse2neon/blob/master/sse2neon.h。

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压BWA安装包。

tar -xvf bwa-0.7.17.tar.bz2

步骤3 执行以下命令进入解压后的目录。

cd bwa-0.7.17

步骤4 执行以下命令,修改“Makefile”文件。

1. vi Makefile2. 按“i”进入编辑模式,编辑“Makefile”文件的第1,14行。

CC= /path/to/GNU/bin/gccINCLUDES= -I/path/to/GNU/gcc/include

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令,修改“ksw.c”文件。

1. vi ksw.c2. 按“i”进入编辑模式,编辑“ksw.c”文件的第29,30行。

/*#include <emmintrin.h>*/ #include <sse2neon.h>

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 将“Neon指令转换代码”拷贝到编译器特定目录下。

cp sse2neon.h /path/to/GNU/gcc/include

步骤7 执行以下命令进行编译。

make

步骤8 执行以下命令设置BWA的环境变量。

export PATH=/path/to/BMA/bwa-0.7.17:$PATH

步骤9 执行以下命令验证BWA安装是否成功。

bwa

显示类似如下BWA使用信息,说明安装成功。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 32

Page 56: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

bwa <command> [options]

----结束

1.5.4.4 安装 samtools

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压samtools安装包。

tar -xvf samtools-0.1.9.tar.bz2

步骤3 执行以下命令进入解压后的目录。

cd samtools-0.1.9

步骤4 执行以下命令安装依赖包。

yum install xz-devel-5.2.2-1.el7.aarch64 bzip2-devel-1.0.6-13.el7.aarch64ncurses-devel.aarch64 -y

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/SAMTOOLS

步骤6 执行以下命令进行编译。

make

make install

步骤7 执行以下命令设置samtools的环境变量。

export PATH=/path/to/SAMTOOLS/bin:$PATH

步骤8 执行以下命令验证samtools安装是否成功。

samtools

显示类似如下samtools使用信息,说明安装成功。

Program: samtools (Tools for alignments in the SAM format)Version: 0.1.9 (r183)

Usage: samtools <command> [options]

----结束

1.5.5 获取源码

操作步骤

步骤1 下载GATK安装包“gatk-4.0.0.0.zip”。

下载地址:https://software.broadinstitute.org/gatk/。

步骤2 使用SFTP工具将GATK安装包上传至服务器“/path/to/GATK”目录。

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 33

Page 57: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.5.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装GATK4。

unzip gatk-4.0.0.0.zip

export PATH=/path/to/GATK/gatk-4.0.0.0:$PATH

gatk -help

步骤3 Hadoop-Spark服务启动。

Hadoop及Spark安装部署步骤请参考。

----结束

1.5.7 运行和验证

1.5.7.1 GATK4 Spark 模式运行

前提条件

准备数据文件,GATK测试中需要三类数据文件,参考基因组数据文件(FASTA格式文件),原始测序数据(FASTQ或BAM格式文件)以及靶向区域bed文件。

在本测试算例中使用的数据文件如下:

1. 基因组数据文件(FASTA格式文件)

以下为人类基因组信息。

– human_g1k_v37.fasta以下两个vcf自于千人基因组和Mills项目,里面记录了那些项目中检测到的人群Indel区域。

– Mills_and_1000G_gold_standard.indels.hg19.sites.vcf.gz– 1000G_phase1.indels.hg19.sites.vcf.gz以下文件汇集的是目前几乎所有的公开人群变异数据集。

– dbsnp132_20101103.vcf变异数据集根据测序目的选择一到三种数据。

2. 原始测序数据(FASTQ或BAM格式文件)

– SRR742200_1.fastq– SRR742200_2.fastq

a. 使用PuTTY工具,以root用户登录服务器。

b. 执行以下命令创建input文件夹。

mkdir projectDircd projectDirmkdir input

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 34

Page 58: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

c. 执行以下命令解压算例文件。

gzip -d SRR742200_1.fastq.gzgzip -d SRR742200_1.fastq.gzgzip -d human_g1k_v37.fasta.gzgzip -d dbsnp132_20101103.vcf.gz

d. 执行以下命令,使用blat生成2bit格式文件。

faToTwoBit human_g1k_v37.fasta human_g1k_v37.fasta.2bite. 执行以下命令将所有数据文件放进input文件夹内。

cp human_g1k_v37.fasta human_g1k_v37.fasta.2bitSRR742200_1.fastq SRR742200_2.fastq dbsnp132_20101103.vcf input

3. 靶向区域bed文件。

– Illumina_pt2.bed

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令,BWA index对fasta文件构建索引。

bwa index -a bwtsw human_g1k_v37.fasta

显示如下信息:

[bwa_index] Pack FASTA... 27.89 sec[bwa_index] Construct BWT for the packed sequence...[BWTIncCreate] textLength=6203609478, availableWord=448508744[BWTIncConstructFromPacked] 10 iterations done. 99999990 characters processed.[BWTIncConstructFromPacked] 20 iterations done. 199999990 characters processed.[BWTIncConstructFromPacked] 30 iterations done. 299999990 characters processed.[BWTIncConstructFromPacked] 40 iterations done. 399999990 characters processed.[BWTIncConstructFromPacked] 50 iterations done. 499999990 characters processed.[BWTIncConstructFromPacked] 60 iterations done. 599999990 characters processed.[BWTIncConstructFromPacked] 70 iterations done. 699999990 characters processed.[BWTIncConstructFromPacked] 80 iterations done. 799999990 characters processed.[BWTIncConstructFromPacked] 90 iterations done. 899999990 characters processed.<以下输出内容省略>

步骤3 执行以下命令,查看生成索引文件。

ls

说明

执行完步骤2、步骤3,会在当前路径查看到“human_g1k_v37.fasta.amb”、“human_g1k_v37.fasta.ann”、“human_g1k_v37.fasta.bwt”、“human_g1k_v37.fasta.pac”、“human_g1k_v37.fasta.sa”5个文件;生成的索引文件各pipeline通用,仅需构建一次。时间比较长,需要1个半小时左右,将会在后续测序步骤中使用生成的文件。

步骤4 BWA mapping对fastq文件进行比对。

1. 执行以下命令生成字典。

gatk CreateSequenceDictionary -R human_g1k_v37.fasta -Ohuman_g1k_v37.dict显示如下红框中所示信息表示执行完成。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 35

Page 59: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

生成的dict文件是为后面进行基因组的比对。

2. 执行以下命令进行比对。

bwa mem -M -t 96 human_g1k_v37.fasta SRR742200_1.fastqSRR742200_2.fastq > SRR7.sam

表 1-26 参数说明

参数 说明

-t 参数为线程数,一般与服务器核数一致。

显示如下红框中所示信息表示执行完成。

步骤5 执行以下命令,Reorder对基因序列进行重新排序。

bwa生成的sam文件默认按字典式排序,需要转换为按染色体组型进行排序,由picard工具完成,GATK4中已经集成了picard功能。

gatk ReorderSam -I SRR7.sam -O SRR7_reorder.bam -R human_g1k_v37.fasta

显示如下红框中所示信息表示执行完成。

步骤6 Sort对基因序列按照坐标顺序从大到小排序。

1. Spark运行于HDFS文件系统中,在linux系统下不可见,执行以下命令将SRR7_reorder.bam文件传入HDFS文件系统。

hadoop fs -mkdir /seqdatahadoop fs -put SRR7_reorder.bam /seqdata

2. 执行以下命令确认sparklog目录已手动创建。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 36

Page 60: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

hadoop fs –mkdir /sparkloghadoop fs –ls /

3. 执行以下命令进行排序。

gatk SortReadFileSpark -I hdfs://Hostname:9000/seqdata/SRR7_reorder.bam -O hdfs://Hostname:9000/seqdata/SRR7_sorted.bam ----spark-runner SPARK --spark-master spark://Hostname:7077

说明

根据hadoop和spark所布置的master节点来修改这里的节点Hostname,详细请参考。

显示如下红框中所示信息表示执行完成。

4. 执行以下命令将生成的文件拷贝到数据目录。

hadoop fs -get /seqdata/SRR7_sorted.bam ./5. 执行以下命令查看数据目录。

ll显示如下红框中所示信息表示执行完成。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 37

Page 61: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤7 执行以下命令,Add head对基因序列进行加头处理。

GATK2.0以上已经不支持无头文件检测,该步骤可以在bwa比对时加-r进行,也可以使用GATK4中AddOrReplaceReadGroups工具完成。

gatk AddOrReplaceReadGroups -I SRR7_sorted.bam -O SRR7_header.bam -LBlib1 -PL illumina -PU unit1 -SM 20

显示如下红框中所示信息表示执行完成。

步骤8 Mark Duplicates对基因序列去重。

1. 执行以下命令将加头文件传入hdfs文件系统。

hadoop fs -put SRR7_header.bam /seqdata2. 执行以下命令查看hdfs文件系统。

hadoop fs –ls /seqdata

3. 执行以下命令进行去重操作。

gatk MarkDuplicatesSpark -I hdfs://Hostname:9000/seqdata/SRR7_header.bam -O hdfs://Hostname:9000/seqdata/SRR7_markdup.bam-- --spark-runner SPARK --spark-master spark://Hostname:7077

说明

根据hadoop和spark所布置的master节点来修改这里的节点Hostname,详细请参考。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 38

Page 62: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

显示如下红框中所示信息表示执行完成。

步骤9 BQSR进行重新校准。

1. 执行以下命令将原始文件传入HDFS文件系统。

hadoop fs –put dbsnp132_20101103.vcf /seqdatahadoop fs –put human_g1k_v37.fasta.2bit /seqdatahadoop fs –ls /seqdata显示如红框中所示信息表示执行完成。

2. 执行BQSR(Base Quality Score Recalibration)。

gatk BQSRPipelineSpark -I hdfs://Hostname:9000/seqdata/SRR7_markdup.bam -R hdfs://Hostname:9000/seqdata/human_g1k_v37.fasta.2bit -O hdfs://Hostname:9000/seqdata/SRR7_bqsr.bam --known-sites hdfs://Hostname:9000/seqdata/dbsnp132_20101103.vcf --disable-sequence-dictionary-validation true -- --spark-runner SPARK --spark-master spark://Hostname:7077

说明

根据hadoop和spark所布置的master节点来修改这里的节点Hostname,详细请参考。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 39

Page 63: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

显示如下红框中所示信息表示执行完成。

步骤10 执行以下命令,HaplortypeCaller变异流程检测。

变异检测,生成变异体vcf文件。

gatk HaplotypeCallerSpark -R hdfs://Hostname:9000/seqdata/human_g1k_v37.fasta.2bit -I hdfs://Hostname:9000/seqdata/SRR7_bqsr.bam -O hdfs://Hostname:9000/seqdata/SRR7.snp.raw.vcf -- --spark-runner SPARK --spark-master spark://Hostname:7077

说明

根据hadoop和spark所布置的master节点来修改这里的节点Hostname,详细请参考。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 40

Page 64: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

终生成的数据如下信息所示。

----结束

1.5.7.2 GATK4 非 Spark 模式运行

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令,BWA index对fasta文件构建索引。

bwa index -a bwtsw human_g1k_v37.fasta

步骤3 执行以下命令,BWA mapping对fastq文件进行比对。

gatk CreateSequenceDictionary -R human_g1k_v37.fasta -Ohuman_g1k_v37.dict

bwa mem -M -t 64 human_g1k_v37.fasta SRR742200_1.fastqSRR742200_2.fastq > SRR7.sam

步骤4 执行以下命令,Reorder对基因序列进行重新排序。

gatk ReorderSam -I SRR7.sam -O SRR7_reorder.bam -R human_g1k_v37.fasta

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 41

Page 65: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令,Sort对基因序列按照坐标顺序从大到小排序。

gatk SortSam -I SRR7_reorder.bam -O SRR7_sorted.bam --SORT_ORDERcoordinate

步骤6 执行以下命令,Add head对基因序列进行加头处理。

gatk AddOrReplaceReadGroups -I SRR7_sorted.bam -O SRR7_addhead.bam -LB lib1 -PL illumina -PU unit1 -SM 20

步骤7 执行以下命令,Mark Duplicates对基因序列去重。

gatk MarkDuplicates -I SRR7_addhead.bam -M test.metric -OSRR7_markdup.bam

步骤8 执行以下命令,BQSR进行重新校准。

1. 执行以下命令对fasta参考文件进行重新排列生成fai文件。

samtools faidx human_g1k_v37.fasta > human_g1k_v37.fai2. 执行以下命令给vcf文件加index。

gatk IndexFeatureFile -F dbsnp132_20101103.vcfgatk BaseRecalibrator -I SRR7_markdup.bam --known-sitesdbsnp132_20101103.vcf -O SRR7_bqsr.bam -R human_g1k_v37.fastagatk ApplyBQSR -bqsr SRR7_bqsr.bam -I SRR7_markdup.bam -OSRR7_aybqsr.bam

步骤9 执行以下命令,HaplortypeCaller变异流程检测。

gatk HaplotypeCaller -I SRR7_aybqsr.bam -O SRR7_raw.vcf -Rhuman_g1k_v37.fasta

----结束

1.5.8 故障排除

问题一:执行 GATK 报错

现象描述:

执行GATK报错,报错信息类似:“Unable to load libgkl_compression.so fromnative/libgkl_compression.so (/tmp/libgkl_compression8107837509941713683.so: /tmp/libgkl_compression8107837509941713683.so: cannot open shared object file: Nosuch file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bitplatform))”。

可能原因:

GKL是基于Intel CPU开发的加速库,在鲲鹏平台上需要对GKL进行移植。

处理步骤:

不涉及性能对比时该错误可忽略。

1.5.9 更多资源GATK官方用户指南

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 42

Page 66: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

https://software.broadinstitute.org/gatk/documentation/

基因文件数据库

https://hgdownload.soe.ucsc.edu/downloads.html

1.6 HISAT2 2.1.0 移植指南(CentOS 7.6)

1.6.1 介绍HISAT2是一个快速灵敏的比对程序,用于将下一代测序读长(全基因组、转录组和外基因组测序数据)映射到人类基因组(以及单个参考基因组)。在对图的BWT进行扩展的基础上,设计并实现了图FM索引(GFM),并给出了实现方法。除了使用一个代表一般人群的全局GFM索引外,HISAT2还使用了大量涵盖整个基因组的小型GFM索引。(每个索引代表一个56kbp的基因组区域,其中需要使用55,000个索引来覆盖整个人类)。这些小索引(称为本地索引)与若干比对策略相结合,可实现排序读长的有效比对。

关于HISAT2的更多信息请访问HISAT2官网。

语言:C++

一句话描述:快速灵敏的比对程序。

开源协议:GPL 3.0

建议的版本

建议使用版本为“HISAT2 2.1.0”。

1.6.2 环境要求

硬件要求

硬件要求如表1-27所示。

表 1-27 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-28所示。

表 1-28 软件要求

项目 版本 下载地址

hisat2 2.1.0 https://github.com/infphilo/hisat2

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 43

Page 67: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

sse2neon.h master https://github.com/DLTcollab/sse2neon/blob/master/sse2neon.h

bdgp6.tar.gz NA ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/data/bdgp6.tar.gz

GTF文件 Homo_sapiens.GRCh38.86.chr.gtf.gz

ftp://ftp.ensembl.org/pub/release-86/gtf/homo_sapiens/Homo_sapiens.GRCh38.86.chr.gtf.gz

FASTQ文件 R1.fq.gz http://opengene.org/data/R1.fq.gz

FASTQ文件 R2.fq.gz http://opengene.org/data/R2.fq.gz

FASTA文件 Drosophila_melanogaster.BDGP6.dna.toplevel.fa.gz

https://ftp.ensembl.org/pub/release-84/fasta/drosophila_melanogaster/dna/Drosophila_melanogaster.BDGP6.dna.toplevel.fa.gz

操作系统要求

操作系统要求如表1-29所示。

表 1-29 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.6.3 移植规划数据本章节给出HISAT2软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-30 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HISAT2

HISAT2的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 44

Page 68: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

3 /path/to/CASE HISAT2的算例存放规划路径。

现网实际规划的安装路径为准进行替换,不再单独说明。

1.6.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-31 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

1.6.5 获取源码

操作步骤

步骤1 下载HISAT2安装包“hisat2-2.1.0.tar.gz”。

下载地址:https://github.com/infphilo/hisat2。

步骤2 使用SFTP工具将HISAT2安装包上传至服务器“/path/to/HISAT2”目录。

----结束

1.6.6 编译和安装

前提条件

获取“sse2neon.h”文件,获取路径:https://github.com/DLTcollab/sse2neon/blob/master/sse2neon.h。

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将下载的“sse2neon.h”文件拷贝到“/path/to/GNU/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include”目录下。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 45

Page 69: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令解压HISAT2安装包。

cd /path/to/HISAT2

tar -xvf hisat2-2.1.0.tar.gz

cd hisat2-2.1.0

步骤4 执行以下命令设置环境变量。

export NO_TBB=1

export POPCNT_CAPABILITY=0

步骤5 执行以下命令修改“Makefile”文件。

1. vi Makefile2. 按“i”进入编辑模式,修改“Makefile”文件的BITS=64 aarch64分支,在第140

和141行之间插入以下粗体部分内容。

目前BITS=64只支持x86,不支持aarch64,需要新增一个aarch64的分支。

修改前:BITS=32ifeq (x86_64,$(shell uname -m))BITS=64endif

修改后:BITS=32ifeq (x86_64,$(shell uname -m))BITS=64endififeq (aarch64,$(shell uname -m))BITS=64endif

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令修改“Makfile”文件。

1. vi Makefile2. 按“i”进入编辑模式,修改“Makefile”文件的-m64以及-msse2的aarch64分

支,在第159和160行之间插入以下粗体部分内容。

Makefile编译选项-m64/-msse2只支持x86,不支持aarch64,需要增加aarch64分支。

修改前(源文件149 ~156行):ifeq (32,$(BITS)) BITS_FLAG = -m32endif ifeq (64,$(BITS)) BITS_FLAG = -m64endifSSE_FLAG=-msse2

修改后:ifeq (32,$(BITS)) BITS_FLAG = -m32endif ifeq (64,$(BITS)) BITS_FLAG = -m64endifSSE_FLAG=-msse2

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 46

Page 70: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

ifeq (aarch64,$(shell uname -m)) BITS_FLAG = SSE_FLAG =endif

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令修改“Makefile”文件。

1. vi Makefile2. 按“i”进入编辑模式,修改“Makefile”文件的FLAGS参数。

修改前:EXTRA_FLAGS += -DPOPCNT_CAPABILITYDEBUG_FLAGS = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG) DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\""RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3 RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\""NOASSERT_FLAGS = -DNDEBUGFILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE

修改后:EXTRA_FLAGS += DEBUG_FLAGS = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG) -funroll-loops -std=c++98DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\""RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3 -std=c++98 -Xlinker --allow-multiple-definitionRELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\""NOASSERT_FLAGS = -DNDEBUGFILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下命令修改“aligner_sw.h”和“sse_util.h”头文件。

1. 将“sse2neon.h”文件上传到“third_party”目录下。

2. vi aligner_sw.h3. 按“i”进入编辑模式,修改“aligner_sw.h”文件,将“#include

<emmintrin.h>”替换为“#include <sse2neon.h>”。

修改前:#include <emmintrin.h>

修改后:#include <sse2neon.h>

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

5. 同理修改“sse_util.h”文件。

步骤9 执行以下命令进行编译安装。

make

----结束

1.6.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 进入测试算例存放目录。

步骤3 cd /path/to/CASE

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 47

Page 71: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 执行以下命令设置Hisat执行文件的环境变量。

export PATH=/path/to/HISAT2/hisat2-2.1.0/:$PATH

步骤5 执行以下命令解压软件清单中的bdgp6.tar.gz。

cd /path/to/CASE

tar -xvf bdgp6.tar.gz

cd bdgp6

步骤6 执行以下命令修改“make_bdgp6.sh”文件。

1. vi make_bdgp6.sh2. 按“i”进入编辑模式,修改“make_bdgp6.sh”文件。

将以下这行内容注释掉。# ENSEMBL_BASE=ftp://xxxxxxxx

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 使用STFP工具,将“Drosophila_melanogaster.BDGP6.dna.toplevel.fa.gz”文件拷贝到“/path/to/CASE/bdgp6”目录下。

步骤8 执行以下命令解压文件。

gzip -d Homo_sapiens.GRCh38.86.chr.gtf.gz

gzip -d R1.fq.gz

gzip -d R2.fq.gz

步骤9 执行以下命令运行make_bdgp6.sh文件。

./make_bdgp6.sh

步骤10 执行以下命令建立转录组。

extract_exons.py Homo_sapiens.GRCh38.86.chr.gtf > genome.exon

extract_splice_sites.py Homo_sapiens.GRCh38.86.chr.gtf > genome.ss

步骤11 执行以下命令将基因组和转录组建立索引。

hisat2-build -p96 genome.fa --ss genome.ss --exon genome.exon genome_tran

步骤12 执行以下命令运行HISAT2。

hisat2 -t -p 96 -x genome_tran -1 R1.fq -2 R2.fq -S Test.sam

需要查看日志中“Overall time”数值,单位是“XX时:XX分:XX秒”,数值越小性能越优。

测试结果样例如图1-4所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 48

Page 72: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 1-4 测试样例

----结束

1.6.8 更多资源daehwankimlab网站:

http://daehwankimlab.github.io/hisat2/manual/

chenwen的博客(仅中文):

http://blog.biochen.com/archives/337

1.7 STAR 2.7.1a 移植指南(CentOS 7.6)

1.7.1 介绍STAR是一款超快的通用RNA-seq对准器。

【动机】

由于不连续的转录物结构、相对短的读取长度和测序技术不断增加的吞吐量,高吞吐量的RNA-seq数据准确比对是具有挑战性且尚未解决的问题。目前可用的RNA-seq对准器具有高映射错误率、低映射速度、读取长度限制和映射偏差等劣势。

【结果】

为了对齐大型(> 80亿读取)ENCODE转录组RNA-seq数据集,开发了基于先前未描述的RNA-seq比对算法的剪接转录物比对参考(STAR)软件,该算法在未压缩后缀中使用顺序 大可映射种子搜索数组后跟种子聚类和拼接程序。STAR在绘制速度方面优于对齐器的,在12核服务器上每小时与人类基因组对齐5.5亿个2×76 bp配对末端读数,同时提高对齐灵敏度和精确度。除了对标准连接的无偏检测外,STAR还可以发现非规范性剪接和嵌合(融合)转录本,并且还能够绘制全长RNA序列。使用Roche 454测序逆转录聚合酶链反应扩增子,通过实验验证了1960年新型基因间剪接点的成功率为80-90%,证实了STAR映射策略的高精度。

【可用性和实施性】

STAR是作为独立的C ++代码实现的。STAR是以GPLv3许可证分发的免费开源软件,可从http://code.google.com/p/rna-star/下载。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 49

Page 73: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

关于STAR的更多信息请访问STAR官网。

语言:C++

一句话描述:RNA-seq对准器。

开源协议:GPL 3.0

建议的版本

建议使用版本为“STAR 2.7.1a”。

1.7.2 环境要求

硬件要求

硬件要求如表1-32所示。

表 1-32 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-33所示。

表 1-33 软件要求

项目 版本 下载地址

STAR 2.7.1a https://github.com/alexdobin/STAR

测试算例文件1

Homo_sapiens.GRCh38.dna.chromosome.2.fa.gz

ftp://ftp.ensembl.org/pub/release-97/fasta/homo_sapiens/dna/

测试算例文件2

Homo_sapiens.GRCh38.86.chr.gtf.gz

ftp://ftp.ensembl.org/pub/release-86/gtf/homo_sapiens/

测试算例文件3

TG_r1.fastq.gzTG_r2.fastq.gz

http://tools.genxpro.net/omiras/testdata/

操作系统要求

操作系统要求如表1-34所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 50

Page 74: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-34 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.7.3 移植规划数据本章节给出STAR软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-35 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/STAR STAR的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/CASE STAR的测试算例存放规划路径。

1.7.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-36 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 51

Page 75: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.7.5 获取源码

操作步骤

步骤1 下载STAR安装包“STAR-2.7.1a.tar.gz”。

下载地址:https://github.com/alexdobin/STAR。

步骤2 使用SFTP工具将STAR安装包上传至服务器“/path/to/STAR”目录。

----结束

1.7.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 安装系统的依赖包zlib-devel。

yum install zlib-devel -y

说明

此处yum源为CentOS7.6镜像本地源,可自行根据需要在/etc/yum.repos.d路径下修改文件配置。

步骤3 执行以下命令解压STAR安装包。

tar -xvf STAR-2.7.1a.tar.gz

步骤4 执行以下命令进入STAR安装包。

cd STAR-2.7.1a

export BLAST_TOP=`pwd`

步骤5 执行以下命令修改“Makefile”文件。

1. vi source/Makefile2. 按“i”进入编辑模式,编辑“Makefile”文件。

LDFLAGSextra ?= -flto -march=native -mcpu=tsv110CXXFLAGSextra ?= -flto -march=native -mcpu=tsv110

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令编译安装STAR。

cd source

make STAR

步骤7 执行以下命令查看是否生成可执行文件。

ll /path/to/STAR/STAR-2.7.1a/source/STAR-rwxr-xr-x 1 root root 2018464 Aug 9 13:29 STAR

步骤8 执行以下命令设置STAR环境变量。

export PATH=/path/of/STAR/STAR-2.7.1a/source/:$PATH

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 52

Page 76: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.7.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入测试算例存放文件。

cd /path/to/CASE

步骤3 执行以下命令解压算例文件。

gzip -d Homo_sapiens.GRCh38.dna.chromosome.2.fa.gz

gzip -d Homo_sapiens.GRCh38.86.chr.gtf.gz

步骤4 执行以下命令创建基因组索引。

mkdir chr1_hg38_index

{ time STAR --runThreadN 96 --genomeSAindexNbases 12 --runModegenomeGenerate --genomeDir chr1_hg38_index --genomeFastaFilesHomo_sapiens.GRCh38.dna.chromosome.2.fa --sjdbGTFfileHomo_sapiens.GRCh38.86.chr.gtf --sjdbOverhang 99 ; } 2>&1 |tee genome-index.log

步骤5 执行以下命令比对基因组。

{ time STAR --runMode alignReads --outSAMtype BAM Unsorted --readFilesCommand zcat --genomeDir chr1_hg38_index/ --outFileNamePrefixHomo_sapiens.GRCh38 --readFilesIn TG_r1.fastq.gz TG_r2.fastq.gz ; } 2>&1 |teeMapping.log

步骤6 对比基因组完成后,会生成以下文件及目录。

Homo_sapiens.GRCh38Aligned.out.bam

Homo_sapiens.GRCh38Log.final.out

Homo_sapiens.GRCh38Log.out

Homo_sapiens.GRCh38Log.progress.out

Homo_sapiens.GRCh38SJ.out.tab

Homo_sapiens.GRCh38_STARtmp

步骤7 创建基因组索引及基因组对比时,软件不会自动输出相关运行时间或性能的日志需要在测试命令中通过time指令将整体运行时间重定向写入日志文件中。

要查看日志中 后的time命令输出中的“real”数值,单位是时间“x分钟y秒”,数值越低性能越优。

输出的结果如下信息所示。

[root@XA320V2-19 CASE]# cat Mapping.logJan 16 20:42:41 ..... started STAR runJan 16 20:42:41 ..... loading genomeJan 16 20:42:42 ..... started mappingJan 16 20:42:53 ..... finished mappingJan 16 20:42:53 ..... finished successfullyreal 0m11.581s

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 53

Page 77: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

user 0m10.703ssys 0m0.579s

----结束

1.7.8 更多资源

HBCTraining网址

https://hbctraining.github.io/Intro-to-rnaseq-hpc-O2/lessons/03_alignment.html

1.8 Tophat2 2.1.1 移植指南(CentOS 7.6)

1.8.1 介绍

TopHat2是一个快速的将RNA-Seq数据进行快速剪接映射的程序,它使用超快的高通量短读比对程序,将RNA-Seq的信息比对到哺乳动物大小基因组上,然后分析映射结果来鉴别外显子之间的剪接点。TopHat是马里兰大学生物信息和计算机生物中心,以及加利福尼亚大学伯克利分校数学系和分子细胞生物学系以及哈弗大学的干细胞与再生生物学系联合开发的结果。

关于TopHat2的更多信息请访问TopHat2官网。

语言:C语言

一句话描述:一个快速的将RNA-Seq数据进行快速剪接映射的程序

开源协议:Boost Software License 1.0

建议的版本

建议使用版本为“TopHat2 2.1.1”。

1.8.2 环境要求

硬件要求

硬件要求如表1-37所示。

表 1-37 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-38所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 54

Page 78: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-38 软件要求

项目 版本 下载地址

TopHat2 2.1.1 http://ccb.jhu.edu/software/tophat/downloads/tophat-2.1.1.tar.gz

Bowtie2 2.3.5.1 https://netix.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.3.5.1/bowtie2-2.3.5.1-source.zip

SIMDe master https://github.com/nemequ/simde

Boost 1.70.0 https://dl.bintray.com/boostorg/release/1.70.0/source/

测试算例 N/A http://ccb.jhu.edu/software/tophat/downloads/test_data.tar.gz

操作系统要求

操作系统要求如表1-39所示。

表 1-39 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.8.3 移植规划数据本章节给出TopHat2 2.1.1软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-40 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/BOWTIE2

bowtie2的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/BOOST

boost的安装规划路径。

4 /path/to/CASE 测试算例的存放规划路径。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 55

Page 79: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

5 /path/to/TOPHAT2

TopHat2的安装规划路径。

1.8.4 配置编译环境

前提条件

使用sftp工具将各安装包上传至服务器对应目录下。

配置流程

表 1-41 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装bowtie2 参考1.8.4.1 安装bowtie2。

3 安装boost 参考1.8.4.2 安装boost。

1.8.4.1 安装 bowtie2TopHat在测试数据时需要PATH环境中有bowtie2或者bowtie命令,因此需要先安装bowtie2。

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入Bowtie2安装目录。

cd /path/to/BOWTIE2

步骤3 执行以下命令解压bowtie2源码包。

unzip bowtie2-2.3.5.1-source.zip

步骤4 执行以下命令进入解压后的目录。

cd bowtie2-2.3.5.1

步骤5 执行以下命令解压缩SIMDe。

unzip simde-master.zip

步骤6 执行以下命令将SIMDe的文件拷贝到bowtie2中。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 56

Page 80: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cp -a simde-master/simde bowtie2-2.3.5.1/third_party/simde/

步骤7 执行以下命令确认bowtie2-2.3.5.1/third_party/simde/simde/x86/sse2.h文件存在。

cd /path/to/BOWTIE2/bowtie2-2.3.5.1/third_party/simde/simde/x86

ll sse2.h-rw-r--r-- 1 root root 99060 Aug 5 04:12 sse2.h

步骤8 执行以下命令进入bowtie2-2.3.5.1目录。

cd /path/to/BOWTIE2/bowtie2-2.3.5.1

步骤9 执行以下命令进行编译。

make NO_TBB=1 POPCNT_CAPABILITY=0 all

步骤10 执行以下命令加载环境变量。

export PATH=/path/to/BOWTIE2/bowtie2-2.3.5.1:$PATH

----结束

1.8.4.2 安装 boost

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压boost安装包。

tar xvf boost_1_70_0.tar.bz2

步骤3 执行以下命令进入解压后的目录。

cd boost_1_70_0

步骤4 由于tophat只需要boost的thread和system库,bootstrap只需要包含这两个库。使用--prefix指定boost的安装路径。

./bootstrap.sh --with-libraries=system,thread --prefix=/path/to/BOOST --with-toolset=gcc

步骤5 执行以下命令编译和安装。

./b2 -d+2 -q -j 32 threading=multi link=shared variant=release --prefix=/path/to/BOOST install

步骤6 执行以下命令加载环境变量。

export LD_LIBRARY_PATH=/path/to/BOOST/lib:$LD_LIBRARY_PATH

----结束

1.8.5 获取源码

操作步骤

步骤1 下载TopHat2安装包“tophat-2.1.1.tar.gz”。

下载地址:http://ccb.jhu.edu/software/tophat/downloads/tophat-2.1.1.tar.gz。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 57

Page 81: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 使用sftp工具将TopHat2安装包上传至服务器“/path/to/TOPHAT2”目录。

----结束

1.8.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入TOPHAT2目录。

cd /path/to/TOPHAT2

步骤3 执行以下命令解压TopHat2安装包。

tar xvf tophat-2.1.1.tar.gz

步骤4 准备一个Patch文件,将以下内容复制到tophat.patch文件中,与tophat-2.1.1目录在同一目录。

1. vi tophat.patch2. 按“i”进入编辑模式,新增如下内容。

diff -uBw -aur tophat-2.1.1/src/juncs_db.cpp tophat-2.1.1-patched/src/juncs_db.cpp--- tophat-2.1.1/src/juncs_db.cpp 2016-02-14 19:21:17.354079000 +0100+++ tophat-2.1.1-patched/src/juncs_db.cpp 2016-06-02 11:26:34.097425159 +0200@@ -338,7 +338,7 @@ uint32_t left_coord = atoi(scan_left_coord); uint32_t right_coord = atoi(scan_right_coord); bool antisense = *orientation == '-';- junctions.insert(make_pair<Junction, JunctionStats>(Junction(ref_id, left_coord, right_coord, antisense), JunctionStats()));+ junctions.insert(make_pair(Junction(ref_id, left_coord, right_coord, antisense), JunctionStats())); } } diff -uBw -aur tophat-2.1.1/src/tophat_reports.cpp tophat-2.1.1-patched/src/tophat_reports.cpp--- tophat-2.1.1/src/tophat_reports.cpp 2016-02-23 22:20:44.320710000 +0100+++ tophat-2.1.1-patched/src/tophat_reports.cpp 2016-06-02 11:26:22.057239478 +0200@@ -2705,7 +2705,7 @@ junction_stat.gtf_match = true; junction_stat.accepted = true; - gtf_junctions.insert(make_pair<Junction, JunctionStats>(Junction(ref_id, left_coord, right_coord, antisense), junction_stat));+ gtf_junctions.insert(make_pair(Junction(ref_id, left_coord, right_coord, antisense), junction_stat)); } } fprintf(stderr, "Loaded %d GFF junctions from %s.\n", (int)(gtf_junctions.size()), gtf_juncs.c_str());

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令安装Patch。

patch -Np0 -i tophat.patch

步骤6 执行以下命令进入解压后的目录。

cd tophat-2.1.1

步骤7 执行以下命令进行配置。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 58

Page 82: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

./configure --prefix=/path/to/TOPHAT2 --with-boost=/path/to/BOOST

步骤8 执行以下命令进行编译安装。

make -j 1

make install

----结束

1.8.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令设置TopHat2环境变量。

export PATH=/path/to/TOPHAT2/bin:$PATH

步骤3 执行以下命令进入测试算例存放目录。

cd /path/to/CASE

步骤4 执行以下命令解压缩算例。

tar xvf test_data.tar.gz

步骤5 执行以下命令进入算例目录下。

cd test_data

步骤6 执行以下命令运行TopHat2测试。

tophat2 -r 20 test_ref reads_1.fq reads_2.fq

算例运行结束后有Run complete字样表示正常运行,如果出现FAILED则表示出现了运行错误。

要查看日志中 后的time命令输出中的“real time”数值,单位是时间“x秒”,数值越低性能越优。

输出的结果如下信息所示。

[2020-01-17 15:30:37] Beginning TopHat run (v2.1.1)-----------------------------------------------[2020-01-17 15:30:37] Checking for Bowtie Bowtie version: 2.3.5.1[2020-01-17 15:30:37] Checking for Bowtie index files (genome).. Found both Bowtie1 and Bowtie2 indexes.[2020-01-17 15:30:37] Checking for reference FASTA file[2020-01-17 15:30:37] Generating SAM header for test_ref[2020-01-17 15:30:37] Preparing reads left reads: min. length=75, max. length=75, 100 kept reads (0 discarded) right reads: min. length=75, max. length=75, 100 kept reads (0 discarded)[2020-01-17 15:30:37] Mapping left_kept_reads to genome test_ref with Bowtie2[2020-01-17 15:30:38] Mapping left_kept_reads_seg1 to genome test_ref with Bowtie2 (1/3)[2020-01-17 15:30:38] Mapping left_kept_reads_seg2 to genome test_ref with Bowtie2 (2/3)[2020-01-17 15:30:38] Mapping left_kept_reads_seg3 to genome test_ref with Bowtie2 (3/3)[2020-01-17 15:30:38] Mapping right_kept_reads to genome test_ref with Bowtie2[2020-01-17 15:30:38] Mapping right_kept_reads_seg1 to genome test_ref with Bowtie2 (1/3)[2020-01-17 15:30:38] Mapping right_kept_reads_seg2 to genome test_ref with Bowtie2 (2/3)[2020-01-17 15:30:38] Mapping right_kept_reads_seg3 to genome test_ref with Bowtie2 (3/3)[2020-01-17 15:30:38] Searching for junctions via segment mapping

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 59

Page 83: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

[2020-01-17 15:30:38] Retrieving sequences for splices[2020-01-17 15:30:38] Indexing splicesBuilding a SMALL index[2020-01-17 15:30:39] Mapping left_kept_reads_seg1 to genome segment_juncs with Bowtie2 (1/3)[2020-01-17 15:30:39] Mapping left_kept_reads_seg2 to genome segment_juncs with Bowtie2 (2/3)[2020-01-17 15:30:39] Mapping left_kept_reads_seg3 to genome segment_juncs with Bowtie2 (3/3)[2020-01-17 15:30:39] Joining segment hits[2020-01-17 15:30:39] Mapping right_kept_reads_seg1 to genome segment_juncs with Bowtie2 (1/3)[2020-01-17 15:30:39] Mapping right_kept_reads_seg2 to genome segment_juncs with Bowtie2 (2/3)[2020-01-17 15:30:39] Mapping right_kept_reads_seg3 to genome segment_juncs with Bowtie2 (3/3)[2020-01-17 15:30:39] Joining segment hits[2020-01-17 15:30:40] Reporting output tracks-----------------------------------------------[2020-01-17 15:30:40] A summary of the alignment counts can be found in ./tophat_out/align_summary.txt[2020-01-17 15:30:40] Run complete: 00:00:02 elapsed

----结束

1.8.8 更多资源

Patch文件:

https://aur.archlinux.org/cgit/aur.git/tree/make_pair.patch?h=tophat

1.9 Bowtie2 2.4.1 移植指南(CentOS 7.6)

1.9.1 介绍

Bowtie2是将测序reads与长参考序列比对工具(适用于将长度大约为50到100或1000字符的reads与相对较长的基因组,如哺乳动物基因组,进行比对)。

通常是比较基因组学(包括识别变体(variation calling)、ChIP-seq、RNA-seq和BS-seq)管道的第一步。

它可以处理非常长的读数(即10s或100s的千字节),但它针对近期测序仪产生的读数长度和误差模式进行了优化,如Illumina HiSeq 2000、Roche 454和Ion Torrent仪器。

Bowtie2使用FM索引(基于Burrows-Wheeler Transform或BWT)对基因组进行索引,以此来保持其占用较小内存。对于人类基因组来说,内存占用在3.2G左右。Bowtie2支持间隔,局部和双端对齐模式,可以同时使用多个处理器来极大的提升比对速度。

关于bowtie2的更多信息请访问bowtie2官网。

语言:C语言

一句话描述:一种超快速,高效存储的短阅读比对仪,用于下一代测序仪的短DNA序列。短DNA序列与人类基因组的超快速且内存有效的比对。

开源协议:GPL 3.0

建议的版本

建议使用版本“bowtie2 2.4.1”。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 60

Page 84: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.9.2 环境要求

硬件要求

硬件要求如表1-42所示。

表 1-42 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-43所示。

表 1-43 软件要求

项目 版本 下载地址

bowtie2 2.4.1 https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.4.1/bowtie2-2.4.1-source.zip

Python3 3.7.0 https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

SIMDe master https://github.com/nemequ/simde

sse2neno master https://github.com/jratcliff63367/sse2neon/archive/master.zip

测试算例 chromFa.tar.gz http://hgdownload.cse.ucsc.edu/goldenPath/mm10/bigZips/chromFa.tar.gz

操作系统要求

操作系统要求如表1-44所示。

表 1-44 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 61

Page 85: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.9.3 移植规划数据本章节给出BOWTIE2软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-45 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/BOWTIE2 bowtie2的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/PYTHON3 Python3的安装规划路径。

4 /path/to/SIMDE simde的安装规划路径。

5 /path/to/SSE2NENO

sse2neno的安装规划路径。

1.9.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-46 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装Python3 参考1.9.4.1 安装Python3。

1.9.4.1 安装 Python3

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 62

Page 86: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压Python3安装包。

tar -xvf Python-3.7.0.tgz

步骤3 执行以下命令进入解压后的目录。

cd Python-3.7.0

步骤4 执行以下命令编译安装Python3。

./configure --prefix=/path/to/PYTHON3

make -j16

make install

步骤5 执行以下命令设置Python3的环境变量。

export PATH=/path/to/PYTHON/bin:$PATH

export LD_LIBRARY_PATH=/path/to/PYTHON/lib:$LD_LIBRARY_PATH

步骤6 验证Python3环境是否生效。

python -V

----结束

1.9.5 获取源码

操作步骤

步骤1 下载Bowtie2安装包“bowtie2-2.4.1-source.zip”。

下载地址:https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.4.1/bowtie2-2.4.1-source.zip。

步骤2 使用SFTP工具将Bowtie2安装包上传至服务器“/path/to/BOWTIE2”目录。

----结束

1.9.6 编译和安装

1.9.6.1 安装 bowtie2

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令使用yum安装“zlib.aarch64 zlib-devel.aarch64 zlib-static.aarch64”。

yum install zlib.aarch64 zlib-devel.aarch64 zlib-static.aarch64

步骤3 执行以下命令解压安装包。

tar -xvf bowtie2-2.4.1-source.zip

步骤4 执行以下命令进入解压后的目录。

cd bowtie2-2.4.1

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 63

Page 87: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

mkdir -p /third_party/simde/simde/x86/

步骤5 执行以下命令进行配置。

export NO_TBB=1

export POPCNT_CAPABILITY=0

步骤6 执行以下命令解压SIMDe。

unzip simde-master.zip

步骤7 将SIMDe的文件拷贝到bowtie2中。

cp -a /path/to/SIMDE/simde-master/simde /path/to/BOWTIE2/bowtie2-2.4.1/third_party/simde/

步骤8 执行以下命令进行解压包。

unzip master.zip

步骤9 执行以下命令进入解压后的目录。

cd sse2neon-master

步骤10 将sse2neon.h文件拷贝到bowtie2。

cp -a SSE2NEON.h /path/to/BOWTIE2/ bowtie2-2.4.1/third_party/simde/simde/x86/

步骤11 执行以下命令进行编译。

cd ../bowtie2-2.4.1

make all

步骤12 执行下面命令设置环境变量。

export PATH=/path/to/BOWTIE2/bowtie2-2.4.1:$PATH

----结束

1.9.6.2 bowtie2 自建索引

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入解压后的目录。

tar -zxvf chromFa.tar.gz

步骤3 执行以下命令进行重定向。

cat *.fa > mm10.fa

步骤4 执行以下命令构建索引。

bowtie2-build mm10.fa mm10

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 64

Page 88: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.9.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令运行bowtie2获取“SAM”文件。

bowtie2 -p 6 -3 5 --local -x mm10 -1 bowtie2-2.4.1/example/reads/reads_1.fq-2 bowtie2-2.4.1/example/reads/reads_2.fq -S example.sam

结果样例如下显示。

10000 reads; of these: 10000 (100.00%) were paired; of these:10000 (100.00%) aligned concordantly 0 times0 (0.00%) aligned concordantly exactly 1 time 0 (0.00%) aligned concordantly >1 times 0.00% overall alignment rate

----结束

1.9.8 更多资源Bowtie2安装指南(仅中文):

https://blog.csdn.net/u011262253/article/details/79833969

下载chromFa.tar.gz:

http://hgdownload.cse.ucsc.edu/goldenPath/mm10/bigZips/chromFa.tar.gz

1.10 FastQC 0.11.9 移植指南(CentOS 7.6)

1.10.1 介绍FastQC是一款高通量序列数据的质量检控工具,旨在提供一种简单的方法对来自高通量测序管道的原始序列数据进行一些质量控制检查。

关于FastQC的更多信息请访问FastQC官网。

语言:C/Fortran 90

一句话描述:FastQC是一款基因序列数据的质量检控工具。

开源协议:GPL 3.0

建议的版本

建议使用版本为“fastqc_v0.11.9”。

1.10.2 环境要求

硬件要求

硬件要求如表1-47所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 65

Page 89: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-47 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-48所示。

表 1-48 软件要求

项目 版本 下载地址

FastQC 0.11.9 http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.9.zip

openJDK 1.8.0 系统镜像自带

测试算例 B17NC_R1 https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R1.fastq.gz

操作系统要求

操作系统要求如表1-49所示。

表 1-49 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.10.3 移植规划数据本章节给出FastQC软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 66

Page 90: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-50 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/FASTQC

FastQC的安装路径。 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.10.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-51 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装JDK1.8 参考1.10.4.1 安装JDK1.8。

3 安装GUI图形界面 参考1.10.4.2 安装GUI图形界面。

1.10.4.1 安装 JDK1.8

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 检查系统是否安装openJDK,如有则跳过步骤3。

java -version

说明

FastQC要求openJDK版本需要1.6.0以上,否则可能会出现兼任性问题。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 67

Page 91: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令,安装JDK1.8。

yum install java* -y

----结束

1.10.4.2 安装 GUI 图形界面

操作步骤

步骤1 执行以下命令,安装X11图形界面。

yum -y groupinstall "Server with GUI"

----结束

1.10.5 获取源码

操作步骤

步骤1 下载FastQC安装包“fastqc_v0.11.9.zip”。

下载地址:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.9.zip。

步骤2 使用SFTP工具将FastQC安装包上传至服务器“/path/to/FASTQC”目录。

----结束

1.10.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建主程序安装目录。

mkdir -p /path/to/FASTQC

步骤3 执行以下命令复制安装包至主程序安装目录。

cp fastqc_v0.11.9.zip /path/to/FASTQC

步骤4 执行以下命令进入主程序安装目录。

cd /path/to/FASTQC

步骤5 执行以下命令解压。

unzip fastqc_v0.11.9.zip

步骤6 执行以下命令进入解压后路径。

cd FastQC

步骤7 执行以下命令配置界面显示地址。

export DISPLAY=PC上可以连接该服务器IP地址:0.0

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 68

Page 92: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤8 执行以下命令验证fastqc脚本是否可用。

chmod +755 fastqc

./fastqc

结果样例如下所示。

图 1-5 结果样例

说明

在非win7环境下可跳过步骤7和步骤8。

----结束

1.10.7 运行和验证

操作步骤(命令行使用方法)

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建测试目录。

mkdir -p /path/to/FASTQC/test

步骤3 执行以下命令复制测试算例到测试目录,并进入测试目录。

cp B17NC_R1.fastq.gz /path/to/FASTQC/test

cd /path/to/FASTQC/test

步骤4 执行以下命令解压测试算例。

gzip -d B17NC_R1.fastq.gz

步骤5 执行以下命令运行测试。

/path/to/FASTQC/FastQC/fastqc -o ./ ./B17NC_R1.fastq

步骤6 运行完成后会生成“B17NC_R1_fastqc.html”和“B17NC_R1_fastqc.zip”,执行以下命令可查看文件是否存在。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 69

Page 93: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

ll

使用浏览器打开html文件查看结果。

----结束

操作步骤(图形界面使用方法)

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令登录图形化界面。

/path/to/FASTQC/FastQC/fastqc

步骤3 单击左上角“File > Open”,选择算例。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 70

Page 94: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 选择算例后单击“Open”,显示如下图则表示在运行测试。

结果样例如图1-6所示。

图 1-6 结果样例

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 71

Page 95: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.10.8 更多资源FastQC官方网站:

http://www.bioinformatics.babraham.ac.uk/projects/fastqc/

FastQC安装指南:

http://www.bioinformatics.babraham.ac.uk/projects/fastqc/INSTALL.txt

1.11 Beagle 5.1 移植指南(CentOS 7.6)

1.11.1 介绍Beagle是基因填充常用的软件之一, 新版本为5.1,在准确率和运行速度上都有了很大的提升,相比同类软件他具有两个显著的优势,一是内存消耗小,二就是运行速度快。

关于Beagle的更多信息请访问Beagle官网。

语言:JAVA

一句话描述:基因填充软件。

开源协议:GPL 3.0

建议的版本

建议使用版本为“Beagle 5.1”。

1.11.2 环境要求

硬件要求

硬件要求如表1-52所示。

表 1-52 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-53所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 72

Page 96: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-53 软件要求

项目 版本 下载地址 备注

Beagle 5.1 http://faculty.washington.edu/browning/beagle/beagle.27Apr20.b81.jar

Beagle工具包

bref3.27Apr20.b81.jar

- http://faculty.washington.edu/browning/beagle/bref3.27Apr20.b81.jar

VCF格式转bref3格式工具包

unbref3.27Apr20.b81.jar

- http://faculty.washington.edu/browning/beagle/unbref3.27Apr20.b81.jar

bref3格式转VCF格式工具包

1000GenomesProjectdata

- http://faculty.washington.edu/browning/beagle/test.27Apr20.b81.vcf.gz

测试验证文件

操作系统要求

操作系统要求如表1-54所示。

表 1-54 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.11.3 移植规划数据本章节给出Beagle软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-55 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 73

Page 97: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

4 /path/to/BEAGLE Beagle的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.11.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-56 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 JAVA环境搭建 参考1.11.4.1 JAVA环境搭建。

1.11.4.1 JAVA 环境搭建

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装JAVA包。

yum install java-1.8.0-openjdk.aarch64

步骤3 执行以下命令检查JAVA是否安装完成。

java -version

显示如下示例表示JAVA安装完成。

openjdk version "1.8.0_212"

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 74

Page 98: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.11.5 获取源码

操作步骤

步骤1 下载Beagle软件包“beagle.27Apr20.b81.jar”。

下载地址:http://faculty.washington.edu/browning/beagle/beagle.27Apr20.b81.jar。

步骤2 下载VCF转bref3工具包“bref3.27Apr20.b81.jar”。

下载地址:http://faculty.washington.edu/browning/beagle/bref3.27Apr20.b81.jar

步骤3 下载bref3转VCF工具包“unbref3.27Apr20.b81.jar”。

下载地址:http://faculty.washington.edu/browning/beagle/unbref3.27Apr20.b81.jar

步骤4 下载测试用文件“test.27Apr20.b81.vcf.gz”。

下载地址:http://faculty.washington.edu/browning/beagle/test.27Apr20.b81.vcf.gz

步骤5 使用SFTP工具将下载好的软件包上传至服务器“/path/to/Beagle”目录。

----结束

1.11.6 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入Beagle文件夹。

cd /path/to/BEAGLE

步骤3 执行以下命令创建并编辑脚本文件。

1. vim test.sh2. 按“i”进入编辑模式,将以下内容添加到脚本中。

#!/bin/shechoecho "*** Creating test files: ref.27Apr20.b81.vcf.gz target.27Apr20.b81.vcf.gz ***"echozcat test.27Apr20.b81.vcf.gz | cut -f1-190 | tr '/' '|' | gzip > ref.27Apr20.b81.vcf.gzzcat test.27Apr20.b81.vcf.gz | cut -f1-9,191-200 | gzip > target.27Apr20.b81.vcf.gz

echoecho "*** Running test analysis with \"gt=\" argument ***"echojava -jar beagle.27Apr20.b81.jar gt=test.27Apr20.b81.vcf.gz out=out.gt

echoecho "*** Running test analysis with \"ref=\" and \"gt=\" arguments ***"echojava -jar beagle.27Apr20.b81.jar ref=ref.27Apr20.b81.vcf.gz gt=target.27Apr20.b81.vcf.gz out=out.ref

echoecho "*** Making \"bref3\" file ***"

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 75

Page 99: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

echojava -jar bref3.27Apr20.b81.jar ref.27Apr20.b81.vcf.gz > ref.27Apr20.b81.bref3

echoecho "*** Running test analysis with \"bref3\" file ***"echojava -jar beagle.27Apr20.b81.jar ref=ref.27Apr20.b81.bref3 gt=target.27Apr20.b81.vcf.gz out=out.bref3

说明

java -Xmx [ GB ] g -jar beagle.jar [ arguments ]– 其中“[GB]”是内存池的上限,以GB为单位,“[arguments]”是一些用空格分隔的

参数值。

– “[arguments]”有两个参数是在使用时必须添加的:“gt = [file] ”指定一个vcf文件,其中包含研究样品的基因型数据,“out = [字符串] ”指定输出文件名前缀。

– 更多参数的使用请查看官方文档:http://faculty.washington.edu/browning/beagle/beagle_5.1_08Nov19.pdf

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤4 执行以下命令为脚本添加可执行权限。

chmod a+x test.sh

步骤5 执行以下命令运行脚本。

./test.sh

运行完成后输出的结果示例如下所示,该结果也会保存至生成的“.log”日志文件中。Cumulative Statistics:

Study markers: 1,356

Haplotype phasing time: 1 secondTotal time: 1 second

End time: 10:33 AM CST on 09 May 2020beagle.27Apr20.b81.jar finished

----结束

1.11.7 更多资源Beagle官网:

https://faculty.washington.edu/browning/beagle/beagle.html

1.12 Bowtie 1.2.3 移植指南(CentOS 7.6)

1.12.1 介绍Bowtie是一种超快速,内存高效的短读比对仪,旨在将大批短的DNA序列(读段)与大基因组快速比对。

Bowtie使用Burrows-Wheeler索引对基因组进行索引,以保持其内存占用量小,对于人类基因组,该索引通常约为2.2 GB(用于非配对比对)或2.9 GB(用于配对末端或色彩空间比对),同时使用多个处理器以获得更高的对齐速度。

关于Bowtie的更多信息请访问Bowtie官网。

语言:C语言

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 76

Page 100: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

一句话描述:一种超快速,高效存储的短阅读比对仪,用于下一代测序仪的短DNA序列。

开源协议:GPL 3.0

建议的版本

建议使用版本“Bowtie-1.2.3”。

1.12.2 环境要求

硬件要求

硬件要求如表1-57所示。

表 1-57 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-58所示。

表 1-58 软件要求

项目 版本 下载地址

Bowtie 1.2.3 https://codeload.github.com/BenLangmead/bowtie/zip/v1.2.3

simde master https://codeload.github.com/nemequ/simde/zip/master

sse2neno master https://codeload.github.com/jratcliff63367/sse2neon/zip/master

chromFa hg19 https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/chromFa.tar.gz

操作系统要求

操作系统要求如表1-59所示。

表 1-59 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 77

Page 101: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.12.3 移植规划数据

本章节给出Bowtie软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-60 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划”数据章节。

2 /path/to/BOWTIE Bowtie的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/SIMDE simde的安装规划路径。

4 /path/to/SSE2NENO

sse2neno的安装规划路径。

5 /path/to/CHROMFA chromFa的安装规划路径。

1.12.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-61 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 78

Page 102: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.12.5 获取源码

操作步骤

步骤1 下载如下软件包。

● 下载Bowtie安装包“bowtie-1.2.3.zip”。

下载地址:https://github.com/BenLangmead/bowtie/archive/v1.2.3.zip● 下载simde-master安装包“simde-master.zip”。

下载地址:https://codeload.github.com/nemequ/simde/zip/master● 下载sse2neon-master安装包“sse2neon-master.zip”。

下载地址:https://codeload.github.com/jratcliff63367/sse2neon/zip/master

● 下载人类基因组包“chromFa.tar.gz”。

下载地址:https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/chromFa.tar.gz

步骤2 使用SFTP工具将如下软件包上传至服务器对应目录。

● 将Bowtie安装包上传至服务器“/path/to/BOWTIE”目录。

● 将simde-master安装包上传至服务器“/path/to/SIMDE”目录。

● 将sse2neon-master安装包上传至服务器“/path/to/SSE2NENO”目录。

● 将chromFa.tar.gz安装包上传至服务器“/path/to/CHROMFA”目录。

----结束

1.12.6 编译和安装

1.12.6.1 安装 Bowtie

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令使用yum安装依赖包。

yum install zlib.aarch64 zlib-devel.aarch64 zlib-static.aarch64

步骤3 执行以下命令解压安装包。

unzip bowtie-1.2.3.zip

步骤4 执行以下命令进入解压后的目录。

cd /path/to/BOWTIE/bowtie-1.2.3

步骤5 执行以下命令修改配置文件“Makefile”。

1. vi Makefile2. 按“i”进入编辑模式,在大约162行添加如下粗体部分。

若要支持aarch64,在大约162行后添加如下粗体部分。BITS=32ifeq (x86_64,$(shell uname -m))

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 79

Page 103: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

BITS=64endififeq (aarch64,$(shell uname -m))BITS=64endif

在大约187行注释如下内容。#DEBUG_FLAGS = -O0 -g3 -m64#RELEASE_FLAGS = -O3 -m64#NOASSERT_FLAGS = -DNDEBUG#FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE

增加aarch64分支,在注释后添加如下粗体内容。M64_FLAGS := -m64ifeq (aarch64,$(shell uname -m))M64_FLAG :=endif

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令新建文件夹。

mkdir -p ./third_party/simde/simde/x86

步骤7 执行以下命令进行配置。

export NO_TBB=1

export POPCNT_CAPABILITY=0

步骤8 执行以下命令解压simde安装包。

unzip simde-master.zip

步骤9 将“simde-master”下的“simde”文件夹拷贝到“bowtie-1.2.3/third_party/simde/”下。

cp -a simde-master/simde /path/to/BOWTIE/bowtie-1.2.3/third_party/simde/

步骤10 执行以下命令解压sse2neno安装包。

unzip sse2neon-master.zip

步骤11 将“SSE2NEON.h”文件拷贝到“bowtie-1.2.3/third_party/simde/simde/x86/”下。

cp -a sse2neon-master/SSE2NEON.h /path/to/BOWTIE/bowtie-1.2.3/third_party/simde/simde/x86/

步骤12 执行以下命令进行编译。

cd /path/to/BOWTIE/bowtie-1.2.3

make

步骤13 执行以下命令进行安装。

make install

步骤14 执行下面命令设置环境变量。

export PATH=/path/to/BOWTIE/bowtie-1.2.3:$PATH

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 80

Page 104: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.12.6.2 Bowtie 自建索引

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入CHROMFA目录。

cd /path/to/CHROMFA

步骤3 执行以下命令解压chromFa安装包

tar -xzvf chromFa.tar.gz

步骤4 执行以下命令进行重定向。

cat *.fa > man.fa

步骤5 执行以下命令构建索引。

bowtie-build --threads 96 man.fa man_index

步骤6 新建一个目录“man_hg19”,把上面生成的“man_index*.ebwt”文件放进去。

mv *.ebwt man_hg19

----结束

1.12.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入“man_hg19”目录中。

cd man_hg19

步骤3 执行以下命令运行Bowtie获取“.sam”文件(需要对应的生物序列文本xxx.fastq)。

bowtie -S -t -q -p 4 man_index -1 /home/bowtie/test-data/NN.barcode_1.fastq -2 /home/bowtie/test-data/NN.barcode_2.fastqNN.barcode_out.sam

结果样例如下显示。

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 81

Page 105: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.12.8 故障排除

问题一:安装 Bowtie 时错误

现象描述:

安装Bowtie时make编译若报错,具体错误为:narrowing conversion of ‘-1’ from‘int’ to ‘char’ inside { } [-Wnarrowing] 错误。

原因分析:

缩窄转换错误。

处理步骤:

步骤1 执行以下命令修改“alphabet.cpp”文件。

1. vi /path/to/BOWTIE/bowtie-1.2.3/alphabet.cpp2. 按“i”进入编辑模式,修改大约276行。

修改前:char mask2iupac[16] = {…}

修改后:signed char mask2iupac[16] = {…}

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

----结束

1.12.9 更多资源Bowtie安装指南:

https://bbs.huaweicloud.com/forum/thread-47080-1-1.html?

下载chromFa.tar.gz:

https:/hgdownload.soe.ucsc.edu/downloads.html#mm9pairwise-primate

1.13 pblat 2.1 移植指南(CentOS 7.6)

1.13.1 介绍blat,全称The BLAST-Like Alignment Tool,可以称为“类BLAST比对工具”,对于DNA序列,blat是用来设计寻找95%及以上相似至少40个碱基的序列。对于蛋白序列,blat是用来设计寻找80%及以上相似至少20个氨基酸的序列。pblat是一种多线程blat算法,在相同的内存消耗下,充分利用多核处理器的优势,大大减少运行时间。

关于pblat的更多信息请访问pblat官网。

语言:C语言

一句话描述:一种支持多线程的类BLAST比对工具。

建议的版本

建议使用版本为“pblat 2.1”。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 82

Page 106: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.13.2 环境要求

硬件要求

硬件要求如表1-62所示。

表 1-62 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-63所示。

表 1-63 软件要求

项目 版本 下载地址

pblat 2.1 https://codeload.github.com/icebert/pblat/tar.gz/2.1

测试算例 hg19.fa https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/open_database/hg19/gatk_bundle/hg19.fa

NONCODEv5_human.fa

http://www.noncode.org/datadownload/NONCODEv5_human.fa.gz

操作系统要求

操作系统要求如表1-64所示。

表 1-64 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.13.3 移植规划数据

本章节给出pblat软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 83

Page 107: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-65 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划”数据章节。

2 /path/to/PBLAT pblat的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.13.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-66 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.13.5 获取源码

操作步骤

步骤1 下载pblat安装包“pblat-2.1.tar.gz”。

下载地址:https://codeload.github.com/icebert/pblat/tar.gz/2.1。

步骤2 使用SFTP工具将pblat安装包上传至服务器“/path/to/PBLAT”目录。

----结束

1.13.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 84

Page 108: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压pblat安装包。

tar -zxvf pblat-2.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd pblat-2.1/

步骤4 执行以下命令修改Makefile。

1. vim Makefile2. 按“i”进入编辑模式,修改如下内容。

MACHTYPE=aarch64CC=mpicc

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令修改“htmshell.c”文件。

1. vim lib/htmshell.c2. 执行以下命令定位到714行。

:7143. 按“i”进入编辑模式,修改第714行内容。

if (format != NULL)

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令编译pblat。

make -j16

将可执行程序pblat移动到规划路径

cp pblat /path/to/PBLAT

步骤7 执行以下命令添加环境变量。

export PATH=/path/to/PBLAT:$PATH

----结束

1.13.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令建立算例文件夹,复制算例文件。

mkdir /path/to/PBLAT/test

cp hg19.fa /path/to/PBLAT/test

cp NONCODEv5_human.fa.gz /path/to/PBLAT/test

步骤3 执行以下命令进入算例目录。

cd /path/to/PBLAT/test

步骤4 执行以下命令处理算例文件。

gzip -d NONCODEv5_human.fa.gz

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 85

Page 109: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cat NONCODEv5_human.fa | grep -v "^#" | head -799996 > test-799996.fa

步骤5 执行以下命令执行测试。

{ time pblat -threads=96 hg19.fa test-799996.fa out.psl ; } 2>&1 |tee pblat-kunpeng.log

需要查看“pblat-kunpeng.log”日志中的“real”数值,单位是“s”,数值越小性能越优。

输出的结果样例如图1-7所示。

图 1-7 结果样例

----结束

1.13.8 故障排除

问题一:执行 make 时报错

现象描述:

执行make时报错,报错信息为:“error: invalid operands to binary != (have‘va_list’ {aka ‘__va_list’} and ‘void *’)”。

可能原因:

源码编程语言不规范。

处理步骤:

参照步骤5修改“htmshell.c”文件714行部分内容。

----结束

1.13.9 更多资源pblat安装及运行指南:

https://github.com/icebert/pblat

1.14 SnpEffB V4_3 移植指南(CentOS 7.6)

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 86

Page 110: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.14.1 介绍SnpEff是一种变体注释和效果预测工具,它注释并预测了变体对基因的影响(例如氨基酸变化)。

关于SnpEff的更多信息请访问SnpEff官网。

语言:JAVA

一句话描述:一种变体注释和效果预测工具。

建议的版本

建议使用版本“SnpEff V4_3”。

1.14.2 环境要求

硬件要求

硬件要求如表1-67所示。

表 1-67 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-68所示。

表 1-68 软件要求

项目 版本 下载地址

SnpEff V4.3 https://excellmedia.dl.sourceforge.net/project/snpeff/snpEff_v4_3_core.zip

GRCh37.75数据库

37.75 https://nchc.dl.sourceforge.net/project/snpeff/databases/v4_3/snpEff_v4_3_GRCh37.75.zip

操作系统要求

操作系统要求如表1-69所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 87

Page 111: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-69 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.14.3 移植规划数据本章节给出SnpEff软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-70 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划”数据章节。

2 /path/to/SNPEFF SnpEff的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.14.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-71 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 88

Page 112: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.14.5 获取源码

操作步骤

步骤1 下载SnpEff安装包“snpEff_v4_3_core.zip”。

下载地址:https://excellmedia.dl.sourceforge.net/project/snpeff/snpEff_v4_3_core.zip

步骤2 下载GRCh37.75安装包“snpEff_v4_3_GRCh37.75.zip”。

下载地址:https://nchc.dl.sourceforge.net/project/snpeff/databases/v4_3/snpEff_v4_3_GRCh37.75.zip

步骤3 使用SFTP工具将SnpEff安装包和GRCh37.75安装包上传至服务器“/path/to/SNPEFF”目录。

----结束

1.14.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装JAVA环境。

yum install java-1.8.0-openjdk-devel.aarch64 -y

步骤3 执行以下命令进入SnpEff目录。

cd /path/to/SNPEFF

步骤4 执行以下命令解压安装包。

unzip snpEff_v4_3_core.zip

步骤5 执行以下命令复制GRCh37.75文件。

cp snpEff_v4_3_GRCh37.75.zip /path/to/SNPEFF/snpEff

步骤6 执行以下命令进入snpEff目录。

cd /path/to/SNPEFF/snpEff

步骤7 执行以下命令解压安装包。

unzip snpEff_v4_3_GRCh37.75.zip

----结束

1.14.7 测试与验证

操作步骤

步骤1 执行以下命令列出SnpEff支持的数据库(基因组)。

java -jar snpEff.jar databases

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 89

Page 113: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令进入snpEff目录。

cd /path/to/SNPEFF/snpEff

步骤3 执行以下命令输出带注释的文本。

java -jar snpEff.jar -v GRCh37.75 /path/to/SNPEFF/snpEff/examples/test.chr22.vcf > test.chr22.out.vcf

执行完成后会产生3个文件:“snpEff_genes.txt”、“snpEff_summary.html”和“test.chr22.out.vcf”。

输出示例结果如下:

----结束

1.14.8 更多资源SnpEff安装指南:

http://snpeff.sourceforge.net/download.html#install

更多的数据库下载:

https://sourceforge.net/projects/snpeff/files/databases/

1.15 Velvet 1.2.10 移植指南(CentOS 7.6)

1.15.1 介绍Velvet是专为短读测序程序(例如Solexa或454)设计的从头基因组组装器,由欧洲生物学信息研究所(EMBL-EBI)的Daniel Zerbino和Ewan Birney开发,支持多个文库的数据同时使用。

关于Velvet的更多信息请访问Velvet官网 。

语言:C语言

一句话描述:一款常用的基因组拼接软件,常用于二代测序数据的处理,具备很好的拼接完整性。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 90

Page 114: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

开源协议:GPL 3.0

建议的版本

建议使用版本“Velvet 1.2.10”

1.15.2 环境要求

硬件要求

硬件要求如表1-72所示。

表 1-72 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-73所示。

表 1-73 软件要求

项目 版本 下载地址

Velvet 1.2.10 https://codeload.github.com/dzerbino/velvet/tar.gz/v1.2.10

操作系统要求

操作系统要求如表1-74所示。

表 1-74 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.15.3 移植规划数据

本章节给出Velvet软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 91

Page 115: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-75 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划”数据章节。

2 /path/to/VELVET Velvet的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.15.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-76 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.15.5 获取源码

操作步骤

步骤1 下载Velvet安装包“v1.2.10.tar.gz”。

下载地址:https://codeload.github.com/dzerbino/velvet/tar.gz/v1.2.10。

步骤2 使用SFTP工具将Velvet安装包上传至服务器“/path/to/Velvet”目录。

----结束

1.15.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 92

Page 116: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令创建主程序安装目录

mkdir -p /path/to/VELVET

步骤3 复制安装包至主程序安装目录。

cp velvet_1.2.10.tgz /path/to/VELVET

步骤4 执行以下命令进入主程序安装目录。

cd /path/to/VELVET

步骤5 执行以下命令解压安装包。

tar -xvf velvet-1.2.10.tar.gz

步骤6 执行以下命令进入解压后的目录。

cd velvet-1.2.10

步骤7 执行以下命令设置线程数和线程限制。

export OMP_NUM_THREADS=96

export OMP_THREAD_LIMIT=95

说明

● OMP_NUM_THREADS是线程数,线程数=CPU核数。

● OMP_THREAD_LIMIT是线程限制,线程限制=CPU核数-1。

步骤8 执行以下命令修改“Makefile”文件。

sed -ri 's/\-m64/\-mabi=lp64/g' Makefile

步骤9 执行以下命令编译安装软件。

make 'GATEGORIES=10' 'MAXKMERLENGTH=57' 'LONGSEQUENCES=1''OPENMP=1' 'BUNDLEDZLIB=1'

编译完成后会生成“velveth”和“velvetg”两个可执行文件。

----结束

1.15.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入测试目录。

cd /path/to/VELVET/velvet-1.2.10

步骤3 执行以下命令运行可执行文件“velveth”, 准备数据。

./velveth output/ 31 -shortPaired -fastq.gz tests/read1.fq.gz -shortPaired -fastq.gz tests/read2.fq.gz

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 93

Page 117: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

● “output”:代表输出结果的目录;

● “shortPaired”:指定测序类型;

● “Fastaq”:指定的序列格式,通过不同的参数指定指定输入文件的格式:-fasta对应fasta格式;-fastq对应fastq格式;-fastq.gz对应fastq,gz格式;-fasta.gz对应fasta,gz格式;-sam对应sam格式;-ban对应bam格式;

输出结果样例如下显示:

[0.000000] Reading FastQ file tests/read1.fq.gz;[0.083994] 25000 sequences found[0.084004] Done[0.084266] Reading FastQ file tests/read2.fq.gz;[0.162083] 25000 sequences found[0.162091] Done[0.364858] Reading read set file output//Sequences;[0.376048] 50000 sequences found[0.427913] Done[0.427929] 50000 sequences in total.[0.428268] Writing into roadmap file output//Roadmaps...[0.468365] Inputting sequences...[0.468486] Inputting sequence 0 / 50000[1.182309] === Sequences loaded in 0.713954 s[1.303762] Done inputting sequences[1.303770] Destroying splay table[1.305914] Splay table destroyed

步骤4 执行以下命令运行可执行文件“velvetg”, 进行基因组组装。

./velvetg output/ -min_contig_lgth 100

说明

● “output”:代表上一步骤输出结果的目录;

● “min_contig_lgth”:代表Contig的 小长度,小于该长度的Contig会被删除,不会出现在终的结果中。运行结束后,输出目录下的contigs.fa就是 终的组装结果。

输出结果样例如下显示:

[1.258599] Concatenation over![1.259034] Writing contigs into output//contigs.fa...[1.292427] Writing into stats file output//stats.txt...[1.327635] Writing into graph file output//LastGraph...Final graph has 987 nodes and n50 of 199, max 2546, total 110172, using 0/50000 reads

----结束

1.15.8 更多资源GITHUB开发者论坛相关信息:

https://github.com/dzerbino/velvet/tree/master

1.16 XHMM 移植指南(CentOS 7.6)

1.16.1 介绍XHMM使用主成分分析(PCA)归一化和隐马尔可夫模型(HMM)从目标测序实验读取的归一化深度数据中检测基因型拷贝数变异(CNV),被明确设计为使用Illumina

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 94

Page 118: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

HiSeq(或类似方法)对至少约50个样品进行高覆盖率(至少60x-100x)的靶向外显子组测序。

关于XHMM的更多信息请访问XHMM官网。

语言:C++语言

一句话描述:预测拷贝数变异(CNV)的工具。

开源协议:GPL v3

1.16.2 环境要求

硬件要求

硬件要求如表1-77所示。

表 1-77 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-78所示。

表 1-78 软件要求

项目 版本 下载地址

XHMM 新的XHMM开发版本

https://bitbucket.org/statgen/xhmm/get/master.zip

lapack lapack v3.8.0 https://github.com/Reference-LAPACK/lapack/archive/v3.8.0.tar.gz

BLAS OpenBLASv0.3.9

https://github.com/xianyi/OpenBLAS/archive/v0.3.9.tar.gz

测试算例 POST_GATK_DATA

https://atgu.mgh.harvard.edu/xhmm/POST_GATK_DATA.zip

操作系统要求

操作系统要求如表1-79所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 95

Page 119: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-79 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.16.3 移植规划数据本章节给出XHMM软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-80 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划”数据章节。

2 /path/to/OPENBLAS

OpenBLAS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/LAPACK lapack的安装规划路径。

4 /path/to/XHMM XHMM的安装规划路径。

5 /path/to/TEST XHMM测试算例的安装规划路径。

1.16.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-81 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 96

Page 120: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

配置项 说明

2 安装OpneBLAS 参考1.16.4.1 安装OpenBLAS。

3 安装lapack 参考1.16.4.2 安装lapack。

1.16.4.1 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar xzvf OpenBLAS-0.3.9.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd OpenBLAS-0.3.9/

步骤4 执行以下命令设置环境变量。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤5 执行以下命令进行安装编译。

make -j 96

make PREFIX=/path/to/OPENBLAS install

步骤6 执行以下命令设置OpenBLAS的环境变量。

export LIBRARY_PATH=/path/to/OPENBLAS/lib:$LIBRARY_PATH

export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH

----结束

1.16.4.2 安装 lapack

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar xzvf lapack-3.8.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd lapack-3.8.0/

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 97

Page 121: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 执行以下命令配置编译文件。

cp make.inc.example make.inc

步骤5 执行以下命令进行安装编译。

make lapacklib -j96

mkdir /path/to/LAPACK

步骤6 执行以下命令设置LAPACK的环境变量。

export LIBRARY_PATH=/path/to/LAPACK:$LIBRARY_PATH

----结束

1.16.5 获取源码

操作步骤

步骤1 下载如下软件包:

● 下载XHMM源码包“statgen-xhmm-998f7c405974.zip”。

下载地址:https://bitbucket.org/statgen/xhmm/get/master.zip

● 下载lapack源码包“lapack-3.8.0.tar.gz”。

下载地址:https://github.com/Reference-LAPACK/lapack/archive/v3.8.0.tar.gz

● 下载OpenBLAS源码包“OpenBLAS-0.3.9.tar.gz”。

下载地址:https://github.com/xianyi/OpenBLAS/archive/v0.3.9.tar.gz

● 下载XHMM测试算例“POST_GATK_DATA.zip”。

● 下载地址:https://atgu.mgh.harvard.edu/xhmm/POST_GATK_DATA.zip

步骤2 使用SFTP工具将如下软件包上传至服务器对应目录。

● 将XHMM源码包和XHMM测试算例上传至服务器“/path/to/XHMM”目录。

● 将lapack源码包上传至服务器“/path/to/LAPACK”目录。

● 将OpenBLAS源码包上传至服务器“/path/to/OPENBLAS”目录。

----结束

1.16.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

unzip statgen-xhmm-*.zip

步骤3 执行以下命令进入解压后的目录。

cd statgen-xhmm-*

步骤4 执行以下命令修改编译文件“Makefile”。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 98

Page 122: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1. vim Makefile2. 按“i”进入编辑模式,修改第89行内容。

修改前:LAPACK_LIBS=lapack

修改后:LAPACK_LIBS=openblas lapack

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令进行编译和安装。

make -j 96

mkdir /path/to/XHMM

cp build/execs/xhmm params.txt /path/to/XHMM

步骤6 执行以下命令将XHMM的安装路径加入PATH环境变量。

export PATH=/path/to/XHMM:$PATH

----结束

1.16.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 下载测试算例包“POST_GATK_DATA.zip”。

步骤3 使用SFTP工具将测试算例包上传至服务器“/path/to/TEST”路径下。

步骤4 执行以下命令解压算例包。

cd /path/to/TEST

unzip POST_GATK_DATA.zip

步骤5 执行以下命令,用XHMM合并GATK覆盖深度输出的多个样本(在同一位点)。

xhmm --mergeGATKdepths -o ./DATA.RD.txt \

--GATKdepths group1.DATA.sample_interval_summary \

--GATKdepths group2.DATA.sample_interval_summary \

--GATKdepths group3.DATA.sample_interval_summary

运行结果:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Command-line parameter values:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%mergeGATKdepthsGATKdepths="group1.DATA.sample_interval_summary"GATKdepths="group2.DATA.sample_interval_summary"GATKdepths="group3.DATA.sample_interval_summary"outputMatrix="./DATA.RD.txt"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 99

Page 123: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

Reading GATK depth file group1.DATA.sample_interval_summaryReading GATK depth file group2.DATA.sample_interval_summaryReading GATK depth file group3.DATA.sample_interval_summaryWriting GATK read-depth matrix of 30 samples by 300 targets to ./DATA.RD.txt

Total CPU time for processing this job: 6 seconds[user time: 6system time: 0children user time: 0children system time: 0]Total time for processing this job: 0 seconds

生成文件:

DATA.RD.txt

----结束

1.17 pysam 0.15.4 移植指南(CentOS 7.6)

1.17.1 介绍pysam是一个Python模块,用于读取和操作SAM/BAM/VCF/BCF文件。它是htslib C-API的轻量级包装,为samtools,bcftools和tabix提供支持。

更多关于pysam的介绍,可访问网站https://pysam.readthedocs.io/en/latest/api.html#

语言: Python,Cython

开源协议:MIT License

一句话描述:用于读取和操作SAM/BAM/VCF/BCF文件的一个Python模块。

建议的版本

建议使用版本为“pysam-v0.15.4”

1.17.2 环境要求

硬件要求

硬件要求如表1-82所示。

表 1-82 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表 软件要求所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 100

Page 124: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

pysam pysam-v0.15.4 https://github.com/pysam-developers/pysam/archive/v0.15.4.tar.gz

Python Python-3.8.2 https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz

Cython Cython 0.29.19 https://files.pythonhosted.org/packages/79/36/69246177114d0b6cb7bd4f9aef177b434c0f4a767e05201b373e8c8d7092/Cython-0.29.19.tar.gz

操作系统要求

操作系统要求如表1-83所示。

表 1-83 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.17.3 移植规划数据本章节给出pysam软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-84 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/PYSAM pysam安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/PYTHON Python安装规划路径。

4 /path/to/CYTHON Cython安装规划路径。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 101

Page 125: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.17.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-85 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装Python解释器 参考4.1-安装Python解释器。

3 安装Cython包 参考4.2-安装Cython包。

1.17.4.1 安装 Python 解释器

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar xf Python-3.8.2.tar.xz

步骤3 执行以下命令进入解压后的目录。

cd Python-3.8.2

步骤4 执行以下命令设置生成Makefile。

./configure --prefix=/path/to/PYTHON

步骤5 执行以下命令进行安装编译。

make -j 96

make install

步骤6 执行以下命令设置Python的环境变量。

export PATH=/path/to/PYTHON/bin:$PATH

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 102

Page 126: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.17.4.2 安装 Cython 包

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar xzvf Cython-0.29.19.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd Cython-0.29.19/

步骤4 执行以下命令编译Cython。

python3 setup.py build

步骤5 执行以下安装Cython。

python3 setup.py install

----结束

1.17.5 获取源码

操作步骤

步骤1 下载pysam源码包“pysam-0.15.4.tar.gz”。

下载地址:https://github.com/pysam-developers/pysam/archive/v0.15.4.tar.gz

步骤2 使用SFTP工具将pysam压缩包上传至服务器“/path/to/PYSAM”目录。

----结束

1.17.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar xzvf pysam-0.15.4.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd pysam-0.15.4/

步骤4 执行以下命令编译pysam。

python3 setup.py build

步骤5 执行以下命令安装pysam。

python3 setup.py install

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 103

Page 127: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.17.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 进入pysam源代码目录下的pysam-0.15.4/tests/pysam_data/文件夹,找到算例example_aligned_pairs.sam。

cd tests/pysam_data/

步骤3 执行以下命令运行pysam。

python3

import pysam

samfile = pysam.AlignmentFile("example_aligned_pairs.sam")

samfile.count()

输出结果示例52,成功运行pysam解析sam文件。

----结束

1.17.8 故障排除

问题一:

现象描述:

Python-3.8.2安装编译过程中,报错:“ModuleNotFoundError: No module named'_ctypes'”。

可能原因:

由于在CentOS7系统中没有安装外部函数库(libffi)的开发链接库软件包,所以在安装编译的过程中就报了“ModuleNotFoundError: No module named '_ctypes'”的错误。

处理步骤:

Python-3.8.2安装编译之前,安装libffi-devel包,执行命令yum install libffi-devel -y。

问题二:

现象描述:

在configure的过程中,报错:“configure: error: liblzma development files notfound”。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 104

Page 128: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

可能原因:

缺少依赖包xz-devel。

处理步骤:

Python-3.8.2安装编译之前,安装xz-devel包,执行命令yum install xz-devel -y。

1.17.9 更多资源pysam主页:

https://pysam.readthedocs.io/en/latest/api.html#

1.18 Abyss 2.2.4 移植指南(CentOS 7.6)

1.18.1 介绍Abyss是一种从头开始的、并行的、成对末端的序列汇编器,专门用于短读。单处理器版本可用于组装 大100 Mbases的基因组。并行版本使用MPI实现,并能够组装更大的基因组。主流的NGS基因组组装软件都是先将序列划分成kmer, 然后基于de BruijnGraph图论算法,得到组装好的序列。程序运行时,kmer字符串时存储在内存中,所以要求计算机的内存要足够大。Abyss 基于布隆过滤器,其优点在于它可以平行运算,同时运行多个拼接任务,因此处理的基因比NGS大得多。

关于Abyss的更多信息请访问:Abyss官网

语言:C

一句话描述:一种基因序列汇编器。

开源协议:GPL

建议的版本

建议使用版本“Abyss-2.2.4”

1.18.2 环境要求

硬件要求

硬件要求如表1-86所示。

表 1-86 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表 软件要求所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 105

Page 129: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-87 软件要求

项目 版本 下载地址

Abyss Abyss-2.2.4 https://github.com/bcgsc/abyss/archive/2.2.4.tar.gz

boost Boost-1.56.0 http://downloads.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.tar.bz2

test-data 测试算例 https://www.bcgsc.ca/platform/bioinfo/software/abyss/releases/1.3.4/test-data.tar.gz

操作系统要求

操作系统要求如表1-88所示。

表 1-88 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.18.3 移植规划数据本章节给出Abyss软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-89 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/ABYSS Abyss的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际3 /path/to/BOOST boost的存放路

径。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 106

Page 130: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径 用途 说明

3 规划的安装路径为准进行替换,不再单独说明。

/path/to/TESTCASE Abyss测试算例的安装规划路径。

1.18.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-90 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.18.5 获取源码

操作步骤

步骤1 下载Abyss安装包“abyss-2.2.4.tar.gz”。

下载地址: https://github.com/bcgsc/abyss/archive/2.2.4.tar.gz。

步骤2 下载依赖包“boost_1_56_0.tar.bz2”。

下载地址: http://downloads.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.tar.bz2。

步骤3 下载测试算例包test-data.tar.gz。

下载地址:https://www.bcgsc.ca/platform/bioinfo/software/abyss/releases/1.3.4/test-data.tar.gz。

步骤4 使用SFTP工具将Abyss安装包上传至服务器“/path/to/ABYSS”目录。

步骤5 使用SFTP工具将依赖安装包boost上传至服务器“/path/to/BOOST”目录。

步骤6 使用SFTP工具将Abyss测试算例包上传至服务器“path/to/TESTCASE”目录。

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 107

Page 131: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.18.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar -zxvf abyss-2.2.4.tar.gz

步骤3 执行下列命令解压依赖包。

cd /path/to/BOOST

tar jxf boost_1_56_0.tar.bz2

步骤4 执行以下命令进入解压后的目录。

cd /path/to/ABYSS/abyss-2.2.4

步骤5 执行下列命令,生成configure文件。

./autogen.sh

步骤6 执行以下命令将当前运行的MPI的安装路径添加到临时环境变量当中。

export CURRENT_MPI_PATH=`which mpirun | sed 's/\/bin\/mpirun//g'`

步骤7 执行以下命令进行配置。

./configure --prefix=/path/to/ABYSS --with-boost=/path/to/BOOST/boost_1_56_0--without-sparsehash --with-mpi=$CURRENT_MPI_PATH

步骤8 执行以下命令进行安装编译。

make -j 32 AM_CXXFLAGS=-Wall

make install AM_CXXFLAGS=-Wall

步骤9 执行以下命令添加环境变量。

export PATH=/path/to/ABYSS/bin:$PATH

----结束

1.18.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压算例包。

tar xvf test-data.tar.gz

步骤3 切换目录,并执行以下命令进行Abyss组装。

cd /path/to/TESTCASE

abyss-pe k=25 name=test in='reads1.fastq reads2.fastq'

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 108

Page 132: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 上述步骤完成后, 只能单进程运行, 不支持并行, 执行多进程会报错(如下图),并行需要下面的步骤修改文件。

1. 切换路径到Abyss安装路径下,找到“abyss-pe”文件。

cd /path/to/ABYSS/bin

2.执行以下命令修改“abyss-pe”文件。

vi abyss-pe

按“i”进入编辑模式,修改”abyss-pe”的543行和551行,添加 “--allow-run-as-root -mca coll_hcoll_enable 0”,修改后为:

$(gtime) $(mpirun) --allow-run-as-root -mca coll_hcoll_enable 0 -np $(np) abyss-paired-dbg-mpi $(abyssopt) $(ABYSS_OPTIONS) -o $*-1.fa $(in) $(se)$(gtime) $(mpirun) --allow-run-as-root -mca coll_hcoll_enable 0 -np $(np) ABYSS-P $(abyssopt) $(ABYSS_OPTIONS) -o $@ $(in) $(se)

按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

3.切换目录,并行执行Abyss组装。

cd /path/to/TESTCASE/

abyss-pe np=96 k=25 name=test in='reads1.fastq reads2.fastq'

说明

name 参数是生成文件的前缀,运行结束后,会生成很多文件,其中test-contigs.fa和test-scaffolds.fa分别对应contig和scaffold的结果。

运行结果:

n n:1000 L50 min N80 N50 N20 E-size max sum name756 19 6 1315 1752 3094 4947 3141 6122 47778 n=10 s=1000757 20 7 1315 1700 2214 4947 2991 6122 47778 n=10 s=2000759 22 9 1315 1700 2205 3191 2385 4066 47789 n=10 s=5000759 22 9 1315 1700 2205 3191 2385 4066 47789 n=10 s=10000 Best scaffold N50 is 3094 at n=10 s=1000. n n:1000 L50 min N80 N50 N20 E-size max sum name756 19 6 1315 1752 3094 4947 3141 6122 47778 n=10 s=1000PathConsensus --dot -k25 -p0.9 -s test-7.fa -g test-7.dot -o test-7.path test-6.fa test-6.dot test-6.pathAmbiguous paths: 3Merged: 0No paths: 3Too many paths: 0Too complex: 0Dissimilar: 0

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 109

Page 133: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cat test-6.fa test-7.fa \ |MergeContigs -k25 -o test-8.fa - test-7.dot test-7.pathThe minimum coverage of single-end contigs is 2.28.The minimum coverage of merged contigs is 3.83248.Consider increasing the coverage threshold parameter, c, to 3.83248.ln -sf test-8.fa test-scaffolds.faPathOverlap --overlap -k25 --dot test-7.dot test-7.path >test-8.dotln -sf test-8.dot test-scaffolds.dotabyss-fac test-unitigs.fa test-contigs.fa test-scaffolds.fa |tee test-stats.tabn n:500 L50 min N80 N50 N20 E-size max sum name

----结束

1.19 Chaste 2019.1 移植指南(CentOS 7.6)

1.19.1 介绍Chaste是一个通用的仿真软件,主要针对生物学和生理学中出现的多尺度,计算要求高的问题。当前的功能包括组织和细胞水平的电生理学,离散组织建模和软组织建模。该软件主要由位于牛津大学计算机科学系计算生物学小组的团队开发,其开发利用了软件工程,高性能计算,数学建模和科学计算的专业知识。

语言:C++

一句话描述:通用仿真软件。

开源协议:3-clause BSD

建议的版本

建议使用版本为“CHASTE 2019.1”。

1.19.2 环境要求

硬件要求

硬件要求如表1-91所示。

表 1-91 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表 软件要求所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 110

Page 134: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-92 软件要求

项目 版本 下载地址

CHASTE 2019.1 https://github.com/Chaste/Chaste/archive/release_2019.1.tar.gz

PETSc 3.6.2 http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.6.2.tar.gz

BOOST 1.58.0 http://downloads.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.tar.gz

HDF5 1.8.16 https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.16/src/hdf5-1.8.16.tar.bz2

Python 2.5 https://www.python.org/ftp/python/2.5/Python-2.5.tgz

Amara 1.2.0.2 https://files.pythonhosted.org/packages/af/0e/e81dfe4b4fb24023207d86e4d4ff418b0e83927f2155ed3552b0e3196846/Amara-1.2.0.2.tar.gz

4Suite-XML 1.0.2 https://files.pythonhosted.org/packages/0e/ae/3c5b4fffb12be7c3a80c99475853349e1cf8477f99051921ea06fbf5e3b9/4Suite-XML-1.0.2.tar.gz

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 111

Page 135: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

lxml 3.2.1 https://files.pythonhosted.org/packages/a8/17/942c2f167cade0f387b2077299865b6e1d26dca75e1587e12df408b67d9a/lxml-3.2.1.tar.gz

rdflib 2.4.2 https://files.pythonhosted.org/packages/04/06/3904f93f05a4734e4daec069aba9d590f53db899a6a81e8e79ffe6602466/rdflib-2.4.2.tar.gz

python-dateutil 1.5 CentOS7.6系统自带软件包

xsd 4.0.0-25 https://mirrors.tuna.tsinghua.edu.cn/epel/7/aarch64/Packages/x/xsd-4.0.0-25.el7.aarch64.rpm

xerces 3.1.1-10 CentOS7.6系统自带软件包

vtk 6.2.0 http://www.vtk.org/files/release/6.2/VTK-6.2.0.tar.gz

metis 5.1.0 http://ftp.mcs.anl.gov/pub/petsc/externalpackages/metis-5.1.0-p1.tar.gz

parmetis 4.0.3 http://ftp.mcs.anl.gov/pub/petsc/externalpackages/parmetis-4.0.3-p2.tar.gz

f2cblaslapack 3.4.2 http://ftp.mcs.anl.gov/pub/petsc/externalpackages/f2cblaslapack-3.4.2.q1.tar.gz

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 112

Page 136: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

sundials 2.5.0 http://ftp.mcs.anl.gov/pub/petsc/externalpackages/sundials-2.5.0p1.tar.gz

setuptools 0.6c8 https://files.pythonhosted.org/packages/29/17/f98a2cb39bb5b40357fd54fba1dd105e224a447a91867ac5c4ef6f8f0191/setuptools-0.6c8.tar.gz

OpenBLAS 0.3.6 https://github.com/xianyi/OpenBLAS/tree/v0.3.6

测试算例 - https://chaste.cs.ox.ac.uk/chaste/tutorials/release_3.3/UserTutorials/CardiacExecutable/Propagation3d/Propagation3d.tgz

操作系统要求

操作系统要求如表1-93所示。

表 1-93 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.19.3 移植规划数据本章节给出CHASTE软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 113

Page 137: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-94 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/CHASTE

CHASTE的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/PETSC

PETSC的安装规划路径

4 path/to/BOOST

BOOST的安装规划路径

5 path/to/PYTHON

Python的安装规划路径

6 path/to/AMARA

Amara的安装规划路径

7 path/to/LXML

lxml的安装规划路径

8 path/to/RDFLIB

rdflib的安装规划路径

9 path/to/VTK

vtk的安装规划路径

10

path/to/XSD

xsd的安装规划路径

11

/path/to/OPENBLAS

OpenBLAS的安装规划路径

1.19.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 114

Page 138: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

配置流程

表 1-95 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装xerces 参考4.1-安装lxerces、python-dateutil。

3 安装python-dateutil 参考4.1-安装lxerces、python-dateutil。

4 安装PETSC 参考4.2-安装PETSC。

5 安装BOOST 参考4.3-安装BOOST。

6 安装Python 参考4.4-安装Python。

7 安装Amara 参考4.5-安装Amara。

8 安装xsd 参考4.6-安装xsd。

9 安装rdflib 参考4.7-安装rdflib。

10 安装vtk 参考4.8-安装vtk。

11 安装lxml 参考4.9-安装lxml。

12 安装OpenBLAS 参考4.10-安装OpenBLAS。

1.19.4.1 安装 xerces、python-dateutil

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令使用yum安装xerces、python-dateutil:

yum install xerces-c.aarch64 xerces-c-devel.aarch64 python-lxml.aarch64python-dateutil.noarch -y

----结束

1.19.4.2 安装 PETSC

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 115

Page 139: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 将metis、parmetis、f2cblaslapack、sundials的软件包上传至“/path/to/PETSC”路径下。

步骤3 执行以下命令解压PETSC安装包:

cd /path/to/PETSC

tar -xvf petsc-lite-3.6.2.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd petsc-3.6.2

步骤5 执行以下命令加载环境变量。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤6 执行以下命令进行配置。

./configure --with-make-np=4 --with-fc=0 --with-x=false --with-ssl=false --download-f2cblaslapack=/path/to/PETSC/f2cblaslapack-3.4.2.q1.tar.gz --download-parmetis=/path/to/PETSC/parmetis-4.0.3-p2.tar.gz --download-sundials=/path/to/PETSC/sundials-2.5.0p1.tar.gz --with-shared-libraries --with-mpi-dir=$MPI_DIR --download-metis=/path/to/PETSC/metis-5.1.0-p1.tar.gz --download-hdf5=/path/to/PETSC/hdf5-1.8.16.tar.bz2

说明

此处在参数中使用了“--download”,使用该参数后会将指定的其他软件包一并安装。

“—download”参数在使用时可以是”—download-hdf5=1”这种格式,也可以是指定路径的格式,前者从网络下载软件包后安装,后者直接安装指定路径中的软件包。

1. 若5中有出现故障排除中问题一的报错,执行以下命令搜索config.guess和config.sub两个文件。

find ./ -name config.guessfind ./ -name config.sub

2. 将文件中的内容更新为网址中的内容。

config.guess:http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEADconfig.sub:http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

3. 修改完成后重新执行5。

步骤7 执行以下命令安装。

make

步骤8 执行以下命令设置环境变量:

export PETSC_DIR=/path/to/PETSC/petsc-3.6.2

export PETSC_ARCH=linux-gnu

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 116

Page 140: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export SUNDIALS_ROOT=$PETSC_DIR/$PETSC_ARCH

export HDF5_ROOT=$PETSC_DIR/$PETSC_ARCH

----结束

1.19.4.3 安装 BOOST

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将BOOST源码包上传至“/path/to/BOOST”目录下。

步骤3 执行以下命令解压BOOST安装包。

cd /path/to/BOOST

tar -xvf boost_1_58_0.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd boost_1_58_0

步骤5 执行以下命令修改boost中的源码。

sed -ri 's/\-m64/\-mabi=lp64/g' `grep -Rl '\-m64'`

步骤6 执行以下命令进行配置。

./bootstrap.sh --prefix=/path/to/BOOST/boost_1_58_0/build --with-libraries=system,filesystem,serialization,program_options --with-toolset=gcc

步骤7 执行以下命令进行编译安装。

./b2 install

步骤8 执行以下命令设置boost的环境变量。

export LD_LIBRARY_PATH=/pat/to/BOOST/lib:$LD_LIBRARY_PATH

----结束

1.19.4.4 安装 Python

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将python源码包上传至“/path/to/PYTHON”目录下。

步骤3 执行以下命令解压Python安装包。

cd /path/to/PYTHON

tar -zxvf Python-2.5.tgz

步骤4 执行以下命令进入解压后的目录。

cd Python-2.5

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 117

Page 141: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令进行配置。

SVNVERSION=not-found ./configure --prefix=path/to/PYTHON

步骤6 执行以下命令进行编译安装。

make -j 16

make install

步骤7 执行以下命令设置python环境变量。

export PATH=path/to/PYTHON/bin:$PATH

----结束

1.19.4.5 安装 Amara

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将4Suite-XML和Amara的源码包上传至“/path/to/AMARA”目录。

步骤3 执行以下命令安装依赖包4Suite-XML-1.0.2。

cd /path/to/AMARA

tar -xvf 4Suite-XML-1.0.2.tar.gz

cd 4Suite-XML-1.0.2

python setup.py install

步骤4 执行以下命令解压Amara安装包。

cd /path/to/AMARA

tar -zxvf Amara-1.2.0.2.tar.gz

步骤5 执行以下命令进入解压后的目录。

cd Amara-1.2.0.2

步骤6 执行以下命令进行安装。

python setup.py install

说明

Amara需要使用1.2.0.2版本,2.*版本的与chaste不兼容。

Amara1.2.0.2版本需要使用python2.5安装。

----结束

1.19.4.6 安装 xsd

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 118

Page 142: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 将xsd软件包上传至“/path/to/XSD”目录。

步骤3 执行以下命令安装xsd软件包。

cd path/to/XSD

rpm -ivh xsd-4.0.0-25.el7.aarch64.rpm

说明

如可以配置网络yum源则可以使用yum install的方式安装xsd。

手动下载安装rpm包时如报错缺少依赖则将对应依赖的rpm包下载安装即可。

----结束

1.19.4.7 安装 rdflib

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将rdflib和setuptools源码包上传至“/path/to/RDFLIB”目录。

步骤3 执行以下命令安装依赖包setuptools。

cd /path/to/RDFLIB

unzip setuptools-0.6c8.zip

cd setuptools-0.6c8

python setup.py install

步骤4 执行以下命令解压rdflib安装包。

cd path/to/RDFLIB

tar -zxvf rdflib-2.4.2.tar.gz

步骤5 执行以下命令进入解压后的目录。

cd rdflib-2.4.2

步骤6 执行以下命令进行安装。

yum install libxml2-devel libxslt-devel -y

python setup.py install

----结束

1.19.4.8 安装 vtk

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将vtk源码包上传至“/path/to/VTK”目录。

步骤3 执行以下命令解压vtk安装包。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 119

Page 143: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cd path/to/VTK

tar -xvf VTK-6.2.0.tar.gz

cd VTK-6.2.0

步骤4 执行以下命令编译安装vtk。

cmake -DCMAKE_INSTALL_PREFIX=path/to/VTK

make -j 16

make install

步骤5 执行以下命令设置vtk环境变量。

export PATH=/path/to/VTK/bin:$PATH

----结束

1.19.4.9 安装 lxml

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将lxml源码包上传至“/path/to/LXML”目录,

步骤3 执行以下命令解压lxml源码包:

cd /path/to/LXML

tar -xvf lxml-3.2.1.tar.gz

步骤4 执行以下命令安装lxml:

cd lxml-3.2.1

python setup,py install

----结束

1.19.4.10 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 将OpenBLAS源码包上传至“/path/to/OPENBLAS”目录。

步骤3 执行以下命令使用yum安装BLAS、LAPACK。

yum install blas64.aarch64 blas64-devel.aarch64 lapack64.aarch64 lapack64-devel.aarch64 -y

步骤4 执行以下命令解压OpenBLAS源码包:

cd /path/to/OPENBLAS

tar -xvf OpenBLAS-0.3.6.tar.gz

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 120

Page 144: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令进入解压后的目录。

cd OpenBLAS-0.3.6

步骤6 执行以下命令进行编译安装。

make

make PREFIX=/path/to/OPENBLAS install

----结束

1.19.5 获取源码

操作步骤

步骤1 下载Chaste源码包“Chaste-release_2019.1.tar.gz”。

下载地址:https://github.com/Chaste/Chaste/archive/release_2019.1.tar.gz

步骤2 使用SFTP工具将CHASTE源码包上传至服务器“/path/to/CHASTE”目录。

----结束

1.19.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压源码包。

cd /path/to/CHASTE

tar -xvf Chaste-release_2019.1.tar.gz

步骤3 执行以下操作修改translators.py。

vim /path/to/CHASTE/Chaste-release_2019.1/python/pycml/translators.py

将1830行取消注释,将1831行注释掉。

将1838行取消注释,将1839行注释掉。

修改前:

1830 #self.writeln('std::cout << "Too small: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')1831 self.writeln(error_template.format(self.var_display_name(var)))1832 self.close_block(False)1833 for var in high_range_vars:1834 if using_cvode:1835 additional_tolerance_adjustment = ' + tol'1836 self.writeln('if (', self.code_name(var), ' > ', var.get_rdf_annotation(high_prop), additional_tolerance_adjustment, ')')1837 self.open_block()1838 #self.writeln('std::cout << "Too large: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')1839 self.writeln(error_template.format(self.var_display_name(var)))

修改后:

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 121

Page 145: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1830 self.writeln('std::cout << "Too small: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')1831 #self.writeln(error_template.format(self.var_display_name(var)))1832 self.close_block(False)1833 for var in high_range_vars:1834 if using_cvode:1835 additional_tolerance_adjustment = ' + tol'1836 self.writeln('if (', self.code_name(var), ' > ', var.get_rdf_annotation(high_prop), additional_tolerance_adjustment, ')')1837 self.open_block()1838 self.writeln('std::cout << "Too large: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')1839 #self.writeln(error_template.format(self.var_display_name(var)))

步骤4 执行以下命令编译安装Chaste。

cd /path/to/CHASTE

mkdir chaste_build

cd chaste_build

cmake -DCMAKE_INSTALL_PREFIX=/path/to/CHASTE/chaste_build /path/to/CHASTE/Chaste-release_2019.1 -DBoost_INCLUDE_DIR=/path/to/CHASTE/CHASTE_LIBS/boost_1_58_0/build/include

make -j48 Continuous

make install

export PATH=/path/to/CHASTE/chaste_build/apps:$PATH

----结束

1.19.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入安装好的CHASTE文件夹。

cd /path/to/CHASTE

步骤3 执行以下命令串行执行测试算例。

tar -xvf Propagation3d.tgz

cd Propagation3d

Chaste ChasteParameters.xml

步骤4 运行完成后部分回显内容如下,并且会在/tmp/root/testoutput/ChasteResults目录下生成相应文件 InMesh Init AssSys Ode Comms AssRhs NeuBCs DirBCs Ksp Output DataConversion PostProc User1 User2 User3 Total 24.748 ( 17%) 15.570 ( 10%) 76.167 ( 51%) 23.206 ( 15%) 0.032 ( 0%) 0.605 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 6.753 ( 5%) 0.118 ( 0%) 8.987 ( 6%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 149.822 (100%) (seconds)

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 122

Page 146: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

progress_status.txt:在运行模拟时可以查看此文件来估算所需时间。

3dResults.h5:HDF5格式的模拟输出。

Output(文件夹):包含转换为Meshalyzer格式的输出。

cmgui_output(文件夹):包含转换为CMGUI格式的输出cd。

vtk_output(文件夹):包含转换为Paraview(VTK)格式的输出。

步骤5 执行以下命令并行执行测试算例。

mpirun -np 96 --mca btl ^openib --allow-run-as-root ChasteChasteParameters.xml

步骤6 运行完成后部分回显内容如下,并且会在/tmp/root/testoutput/ChasteResults目录下生成相应文件。Proc InMesh Init AssSys Ode Comms AssRhs NeuBCs DirBCs Ksp Output DataConversion PostProc User1 User2 User3 Total 0: 5.108 ( 21%) 0.676 ( 3%) 0.881 ( 4%) 0.355 ( 1%) 0.061 ( 0%) 0.015 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.319 ( 1%) 0.181 ( 1%) 16.723 ( 68%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 24.743 (100%) (seconds) 1: 5.195 ( 21%) 0.759 ( 3%) 1.147 ( 5%) 0.356 ( 1%) 0.046 ( 0%) 0.015 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.319 ( 1%) 0.181 ( 1%) 16.719 ( 68%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 24.742 (100%) (seconds) 2: 5.109 ( 21%) 0.676 ( 3%) 0.867 ( 4%) 0.355 ( 1%) 0.061 ( 0%) 0.014 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.319 ( 1%) 0.181 ( 1%) 16.718 ( 68%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 24.739 (100%) (seconds) 3: 5.129 ( 21%) 0.692 ( 3%) 0.953 ( 4%) 0.355 ( 1%) 0.059 ( 0%) 0.014 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.319 ( 1%) 0.181 ( 1%) 16.719 ( 68%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 24.743 (100%) (seconds) 4: 5.104 ( 21%) 0.672 ( 3%) 0.857 ( 3%) 0.356 ( 1%) 0.061 ( 0%) 0.015 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.319 ( 1%) 0.181 ( 1%) 16.719 ( 68%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 0.000 ( 0%) 24.739 (100%) (seconds)

----结束

1.19.8 故障排除

问题一:petsc 配置过程中报错

现象描述:

运行./configure后报错,报错信息如下:

. This script, last modified 2008-01-23, has failed to recognizethe operating system you are using. It is advised that youdownload the most up to date version of the config scripts fromhttp://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEADandhttp://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

可能原因:

config.guess和config.sub两个证书过期。

处理步骤:

步骤1 执行以下命令搜索config.guess和config.sub两个文件。

find ./ -name config.guess

find ./ -name config.sub

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 123

Page 147: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 将文件中的内容更新为网址中的内容。

config.guess:

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD

config.sub:

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

----结束

问题二:boost 安装过程中报错

现象描述:

运行./b2 install后报错,报错信息:“gcc: error: unrecognized command lineoption ‘-m64’”。

可能原因:

-m64是x86 64位应用编译选项,m64选项设置int为32bits及long、指针为64 bits,为AMD的x86 64架构生成代码。在ARM64平台无法支持。

处理步骤:

执行以下命令修改boost中的源码,将ARM64平台对应的编译选项设置为-mabi=lp64:

sed -ri 's/\-m64/\-mabi=lp64/g' `grep -Rl '\-m64'`

问题三:Python 配置过程中报错

现象描述:

运行./configure后报错,报错信息:“gcc: error: directory": No such file ordirectory”。

可能原因:

Python老版本的bug

处理步骤:

执行以下命令:

SVNVERSION=not-found ./configure

问题四:chaste 安装过程中报错

现象描述:

运行make -j48 Continuous后报错,报错信息:“AttributeError: 'str' object has noattribute 'format'”。

可能原因:

Format是python2.6新增的一个格式化字符串的方法。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 124

Page 148: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

处理步骤:

执行以下操作修改translators.py。

vim /path/to/CHASTE/Chaste-release_2019.1/python/pycml/translators.py

将1830行取消注释,将1831行注释掉。

将1838行取消注释,将1839行注释掉。

修改前:

1830 #self.writeln('std::cout << "Too small: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')1831 self.writeln(error_template.format(self.var_display_name(var)))1832 self.close_block(False)1833 for var in high_range_vars:1834 if using_cvode:1835 additional_tolerance_adjustment = ' + tol'1836 self.writeln('if (', self.code_name(var), ' > ', var.get_rdf_annotation(high_prop), additional_tolerance_adjustment, ')')1837 self.open_block()1838 #self.writeln('std::cout << "Too large: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')1839 self.writeln(error_template.format(self.var_display_name(var)))

修改后:

1830 self.writeln('std::cout << "Too small: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')1831 #self.writeln(error_template.format(self.var_display_name(var)))1832 self.close_block(False)1833 for var in high_range_vars:1834 if using_cvode:1835 additional_tolerance_adjustment = ' + tol'1836 self.writeln('if (', self.code_name(var), ' > ', var.get_rdf_annotation(high_prop), additional_tolerance_adjustment, ')')1837 self.open_block()1838 self.writeln('std::cout << "Too large: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')1839 #self.writeln(error_template.format(self.var_display_name(var)))

1.19.9 更多资源CHASTE官网:

http://www.cs.ox.ac.uk/chaste/

1.20 COPASI 4.27.217 移植指南(CentOS 7.6)

1.20.1 介绍COPASI是一款用于模拟和分析生化网络及其动力学的软件。COPASI是一个独立程序,支持SBML标准中的模型,并且可以使用ODE或Gillespie的随机模拟算法来模拟它们的行为;此类仿真中可以包含任意离散事件。

关于COPASI的更多信息请访问COPASI官网。

语言:C++

一句话描述:生化系统模拟器。

开源协议:Artistic License 2.0

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 125

Page 149: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

建议的版本

建议使用版本为“COPASI 4.27.217”。

1.20.2 环境要求

硬件要求

硬件要求如表1-96所示。

表 1-96 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表 软件要求所示。

表 1-97 软件要求

项目 版本 下载地址

COPASI 4.27.217 https://codeload.github.com/copasi/COPASI/tar.gz/Build-217

copasi-dependencies 4.26.213 https://codeload.github.com/copasi/copasi-dependencies/tar.gz/v4.26.213

操作系统要求

操作系统要求如表1-98所示。

表 1-98 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 126

Page 150: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.20.3 移植规划数据

本章节给出COPASI软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/COPASI

COPASI的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.20.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.20.5 获取源码

操作步骤

步骤1 下载COPASI安装包“COPASI-Build-217.tar.gz”。

下载地址:https://codeload.github.com/copasi/COPASI/tar.gz/Build-217

步骤2 下载官方提供的依赖库安装包“copasi-dependencies-4.26.213.tar.gz”

下载地址:https://codeload.github.com/copasi/copasi-dependencies/tar.gz/v4.26.213

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 127

Page 151: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 使用SFTP工具将下载好的软件包上传至服务器“/path/to/COPASI”目录。

----结束

1.20.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 使用yum命令安装需要的依赖。

yum install qt.aarch64 qt-devel.aarch64 -y

步骤3 执行以下命令设置环境变量。

export PATH=/path/to/cmake/bin:$PATH

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

export PATH=/path/to/GNU/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:$LD_LIBRARY_PATH

export PATH=/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤4 执行以下命令解压官方提供的依赖库安装包。

cd /path/to/COPASI

tar -xvf copasi-dependencies-4.26.213.tar.gz

步骤5 执行以下命令进行依赖库的编译安装。

cd copasi-dependencies-4.26.213

./createLinux.sh

步骤6 执行以下命令将lib64目录下的文件复制到lib目录下。

cp -r ./bin/lib64/* ./bin/lib

步骤7 执行以下命令解压COPASI源码包。

cd /path/to/COPASI

tar -xvf COPASI-Build-217.tar.gz

步骤8 执行以下命令进行COPASI的编译安装。

cd COPASI-Build-217/

mkdir build

cd build

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 128

Page 152: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cmake -DBUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=/path/to/COPASI/COPASI-Build-217/build -DCOPASI_DEPENDENCY_DIR=/path/to/COPASI/copasi-dependencies-4.26.213/bin ../

make install

步骤9 执行以下命令添加环境变量。

export PATH=/path/to/COPASI/COPASI-Build-217/build/bin:$PATH

----结束

1.20.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入软件自带的测试算例文件夹。

cd /path/to/COPASI/COPASI-Build-217/TestSuite/events

步骤3 执行以下命令。

CopasiSE --nologo EventTest10.cps

运行完成后会生成EventTest10.1.txt文件,文件中部分内容如下:Time [dClk-mRNA] [PDP1_n] [VRI_n] [dCLK_c] [dCLK_n] [PER/TIM] [PER/TIM-dCLK_n] [vri-mRNA] [VRI_c] [pdp1-mRNA] [PDP1_c] [per/tim-mRNA] Values[T2] Values[periodPDP1_n] Values[peaktimePDP1_n] Values[periodPDP1_n2] Values[entryn] 2 0 1 1 1 1 1 1 1 1 1 1 1 1 289 0 0 0 3 3 0.2 1.060865 1.292758 1.14419 1.09696 4.367713e-07 0.2857835 1.473923 0.8788726 1.342719 0.9681366 1.247499 0.9871192 289.2198 0 0 0 3 4 0.4 1.068151 1.648851 1.341789 1.183658 2.294009e-07 0.5653802 1.089928 0.7703788 1.552953 0.9366577 1.473933 0.9741363 289.439 0 0 0 3 5 0.6 1.031855 2.059697 1.548262 1.245526 1.586807e-07 0.839073 0.8118105 0.6734762 1.660906 0.9055907 1.679842 0.9610636 289.657 0 0 0 3 6 0.8 0.9729359 2.516842 1.734552 1.276873 1.212695e-07 1.10751 0.6115929 0.5871731 1.69151 0.8749563 1.865798 0.9479062 289.8732 0 0 0 3 7 1 0.9055821 3.011998 1.883421 1.279214 9.706993e-08 1.371431 0.467994 0.5105355 1.665151 0.8447758 2.032401 0.9346702 290.087 0 0 0 3 8 1.2 0.8373431 3.537083 1.986414 1.257421 7.963505e-08 1.631489 0.3650866 0.4426853 1.598318 0.8150713 2.180288 0.9213625 290.2979 0 0 0 3 9 1.4 0.772229 4.084265 2.041389 1.217347 6.629547e-08 1.888166 0.2911314 0.382799 1.504186 0.7858652 2.310128 0.9079909 290.5051 0 0 0 3 10 1.6 0.7126733 4.646009 2.050526 1.164757 5.573753e-08 2.14175 0.2376022 0.3301069 1.393124 0.75718 2.422625 0.8945639 290.7083 0 0 0 3 11 1.8 0.6606023 5.215126 2.018753 1.104975 4.723108e-08 2.392337 0.1983997 0.283891 1.273154 0.7290379 2.518516 0.8810909 290.9068 0 0 0 3

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 129

Page 153: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.20.8 故障排除

问题一:运行 make install 进度 100%后报错

现象描述:

运行make install进度100%后报错,报错信息为:“make[2]: *** No rule to maketarget `/path/to/COPASI/copasi-dependencies-master/bin/lib/libexpat.a', needed by`copasi/CopasiSE/CopasiSE'. Stop.”。

可能原因:

● libexpat.a在对应目录下不存在。

● 在使用脚本安装依赖时该文件生成在同级的lib64目录下。

处理步骤:

步骤1 切换到copasi-dependencies-4.26.213目录。

cd /path/to/COPASI/copasi-dependencies-4.26.213

步骤2 执行以下命令将lib64目录下的文件复制到lib目录下。

cp -r ./bin/lib64* ./bin/lib

----结束

1.20.9 更多资源获取更多资源,请查看COPASI官网:

http://copasi.org/

1.21 FASTA 36.3.8 移植指南(CentOS 7.6)

1.21.1 介绍该FASTA程序是用于搜索蛋白质和DNA序列数据库一整套相似性搜索和比对程序。与BLAST程序blastp和一样blastn,该fasta程序本身使用快速启发式策略在蛋白质和DNA序列中查找相似区域。但是,除了启发式相似性搜索之外,FASTA软件包还提供了用于严格的本地(ssearch)和全局(ggsearch)相似性搜索的程序,以及用于查找非重叠序列相似性(lalign)的程序。

关于FASTA的更多信息请访问FASTA。

语言: C

一句话描述:用于搜索蛋白质和DNA序列数据库一整套相似性搜索和比对程序。

开源协议:Apache2.0

建议的版本

建议使用版本“fasta36-36.3.8”

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 130

Page 154: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.21.2 环境要求

硬件要求

硬件要求如表1-99所示。

表 1-99 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表 软件要求所示。

表 1-100 软件要求

项目 版本 下载地址

FASTA fasta36-36.3.8

https://github.com/wrpearson/fasta36/archive/v36.3.8h_04-May-2020.tar.gz

sse2neon

master https://github.com/DLTcollab/sse2neon.git

操作系统要求

操作系统要求如表1-101所示。

表 1-101 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.21.3 移植规划数据本章节给出miniFE软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 131

Page 155: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-102 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/FASTA FASTA的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.21.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-103 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.21.5 获取源码

操作步骤

步骤1 下载FASTA安装包“fasta36-36.3.8h_04-May-2020.tar.gz”。

下载地址:https://github.com/wrpearson/fasta36/archive/v36.3.8h_04-May-2020.tar.gz

步骤2 使用SFTP工具将FASTA安装包上传至服务器“/path/to/FASTA”目录。

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 132

Page 156: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.21.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar -xvf fasta36-36.3.8h_04-May-2020.tar.gz

unzip sse2neon-master.zip

步骤3 执行以下命令进入解压后的目录。

cp sse2neon-master/sse2neon.h /path/to/FASTA/fasta36-36.3.8h_04-May-2020/src/

cd /path/to/FASTA/fasta36-36.3.8h_04-May-2020/make

步骤4 执行以下命令修改文件内容。

vim Makefile.linux64_sse2

1. 按“i”进入Makefile.linux64_sse2编辑模式,创建内容:13 SHELL=/bin/bash1415 CC = gcc -g -O2 -march=armv8.2-a16 LIB_DB=

2. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下切换到src目录。

cd ../src

步骤6 修改 smith_waterman_sse2.c文件内容。

1. vim smith_waterman_sse2.c2. 按“i”进入smith_waterman_sse2.c编辑模式,修改以下内容:

23 #include "sse2neon.h"24 #endif

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 修改global_sse2.c文件内容。

1. vim global_sse2.c2. 按“i”进入global_sse2.c编辑模式,修改以下内容:

21 #else22 #include "sse2neon.h"23 #endif

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 修改glocal_sse2.c文件内容。

1. vim glocal_sse2.c2. 按“i”进入glocal_sse2.c编辑模式,修改以下内容:

21 #else22 #include "sse2neon.h"23 #endif

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 133

Page 157: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤9 执行以下命令进行编译和安装。

make -f ../make/Makefile.linux64_sse2

步骤10 执行以下命令进入 data 目录。

cd /path/to/FASTA/fasta36-36.3.8h_04-May-2020/data

----结束

1.21.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令运行fasts36。

export PATH=/path/to/FASTA/fasta36-36.3.8h_04-May-2020/bin:$PATH

mpirun --allow-run-as-root -np 96 ../bin/fasta36 -q ../seq/titin_hum.seq

../seq/prot_test.lseg

查看结果生成结果time:51.260s如下图所示。

----结束

1.21.8 更多资源

Mantevo官网:

http://www.mantevo.org/

1.22 gmap 2015.9.21 移植指南(CentOS 7.6)

1.22.1 介绍

gamp是mRNA和EST序列的基因组定位和比对程序。GMAP 早用于讲EST/cDNA序列比对到参考基因组上,可以用于基因组结构注释。

建议的版本

建议使用版本“gmap-2015-09-21”

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 134

Page 158: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.22.2 环境要求

硬件要求

硬件要求如表1-104所示。

表 1-104 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表 软件要求所示。

表 1-105 软件要求

项目 版本 下载地址

gamp gmap-2015-09-21

http://research-pub.gene.com/gmap/src/gmap-gsnap-2015-09-21.tar.gz

算例1 human_g1k_v37.fasta

http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/human_g1k_v37.fasta.gz

操作系统要求

操作系统要求如表1-106所示。

表 1-106 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.22.3 移植规划数据本章节给出gamp软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 135

Page 159: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-107 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/GMAP gamp的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/TESTCASE human_g1k_v37.fasta的安装规划路径

1.22.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-108 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.22.5 获取源码

操作步骤

步骤1 下载gamp安装包“gmap-gsnap-2015-09-21.tar.gz”。

下载地址:http://research-pub.gene.com/gmap/src/gmap-gsnap-2015-09-21.tar.gz。

步骤2 下载算例“human_g1k_v37.fasta”

下载地址:http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/human_g1k_v37.fasta.gz。

步骤3 使用SFTP工具将gamp安装包上传至服务器“/path/to/GMAP”目录。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 136

Page 160: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 使用SFTP工具将human_g1k_v37.fasta算例上传至服务器“path/to/TESTCASE”目录。

----结束

1.22.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar -zxvf gmap-gsnap-2015-09-21.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd /path/to/GMAP/gmap-2015-09-21

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/GMAP/Install --build=arm-linux

步骤5 执行以下命令进行安装编译。

make -j 32

make install

步骤6 执行以下命令添加环境变量。

export PATH=/path/to/GMAP/Install/bin:$PATH

----结束

1.22.7 运行和验证

操作步骤

步骤1 执行命令, 查看gamp版本信息。

gmap --verion

回显类似如下信息,代表gamp安装成功:

步骤2 执行命令, 解压算例。

cd path/to/TESTCASE

gzip -d human_g1k_v37.fasta.gz

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 137

Page 161: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行下列命令,建立参考序列索引(-D:索引路径 -d:索引文件)。

mkdir human_index_home

gmap_build -D /path/to/TESTCASE/human_index_home -d human_g1k_v37human_g1k_v37.fasta

步骤4 执行系列命令, 进行比对(-f 输出文件为gff3_gene格式)。

{ time -p gmap -t 96 -D /path/to/TESTCASE/human_index_home -dhuman_g1k_v37 -f gff3_gene human_g1k_v37.fasta; } 2>&1 |tee -amapping_human.gff3

生成文件mapping_human.gff3,则运行成功。

----结束

1.23 VarScan 2.4.2 移植指南(CentOS 7.6)

1.23.1 介绍

VarScan是华盛顿大学基因组研究所开发的用于检测NGS数据中变体的软件工具。VarScan采用可靠的启发式/统计方法来满足读取深度,碱基质量,变异等位基因频率和统计显着性所需阈值的变异。

关于VarScan的更多信息请访问VarScan官网。

语言:java

一句话描述:用于检测NGS数据中变体的软件工具。

建议的版本

建议使用版本为“VarScan 2.4.2”。

1.23.2 环境要求

硬件要求

硬件要求如表1-109所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 138

Page 162: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-109 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表 软件要求所示。

表 1-110 软件要求

项目 版本 下载地址

VarScan

2.4.4 https://codeload.github.com/dkoboldt/varscan/tar.gz/2.4.2

Samtools

1.10 https://codeload.github.com/samtools/samtools/tar.gz/1.10

测试算例

hg19.fa https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/open_database/hg19/gatk_bundle/hg19.fa

bwa.sam bwa结果文件,参考《BWA 0.7.17 移植指南(CentOS7.6)》

操作系统要求

操作系统要求如表1-111所示。

表 1-111 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.23.3 移植规划数据本章节给出VarScan软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 139

Page 163: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-112 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/SAMTOOLS

samtools的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/VARSCAN

VarScan的安装规划路径。

1.23.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-113 配置流程

序号

配置项 说明

1 基础环境搭建

参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.23.5 获取源码

操作步骤

步骤1 下载samtools工具包“samtools-1.10.tar.gz”。

下载地址:https://codeload.github.com/samtools/samtools/tar.gz/1.10。

步骤2 下载VarScan安装包“varscan-2.4.2.tar.gz”。

下载地址:https://codeload.github.com/dkoboldt/varscan/tar.gz/2.4.2。

步骤3 使用SFTP工具将samtools工具包上传至服务器“/path/to/SAMTOOLS”目录,将VarScan安装包上传至服务器“/path/to/VARSCAN”目录。

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 140

Page 164: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.23.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装相关依赖包。

yum install ncurses-devel.aarch64 bzip2-devel.aarch64 xz-devel.aarch64java-1.8.0-openjdk-devel.aarch64 -y

步骤3 执行以下命令进入samtools目录。

cd /path/to/SAMTOOLS

步骤4 执行以下命令解压samtools工具包。

tar -xvf samtools-1.10.tar.gz

步骤5 执行以下命令进入解压后的目录。

cd samtools-1.10

步骤6 执行以下命令进行配置。

./configure --prefix=/path/to/SAMTOOLS/samtools-1.10-build

步骤7 执行以下命令进行编译安装。

make -j16

make install

步骤8 执行以下命令添加samtools环境变量。

export PATH=/path/to/SAMTOOLS/samtools-1.10-build/bin:$PATH

步骤9 执行以下命令进入VarScan目录。

cd /path/to/VARSCAN

步骤10 执行以下命令解压varscan-2.4.2.tar.gz。

tar -xvf varscan-2.4.2.tar.gz

步骤11 执行以下命令进入解压后的目录。

cd varscan-2.4.2

步骤12 执行以下命令测试VarScan环境。

java -jar VarScan.v2.4.2.jar

环境正常则显示如下图:

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 141

Page 165: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

----结束

1.23.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令拷贝用例文件并进入测试目录。

cp hg19.fa /path/to/VARSCAN/varscan-2.4.2

cp bwa.sam /path/to/VARSCAN/varscan-2.4.2

cd /path/to/VARSCAN/varscan-2.4.2

步骤3 执行以下命令使用samtools工具转换格式并排序。

samtools view -bS bwa.sam > bwa.bam

samtools sort -@96 -o bwa.sort.bam bwa.bam

步骤4 执行以下命令使用samtools工具处理用例文件。

samtools mpileup -f hg19.fa bwa.sort.bam > myData.pileup

步骤5 执行以下命令运行用例。

{ time java -jar VarScan.v2.4.2.jar pileup2snp myData.pileup > VarScan.vcf ; }2>&1 |tee varscan.log

运行结束后,会在当前目录下生成VarScan.vcf和varscan.log文件,其中VarScan.vcf为用例对比结果文件,varscan.log为运行日志。

需要查看varscan.log日志中的“real”数值,单位是“s”,数值越少性能越优。

输出的结果样例如图1-8所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 142

Page 166: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 1-8 结果样例

----结束

1.23.8 更多资源

VarScan官网:

http://dkoboldt.github.io/varscan/

1.24 Minimap2 移植指南(CentOS 7.6)

1.24.1 介绍

Minimap2是一种快速的序列比对程序,可将DNA或MRNA序列与大型参考数据库对齐。

语言:C/C++

一句话描述:Minimap2是一种多功能基因序列比对程序。

开源协议:MIT

建议的版本

建议通过git下载 新版本。

1.24.2 环境要求

硬件要求

硬件要求如表1-114所示。

表 1-114 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 143

Page 167: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表 软件要求所示。

表 1-115 软件要求

项目 版本 下载地址

Minimap2

master https://github.com/lh3/minimap2/archive/master.zip

wget wget-1.14-18 https://github.com/steveeJ/python-wget

zlib zlib-1.2.7-18 https://github.com/madler/zlib

操作系统要求

操作系统要求如表1-116所示。

表 1-116 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.24.3 移植规划数据

本章节给出Minimap2软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-117 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/MINIMAP2

Minimap2的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 144

Page 168: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.24.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-118 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.24.5 获取源码

操作步骤

步骤1 下载Minimap2安装包“minimap2-master.zip”。

下载地址:https://github.com/lh3/minimap2/archive/master.zip

步骤2 使用SFTP工具将minimap2安装包上传至服务器“/path/to/MINIMAP2”目录。

----结束

1.24.6 Minimap2 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 配置编译环境,安装wget工具。

yum install wget –y

步骤3 安装Minimap2的依赖库和工具。

yum install –y git gcc-c++ zlib -y

步骤4 执行以下命令解压安装包。

cd /path/to/MINIMAP2

unzip minimap2-master.zip

步骤5 编译和安装。编译Minimap2,由于鲲鹏是兼容ARM V8 64位指令集,因此编译方式如下:

cd /path/to/MINIMAP2/minimap2-master

make arm_neon=1 aarch64=1

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 145

Page 169: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤6 运行和验证。查看minimap2的版本信息。

cd /path/to/MINIMAP2/minimap2-master

./minimap2 --v

回显内容如下,表示编译正常。

2.17-r974-dirty

----结束

1.24.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入工作目录。

cd /path/to/MINIMAP2/minimap2-master

步骤3 执行以下命令来运行小算例验证。

./minimap2 -a test/MT-human.fa test/MT-orang.fa > test.sam

若成功则回显结果如下:

[M::mm_idx_gen::0.002*2.34] collected minimizers[M::mm_idx_gen::0.006*2.70] sorted minimizers[M::main::0.006*2.69] loaded/built the index for 1 target sequence(s)[M::mm_mapopt_update::0.007*2.51] mid_occ = 2[M::mm_idx_stat] kmer size: 15; skip: 10; is_hpc: 0; #seq: 1[M::mm_idx_stat::0.007*2.40] distinct minimizers: 3111 (100.00% are singletons); average occurrences: 1.000; average spacing: 5.326; total length: 16569[M::worker_pipeline::0.032*1.32] mapped 1 sequences[M::main] Version: 2.17-r974-dirty[M::main] CMD: ./minimap2 -a test/MT-human.fa test/MT-orang.fa[M::main] Real time: 0.035 sec; CPU: 0.045 sec; Peak RSS: 0.005 GB

----结束

1.25 bedtools 2.29.2 移植指南(CentOS 7.6)

1.25.1 介绍bedtools实用程序是用于处理基因组信息分析的强大工具集合。例如,bedtools允许人们以广泛使用的基因组文件格式( 例如BAM,BED,GFF/ GTF,VCF)与多个文件中的基因组间隔相交,合并,计数,互补和混洗。虽然每个工具都设计为执行相对简单的任务(例如,将两个间隔文件相交),但可以通过在UNIX命令行上组合多个bedtools操作来进行相当复杂的分析。

关于bedtools的更多信息请访问bedtools官网。

语言:C/C++

一句话描述:处理基因组信息分析的强大工具集合。

开源协议:GNU

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 146

Page 170: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

建议的版本

建议使用版本“bedtools-2.29.2”。

1.25.2 环境要求

硬件要求

硬件要求如表1-119所示。

表 1-119 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-120所示。

表 1-120 软件要求

项目 版本 下载地址

bedtools 2.29.2 https://github.com/arq5x/bedtools2/releases/download/v2.29.2/bedtools-2.29.2.tar.gz

算例文件 aluY.chr1.bed 软件自带算例

gerp.chr1.bed 软件自带算例

操作系统要求

操作系统要求如表1-121所示。

表 1-121 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.25.3 移植规划数据本章节给出bedtools软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 147

Page 171: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-122 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

2 /path/to/BEDTOOLS

bcftools的安装规划路径。

3 /path/to/TESTCASE 测试算例的存放路径。

1.25.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-123 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.25.5 获取源码

操作步骤

步骤1 下载bedtools安装包“bedtools-2.29.2.tar.gz”。

下载地址:https://github.com/arq5x/bedtools2/releases/download/v2.29.2/bedtools-2.29.2.tar.gz。

步骤2 使用SFTP工具将bedtools安装包上传至服务器“/path/to/BEDTOOLS”目录。

----结束

1.25.6 编译和安装

步骤1 安装相关依赖。

yum install zlib-devel bzip2-devel xz-devel -y

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 148

Page 172: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压安装包。

tar -zxvf bedtools-2.29.2.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd bedtools2

步骤4 执行以下命令进行安装编译。

make

步骤5 执行以下命令添加环境变量。

export PATH=/path/to/BEDTOOLS/bedtools2/bin:$PATH

----结束

1.25.7 运行和验证

操作步骤

步骤1 执行下列命令,将data目录下的算例拷贝到TESTCASE。

cd /path/to/BEDTOOLS/bedtools2/data

cp gerp.chr1.bed.gz aluY.chr1.bed.gz /path/to/TESTCASE

步骤2 执行下列命令,解压算例。

cd /path/to/TESTCASE

gzip -d gerp.chr1.bed.gz

gzip -d aluY.chr1.bed.gz

步骤3 执行下列命令,输出两个文件的overlap。

bedtools intersect -a aluY.chr1.bed -b gerp.chr1.bed

结果示例如下图所示,则运行成功。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 149

Page 173: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

----结束

1.26 BEAST2 2.6.3 移植指南(CentOS 7.6)

1.26.1 介绍BEAST2是用于分子序列的贝叶斯系统发生分析的跨平台程序。它使用严格或宽松的分子时钟模型来估计有根的,经过时间测量的系统发育。它可以用作重建系统发育的方法,但它也是测试进化假设的框架,而无需以单个树形拓扑为条件。BEAST2使用马尔可夫链蒙特卡罗(MCMC)在树空间上求平均,因此每棵树的权重与其后验概率成正比。BEAST2包括用于设置标准分析的图形用户界面和用于分析结果的一套程序。

关于BEAST2的更多信息请访问BEAST2官网。

语言:Java

开源协议:GPL

软件信息

建议使用版本“BEAST V2.6.3”

1.26.2 环境要求

硬件要求

硬件要求如表1-124所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 150

Page 174: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-124 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-125所示。

表 1-125 软件要求

项目 版本 下载地址

BEAST2 V2.6.3 https://github.com/CompEvol/beast2/releases/download/v2.6.3/BEAST.v2.6.3.Linux.tgz

测试算例 Primates.nex 软件自带算例

操作系统要求

操作系统要求如表1-126所示。

表 1-126 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.26.3 移植规划数据本章节给出BEAST2软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-127 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 151

Page 175: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径 用途 说明

2 /path/to/BEAST BEAST2的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.26.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-128 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.26.5 获取源码

操作步骤

步骤1 下载BEAST2安装包“BEAST.v2.6.3.Linux.tgz”。

下载地址:https://github.com/CompEvol/beast2/releases/download/v2.6.3/BEAST.v2.6.3.Linux.tgz。

步骤2 使用SFTP工具将BEAST2安装包上传至服务器“/path/to/BEAST”目录。

----结束

1.26.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行下列命令, 安装java包。

yum install java-1.8.0-openjdk.aarch64

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 152

Page 176: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令解压安装包。

tar -zxvf BEAST.v2.6.3.Linux.tgz

步骤4 执行以下命令添加环境变量。

export PATH=/path/to/BEAST/beast/bin:$PATH

----结束

1.26.7 运行和验证Beast 2安装包中nexus目录下提供了数据集Primates.nex,通过beauti配置参数, 后生成xml文件。导入生成的xml文件,运行beast命令, 生成3个文件:日志文件(*.log)、树文件(*.trees)、xml状态文件(*.state)。

操作步骤

步骤1 执行以下命令进入nexus目录。

cd /path/to/BEAST/beast/examples/nexus

步骤2 执行下列命令,弹出BEAUti 2: Stantard弹窗,如图1-9所示。

beauti

图 1-9 BEAUti 2: Stantard 弹窗

步骤3 序列导入 。点击File > Import Alignment ,弹出Open对话框,选择nexus目录下的Primates.nex序列文件,如图1-10所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 153

Page 177: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 1-10 Primates.nex 序列文件

步骤4 Link/Unlink partition models (点击Open,弹出下列对话框)。一般在分析中,导入的是比对好的基因序列信息,但有些情况下,也会存在partition情况,如果联合分析,就需要Link,如果不需要Unlink。

步骤5 替代模型设定。针对核甘酸替代模型,可供选择的有GTR、HKY、JC69、TN93,这里用HKY替代模型,Gamma Category Count(碱基替代速率变化等级)一般可设置4-8,在这里选择4。其它参数如Substitution Rate(替代率)、Shape(GAMMA分布的形状参数)、Frequencies(碱基频率)在分析中均估计。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 154

Page 178: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤6 分子钟设置。

点击Clock Model,有Strict Clock(严格分子钟)、宽松分子钟(Relaxed ClockExponential和Relaxed Clock Log Normal)等。 这里选择Strict Clock, 不考虑模型中分子之间的速率变化差异。

步骤7 先验证信息设定。

1. 点击Priors tree prior : Yule Model ,其它默认即可。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 155

Page 179: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2. 在Priors这一栏 下方有一个“+Add Prior”按钮, 点击确定后,弹出对话框,选择Tree.t:secondhalf。在Taxon set editor中自定义一个名字:如 fossilinformation ,然后选择需要标定分歧时间的两个物种(如:Homo_sapiens ,Pan),移到右边边框。

在校正节点上设置先验证分布信息,首先点击monophyletic下拉菜单([none])中选择Normal。随后设置分歧时间,Homo sapiens和Pan的分歧在5-7My, 因此设定正态分布中心点是6My,标准偏差0.5My,并勾选monophyletic。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 156

Page 180: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤8 MCMC选项设定(点击MCMC)。

运行链长:10000000(默认1千万步)

tracelog: 链长运行1000次抽样一次

screenlog: 运行1000次打印到屏幕一次

treelog.t:tree: 运行1000次打印一个拓扑结构树

步骤9 xml文件保存。

点击File—Save As,定义一个输出文件名字,结果生成一个XML文件。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 157

Page 181: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤10 执行以下命令,执行beast测试。

beast -threads 128 test01.xml

需要查看“Primates.log”日志中的“Total calculation time”数值,单位是“s”,数值越小性能越优。输出的结果样例如下所示。

----结束

1.26.8 更多资源BEASTdoc: http://beast.community/

1.27 bcftools 1.10.2 移植指南(CentOS 7.6)

1.27.1 介绍bcftools是samtools的开发者提供的一款专门操作VCF文件的工具,它可以处理VCF格式,也可以处理VCF对应的二进制文件。Bcftools由很多子命令构成,主要有3类功能:分析基因组变异,操作VCF文件,对VCF/BCF文件建立索引。

语言:C

开源协议:MIT/Expat

建议的版本

建议使用版本“bcftools-1.10.2”

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 158

Page 182: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.27.2 环境要求

硬件要求

硬件要求如表1-129所示。

表 1-129 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-130所示。

表 1-130 软件要求

项目 版本 下载地址

bcftools 1.10.2 https://github.com/samtools/bcftools/releases/download/1.10.2/bcftools-1.10.2.tar.bz2

操作系统要求

操作系统要求如表1-131所示。

表 1-131 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.27.3 移植规划数据本章节给出bcftools软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 159

Page 183: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-132 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/BCFTOOLS

bcftools的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.27.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-133 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.27.5 获取源码

操作步骤

步骤1 下载bcftools安装包“bcftools-1.10.2.tar.bz2”。

下载地址:https://github.com/samtools/bcftools/releases/download/1.10.2/bcftools-1.10.2.tar.bz2。

步骤2 使用SFTP工具将bcftools安装包上传至服务器“/path/to/BCFTOOLS”目录。

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 160

Page 184: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.27.6 编译和安装

操作步骤

步骤1 安装相关依赖。

yum install zlib-devel bzip2 bzip2-devel xz-devel libcurl-devel -y

步骤2 执行以下命令解压安装包。

tar jxvf bcftools-1.10.2.tar.bz2

步骤3 执行以下命令进入解压后的目录。

cd bcftools-1.10.2

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/BCFTOOLS/Install CFLAGS="-O3 -march=armv8.2-a"

步骤5 执行以下命令进行安装编译。

make -j 32

make install

步骤6 执行以下命令添加环境变量。

export PATH=/path/to/BCFTOOLS/Install/bin:$PATH

----结束

1.27.7 运行和验证

操作步骤

步骤1 查看版本。

执行如下命令,查看bcftools的版本信息,如图1-11所示。

bcftools --version

图 1-11 版本信息

步骤2 测试数据。

执行以下命令,测试“test”目录下例子。

cd bcftools-1.10.2

make test

当系统回显如下信息时,表示bcftools测试成功,如图1-12所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 161

Page 185: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 1-12 bcftools 测试成功

----结束

1.28 picard 2.23.3 移植指南(CentOS 7.6)

1.28.1 介绍Picard是一组命令行工具,用于处理高通量排序(HTS)数据和格式,例如SAM /BAM / CRAM和VCF。

关于Picard的更多信息请访问Picard官网。

语言:java

一句话描述:用于处理HTS数据和格式的工具。

开源协议:MIT

建议的版本

建议使用版本为“Picard 2.23.3”。

1.28.2 环境要求

硬件要求

硬件要求如表1-134所示。

表 1-134 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-135所示。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 162

Page 186: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 1-135 软件要求

项目 版本 下载地址

Picard 2.23.3 https://github.com/broadinstitute/picard/releases/download/2.23.3/picard.jar

Samtools

0.1.9 https://codeload.github.com/samtools/samtools/tar.gz/0.1.9

测试算例

hg19.fa https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/open_database/hg19/gatk_bundle/hg19.fa

B17NC_R1.fq.gz https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R1.fastq.gz

B17NC_R2fq.gz https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R2.fastq.gz

hs38DH.fasta ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/001/405/GCA_000001405.15_GRCh38/seqs_for_alignment_pipelines.ucsc_ids/GCA_000001405.15_GRCh38_full_analysis_set.fna.gz

操作系统要求

操作系统要求如表1-136所示。

表 1-136 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.28.3 移植规划数据

本章节给出Picard软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-137 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。这里的安装规划路径只是一个

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 163

Page 187: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径 用途 说明

2 举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

/path/to/PICARD Picard的安装规划路径。

3 /path/to/SAMTOOLS

samtools的安装规划路径。

4 /path/to/TESTCASE

算例安装路径。

5 /path/to/BWA bwa的安装规划路径。

参考《BWA 0.7.17 移植指南(CentOS 7.6)》。

1.28.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-138 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

1.28.5 获取源码

操作步骤

步骤1 下载samtools工具包“samtools-0.1.9.tar.bz2”。

下载地址:https://codeload.github.com/samtools/samtools/tar.gz/0.1.9。

步骤2 下载Picard安装包“picard.jar”。

下载地址:https://github.com/broadinstitute/picard/releases/download/2.23.3/picard.jar。

步骤3 使用SFTP工具将samtools工具包上传至服务器“/path/to/SAMTOOLS”目录,将Picard安装包上传至服务器“/path/to/PICARD”目录。

----结束

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 164

Page 188: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.28.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装相关依赖包。

yum install ncurses-devel.aarch64 bzip2-devel.aarch64 xz-devel.aarch64java-1.8.0-openjdk-devel.aarch64 -y

步骤3 执行以下命令进入samtools目录。

cd /path/to/SAMTOOLS

步骤4 执行以下命令解压samtools工具包。

tar -xvf samtools-0.1.9.tar.gz

步骤5 执行以下命令进入解压后的目录。

cd samtools-0.1.9

步骤6 执行以下命令获取GNU的绝对路径。

which gcc

步骤7 执行以下命令修改Makefile文件。

vi Makefile

修改前:

CC = gcc

修改后:

CC = /path/to/GNU/bin/gcc

步骤8 执行以下命令进行编译安装。

make

步骤9 执行以下命令添加samtools环境变量。

export PATH=/path/to/SAMTOOLS/samtools-0.1.9:$PATH

步骤10 执行以下命令进入Picard目录。

cd /path/to/PICARD

步骤11 执行以下命令测试Picard环境。

java -jar picard.jar

环境正常如下图:

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 165

Page 189: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

----结束

1.28.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令拷贝用例文件并进入测试目录。

cp B17NC_R1.fq.gz /path/to/TESTCASE

cp B17NC_R2.fq.gz /path/to/TESTCASE

cp GCA_000001405.15_GRCh38_full_analysis_set.fna.gz /path/to/TESTCASE

cd /path/to/TESTCASE

步骤3 执行以下命令解压算例文件。

gzip -d B17NC_R1.fastq.gz

gzip -d B17NC_R2.fastq.gz

gzip -d GCA_000001405.15_GRCh38_full_analysis_set.fna.gz

步骤4 执行以下命令重命名为hs38DH.fasta文件。

mv GCA_000001405.15_GRCh38_full_analysis_set.fna hs38DH.fasta

步骤5 执行以下命令添加bwa环境变量。

export PATH=/path/to/BWA/bwa-0.7.17:$PATH

export PLATFORM="Illumina"

export RG_ID="L1"

export LIB="pt2"

export SAMPLE=B17NC

步骤6 执行以下命令使用bwa处理用例文件。

bwa index -a bwtsw hg19.fa

bwa mem -t 96 -o B17NC.sam -M -R "@RG\tID:$RG_ID\tPL:$PLATFORM\tSM:$SAMPLE\tCN:$LIB" hg19.fa B17NC_R1.fastq B17NC_R2.fastq

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 166

Page 190: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤7 执行以下命令使用samtools工具转换格式并排序。

samtools view -bS B17NC.sam > B17NC.bam

samtools sort $SAMPLE.bam $SAMPLE.sort

步骤8 执行以下命令运行用例。

{ time java -jar picard.jar CollectAlignmentSummaryMetrics R=hs38DH.fastaI=B17NC.sort.bam O=output.txt; } 2>&1 |tee picard.log

运行结束后,会在当前目录下生成output.txt和picard.log文件,其中output.txt为结果文件,picard.log为运行日志。

步骤9 需要查看picard.log日志中的“Elapsed time”数值,单位是“minutes”,数值越少性能越优。

输出的结果样例如图1-13所示。

图 1-13 结果样例

----结束

1.28.8 故障排除

问题一:执行 Picard 报错

现象描述:

执行Picard报错,报错信息类似:“Unable to load libgkl_compression.so fromnative/libgkl_compression.so (/tmp/libgkl_compression8107837509941713683.so: /tmp/libgkl_compression8107837509941713683.so: cannot open shared object file: Nosuch file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bitplatform))”。

可能原因:

GKL是基于Intel CPU开发的加速库,在鲲鹏平台上需要对GKL进行移植。

处理方式:

不涉及性能对比时该错误可忽略。

1.29 SOAPdenovo r241 移植指南(CentOS 7.6)

1.29.1 介绍SOAPdenovo是一个新颖的适用于组装短reads的方法,能组装出类似人类基因组大小的denovo草图。该软件特地设计用来组装Illumina GA short reads,新的版本减少了

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 167

Page 191: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

在图创建时的内存消耗,解决了contig组装时的重复区域的问题,增加了scaffold组装时的覆盖度和长度,改进了gap closing,更加适用于大型基因组组装。

关于SOAPdenovo的更多信息请访问SOAPdenovo官网。

语言:C/C++

一句话描述:用于基因组组装的软件工具。

建议的版本

建议使用版本为“SOAPdenovo r241”。

1.29.2 环境要求

硬件要求

硬件要求如表1-139所示。

表 1-139 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表1-140所示。

表 1-140 软件要求

项目 版本 下载地址

SOAPdenovo

r241 https://codeload.github.com/aquaskyline/SOAPdenovo2/tar.gz/r241

测试算例

B17NC_R1.fq.gz https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R1.fastq.gz

B17NC_R2.fq.gz https://obs.cn-north-1.myhuaweicloud.com/obs-82bb/data/Panel/B17NC_R2.fastq.gz

操作系统要求

操作系统要求如表1-141所示。

表 1-141 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 168

Page 192: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

1.29.3 移植规划数据本章节给出SOAPdenovo软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 1-142 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/SOAPDENOVO

SOAPdenovo的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

1.29.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 1-143 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 169

Page 193: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1.29.5 获取源码

操作步骤

步骤1 下载SOAPdenovo安装包“SOAPdenovo2-r241.tar.gz”。

下载地址:https://codeload.github.com/aquaskyline/SOAPdenovo2/tar.gz/r241。

步骤2 使用SFTP工具将将SOAPdenovo安装包上传至服务器“/path/to/SOAPDENOVO”目录。

----结束

1.29.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入SOAPdenovo目录。

cd /path/to/SOAPDENOVO

步骤3 执行以下命令解压SOAPdenovo2-r241.tar.gz。

tar -xvf SOAPdenovo2-r241.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd SOAPdenovo2-r241

步骤5 执行以下命令修改文件。

vi standardPregraph/hashFunction.c

修改前:

static uint32_t cpuid ( uint32_t functionInput ){uint32_t eax;uint32_t ebx;uint32_t ecx;uint32_t edx;#ifdef __PIC__asm ( "pushl %%ebx\n\t" /* save %ebx */"cpuid\n\t""movl %%ebx, %[ebx]\n\t" /* save what cpuid just put in %ebx */"popl %%ebx" : "=a" ( eax ), [ebx] "=r" ( ebx ), "=c" ( ecx ), "=d" ( edx ) : "a" ( functionInput ): "cc" );#elseasm ( "cpuid" : "=a" ( eax ), "=b" ( ebx ), "=c" ( ecx ), "=d" ( edx ) : "a" ( functionInput ) );#endifreturn ecx;}

修改后:

static uint32_t cpuid ( uint32_t functionInput ){uint32_t eax;uint32_t ebx;uint32_t ecx;

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 170

Page 194: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

uint32_t edx;

#ifdef __aarch64__ecx = 0x0;#else#ifdef __PIC__asm ( "pushl %%ebx\n\t" /* save %ebx */"cpuid\n\t""movl %%ebx, %[ebx]\n\t" /* save what cpuid just put in %ebx */"popl %%ebx" : "=a" ( eax ), [ebx] "=r" ( ebx ), "=c" ( ecx ), "=d" ( edx ) : "a" ( functionInput ): "cc" );#elseasm ( "cpuid" : "=a" ( eax ), "=b" ( ebx ), "=c" ( ecx ), "=d" ( edx ) : "a" ( functionInput ) );#endif#endifreturn ecx;}

步骤6 执行以下命令开始编译。

make

步骤7 执行以下命令测试SOAPdenovo环境。

./SOAPdenovo-63mer

环境正常如下图:

----结束

1.29.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令拷贝用例文件并进入测试目录。

cp B17NC_R1.fq.gz /path/to/SOAPDENOVO/SOAPdenovo2-r241

cp B17NC_R2.fq.gz /path/to/SOAPDENOVO/SOAPdenovo2-r241

cd /path/to/SOAPDENOVO/SOAPdenovo2-r241

步骤3 执行以下命令解压算例文件。

gzip -d B17NC_R1.fastq.gz

gzip -d B17NC_R2.fastq.gz

步骤4 执行以下命令清除缓存。

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 171

Page 195: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

echo 3 > /proc/sys/vm/drop_caches

步骤5 执行以下命令创建配置文件。

vi config_file

max_rd_len=100[LIB]avg_ins=200reverse_seq=0asm_flags=3rd_len_cutoff=100rank=1q1=B17NC_R1.fastqq2=B17NC_R2.fastq

步骤6 按上述修改完成后,输入:wq保存退出。

步骤7 执行以下命令运行用例。

{ time -p ./SOAPdenovo-63mer all -s config_file -K 63 -p 96 -R -ograph_prefix; } 2>&1 |tee SOAPdenovo.log

需要查看SOAPdenovo.log日志中的“real”数值,单位是“s”,数值越少性能越优。

输出的结果样例如图1-14所示。

图 1-14 结果样例

----结束

1.29.8 更多资源SOAPdenovo官网:

https://github.com/aquaskyline/SOAPdenovo2

SOAPdenovo移植参考文档:

http://3ms.huawei.com/documents/docinfo/349647110677299200

HPC 解决方案移植指南 1 基因测序

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 172

Page 196: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2 教育科研

2.1 CANU 1.8 移植指南(CentOS 7.6)

2.2 GROMACS 2019.3 移植指南(CentOS 7.6)

2.3 Lammps 5 Jun 2019 移植指南(CentOS 7.6)

2.4 QUANTUM ESPRESSO 6.4.1 移植指南(CentOS 7.6)

2.5 NAMD 2.13 移植指南(CentOS 7.6)

2.6 VASP 5.4.4 移植指南(CentOS 7.6)

2.7 ABINIT 8.10.3 移植指南(CentOS 7.6)

2.8 AmberTools 19 移植指南(CentOS 7.6)

2.9 CP2K 4.1 移植指南(CentOS 7.6)

2.10 CP2K 7.1 移植指南(CentOS 7.6)

2.11 NWChem 6.8.1 移植指南(CentOS 7.6)

2.12 ROOT 6.20 移植指南(CentOS 7.6)

2.13 Geant4 10.6 移植指南(CentOS 7.6)

2.14 Ont-tombo 1.5.1 移植指南(CentOS 7.6)

2.15 DL_POLY 1.10 移植指南(CentOS 7.6)

2.16 Gamess 移植指南(CentOS 7.6)

2.1 CANU 1.8 移植指南(CentOS 7.6)

2.1.1 介绍CANU是由Celera Assembler设计的三代数据组装工具(支持PacBio RSII和OxfordNanopore MinION),用于高噪声单分子测序,主要功能包括:Correction(矫正)、Trimming(修剪)、Assembly(拼接)。

关于CANU的更多信息请访问CANU官网。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 173

Page 197: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

语言:C/Perl。

一句话描述:高噪声单分子测序工具。

开源协议:GPL 2.0

建议的版本

建议使用版本为“CANU V1.8”。

2.1.2 环境要求

硬件要求

硬件要求如表1所示。

表 2-1 硬件要求

项目 说明

CPU Kunpeng 920

操作系统要求

操作系统要求如表2所示。

表 2-2 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115 包含在操作系统镜像中。

2.1.3 移植规划数据本章节给出CANU 1.8软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-3 移植规划数据

序号

软件安装规划路径

用途 说明

1 /path/to/GNU GNU9.1的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

2 /path/to/CANU CANU 1.8的安装规划路径。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 174

Page 198: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.1.4 配置编译环境步骤1 GNU安装及环境变量配置。

请参考《GNU9.1 安装指南》安装GNU9.1编译器。

步骤2 使用PuTTY工具,以root用户登录服务器。

步骤3 执行以下命令加载环境中已安装的GNU9.1的环境变量。

export PATH=/path/to/GNU/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib:$LD_LIBRARY_PATH

说明

此处“/path/to/GNU”的说明请参考表2-3。

步骤4 执行以下命令安装boost。

yum install boost* -y

说明

此处yum源为CentOS7.6镜像本地源,可自行根据需要在/etc/yum.repos.d路径下修改文件配置。

----结束

2.1.5 获取源码步骤1 下载CANU源码文件“canu-1.8.tar.gz”。

下载地址:https://github.com/marbl/canu/releases。

步骤2 使用sftp工具将CANU源码包上传至服务器/path/to/CANU目录。

说明

此处“/path/to/CANU”的说明请参考表2-3。

----结束

2.1.6 编译和安装步骤1 继续在PuTTY工具中执行以下命令解压CANU安装包。

tar -xvf canu-1.8.tar.gz

步骤2 执行以下命令进入CANU源码目录。

cd canu-1.8/src

步骤3 执行以下命令编译CANU。

make -j8

步骤4 进入canu-1.8目录,若生成的Linux-aarch64/bin目录中出现canu可执行文件,如下面的回显信息所示,则说明编译完成。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 175

Page 199: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

-rwxrwxr-x 1 root root 31114 Oct 23 2018 canu

步骤5 执行以下命令将CANU添加到环境变量中。

export PATH=/path/to/CANU/canu-1.8/Linux-aarch64/bin:$PATH

说明

此处“/path/to/CANU”的说明请参考表2-3。

----结束

2.1.7 运行和验证

步骤1 继续在PuTTY工具中执行以下命令安装java 1.8.0版本。

yum install java-1.8.0-openjdk* gnuplot -y

说明

此处yum源为CentOS7.6镜像本地源,可自行根据需要在/etc/yum.repos.d路径下修改文件配置。

步骤2 执行以下命令获取算例文件。

curl -L -o oxford.fasta http://gembox.cbcb.umd.edu/mhap/raw/ecoli_p6_25x.filtered.fastq

说明

此处需要服务器连接外网,需要在一台可以连接外网的服务器上下载和转换算例,然后再copy到对应的测试目录。

步骤3 执行以下命令运行CANU。

{ time canu -p ecoli -d ecoli-pacbio genomeSize=4.8m corPartitions=384corMemory=3 corPartitionMin=1000 corThreads=1 useGrid=falseobtovlThreads=96 obtOvlHashBlockLength=682496000utgOvlHashBlockLength=682496000 utgovlThreads=96gridEngineMemoryOption="-l vf=MEMORY" -nanopore-raw oxford.fastq ; }2>&1 |tee -a canu.log

命令参数说明如表2-4所示。

表 2-4 canu 命令参数说明

参数 说明

useGrid 是否在Grid Control下运行,默认为true,需要调整为false。

-p assembly-prefix部件索引,根据算例定义。

-d assembly-directory部件目录,可自定义。

genmoeSize 基因组大小,根据算例定义。

-nanopore-raw 根据实际算例去选择对应的基因文件格式。

corPartitions 任务数,尽量设置为core数量的倍数,建议设置为4倍。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 176

Page 200: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

参数 说明

corThreads 每个进程数的线程数,建议设置为1。

obtovlThreads 运行obtovl时的线程数,建议设置为核数。

utgovlThreads 运行utgov时的线程数,建议设置为核数。

----结束

2.2 GROMACS 2019.3 移植指南(CentOS 7.6)

2.2.1 介绍分子动力学模拟(molecular dynamics simulation,MD)是时下 广泛为人采用的计算庞大复杂系统的方法,自1970年起,由于分子模拟的发展迅速,人们系统地建立了许多适用于生化分子体系、聚合物、金属与非金属材料的力场,使得计算复杂体系的结构与一些热力学与光谱性质的能力及精准性大为提升。分子动力学模拟是应用这些力场及根据牛顿运动力学原理所发展的计算方法。

GROMACS是一个用于分子动力学模拟和能量 小化的计算引擎,其通过牛顿平衡方程来模拟几百到数以百万的原子体系。其设计初衷主要用于生物分子,例如具有大量复杂键联系的蛋白,脂和核酸分子,但GROMACS如今同样被用来计算非生物体系的非键联系,例如聚合物。 GROMACS相比其它分子动力学模拟软件具有一些其独有的优势:

1. GROMACS免费,其遵循LGPL协议(GNU Lesser General Public License),在Github上可以找到GROMACS的开源代码;

2. GROMACS提供相比其他软件更高的性能,在代码上进行了许多的优化;

3. GROMACS对于拓扑文件与参数设置文件阅读友好,其与Python的设置格式类似;

4. GROMACS的生态环境发展良好,模拟许多分析工具对GROMACS支持都较为优秀。

关于GROMACS的更多信息请访问GROMACS官网。

语言:C++

一句话描述:分子动力学模拟和能量 小化的计算引擎。

开源协议:LGPL Version 2.1

建议的版本

建议使用版本为“GROMACS 2019.3”。

2.2.2 环境要求

硬件要求

硬件要求如表2-5所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 177

Page 201: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-5 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-6所示。

表 2-6 软件要求

项目 版本 下载地址

GROMACS 2019.3 http://manual.gromacs.org/documentation/2019.3/download.html

OpenBLAS 0.3.6 https://github.com/xianyi/OpenBLAS/releases

FFTW 3.3.8 http://www.fftw.org/download.html

cmake 3.8.1 https://cmake.org/download/#previous

测试算例 water_GMX50_bare https://ftp.gromacs.org/pub/benchmarks/

操作系统要求

操作系统要求如表2-7所示。

表 2-7 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.2.3 移植规划数据本章节给出GROMACS软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 178

Page 202: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-8 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/OPENBLAS

OpenBLAS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/FFTW FFTW的安装规划路径。

4 /path/to/CMAKE

cmake的安装规划路径。

5 /path/to/GROMACS

GROMACS的安装规划路径。

6 /path/to/CASE GROMACS的算例文件存放规划路径。

2.2.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-9 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装OpneBLAS 参考2.2.4.1 安装OpenBLAS。

3 安装FFTW 参考2.2.4.2 安装FFTW。

4 安装cmake 参考2.2.4.3 安装cmake。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 179

Page 203: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.2.4.1 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压OpenBLAS安装包。

tar -xvf OpenBLAS-0.3.6.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd OpenBLAS-0.3.6

步骤4 执行以下命令设置环境变量。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤5 执行以下命令编译安装OpenBLAS。

make

make PREFIX=/path/to/OPENBLAS install

步骤6 执行以下命令设置OpenBLAS的环境变量。

export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH

----结束

2.2.4.2 安装 FFTW

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压FFTW安装包。

tar -xvf fftw-3.3.8.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd fftw-3.3.8

步骤4 执行以下命令运行bootstrap.sh脚本。

./bootstrap.sh

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/FFTW --enable-shared --enable-static --enable-fma --enable-neon --enable-float

步骤6 执行以下命令进行编译安装。

make -j40

make install

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 180

Page 204: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤7 执行以下命令设置FFTW的环境变量。

export PATH=/path/to/FFTW/bin:$PATH

export LD_LIBRARY_PATH=/path/to/FFTW/lib:$LD_LIBRARY_PATH

----结束

2.2.4.3 安装 cmake

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压3.8.1版本的cmake安装包。

说明

GROMACS 2019.3版本要求cmake的版本3.4.3及以上版本。

tar zxvf cmake-3.8.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd cmake-3.8.1

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/CMAKE

步骤5 执行以下命令进行编译安装。

make

make install

步骤6 执行以下命令设置cmake的环境变量。

export PATH=/path/to/CMAKE/bin:$PATH

----结束

2.2.5 获取源码

操作步骤

步骤1 下载GROMACS安装包“gromacs-2019.3.tar.gz”。

下载地址:http://manual.gromacs.org/documentation/2019.3/download.html。

步骤2 使用SFTP工具将GROMACS安装包上传至服务器“/path/to/GROMACS”目录。

----结束

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 181

Page 205: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.2.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压GROMACS安装包。

tar -xvf gromacs-2019.3.tar.gz

步骤3 执行以下命令创建build文件。

cd Gromacs-2019.3

mkdir build

步骤4 执行以下命令进行配置。

cd build

FLAGS="-mcpu=tsv110"; CFLAGS=$FLAGS CXXFLAGS=$FLAGS LDFLAGS="-lgfortran" CC=mpicc CXX=mpicxx \

/path/to/CMAKE/bin/cmake \

-DCMAKE_INSTALL_PREFIX=/path/to/GROMACS/gromacs-2019.3 \

-DBUILD_SHARED_LIBS=on \

-DBUILD_TESTING=on \

-DREGRESSIONTEST_DOWNLOAD=off \

-DGMX_BUILD_OWN_FFTW=off \

-DGMX_SIMD=ARM_NEON_ASIMD \

-DGMX_DOUBLE=off \

-DGMX_EXTERNAL_BLAS=on \

-DGMX_EXTERNAL_LAPACK=on \

-DGMX_FFT_LIBRARY=fftw3 \

-DGMX_BLAS_USER= /path/to/OPENBLAS/OpenBLAS-0.3.6/libopenblas.a \

-DGMX_LAPACK_USER=/path/to/OPENBLAS/OpenBLAS-0.3.6/libopenblas.a \

-DFFTWF_LIBRARY=/path/to/FFTW/libfftw3f.so \

-DFFTWF_INCLUDE_DIR=/path/to/FFTW/include \

-DGMX_GPU=off \

-DGMX_MPI=on \

-DGMX_OPENMP=on \

-DGMX_X11=off \

../

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 182

Page 206: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令进行编译安装。

make -j40 V=1

make -j40 install

步骤6 执行以下命令查看是否生成可执行文件。

ll /path/to/GROMACS/bin/gmx_mpi

-rwxr-xr-x 1 root root 83656 Jul 31 02:51 gmx_mpi

步骤7 执行以下命令设置环境变量。

export PATH=/path/to/GROMACS/bin:$PATH

----结束

2.2.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入算例存放目录。

cd /path/to/CASE

步骤3 执行以下命令解压算例文件。

tar xvf water_GMX50_bare.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd water-cut1.0_GMX50_bare/0768

步骤5 执行以下命令生成topol.tpr文件。

gmx_mpi grompp -f pme.mdp

步骤6 执行以下命令查看是否生成topol.tpr文件。

ll topol.tpr

-rw-r--r-- 1 root root 18448672 Jan 11 16:41 topol.tpr

步骤7 执行以下命令运行GROMACS测试。

mpirun --allow-run-as-root --mca btl ^openib -np 96 gmx_mpi mdrun -dlb yes-v -nsteps 10000 -resethway -noconfout -pin on -ntomp 1 -s topol.tpr

需要查看日志文件md.log中的“Performance”中的“ns/day”数值,单位是“ns/day”,数值越高性能越优。

测试结果样例如下信息所示。

Part of the total run time spent waiting due to load imbalance: 1.1%.Steps where the load balancing was limited by -rdd, -rcon and/or -dds: X 0 % Y 0 %Average PME mesh/force load: 1.033Part of the total run time spent waiting due to PP/PME imbalance: 2.1 % Core t (s) Wall t (s) (%) Time: 14806.100 154.231 9600.0 (ns/day) (hour/ns)

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 183

Page 207: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

Performance: 5.603 4.283GROMACS reminds you: "Come on boys, Let's push it hard" (P.J. Harvey)

----结束

2.2.8 更多资源Arm公司官网:

https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/resources/porting-and-tuning/building-gromacs-with-arm-compiler-deprecated

Zenodo网站:

https://zenodo.org/record/3243834#.XUJg-vIzZhE

2.3 Lammps 5 Jun 2019 移植指南(CentOS 7.6)

2.3.1 介绍Lammps是由桑迪亚国家实验室开发的一套分子动力学模拟的开源程序包。Lammps使用MPI实现多机器并行计算,在新的版本中,支持基于CUDA和OpenCL的GPU计算。其以GNU通用公共许可证发布,因而开源自由。Lammps 初为一美国政府与私人机构合作项目,由美国能源部与另外三所私有企业实验室合作开发。

关于Lammps的更多信息请访问Lammps官网。

语言:C++

一句话描述:分子动力学模拟的开源程序包。

开源协议:GPL 2.0

建议的版本

建议使用版本为“Lammps 5 Jun 2019”。

2.3.2 环境要求

硬件要求

硬件要求如表2-10所示。

表 2-10 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-11所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 184

Page 208: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-11 软件要求

项目 版本 下载地址

Lammps 5 Jun 2019 https://lammps.sandia.gov/tars/

FFTW 3.3.8 http://www.fftw.org/fftw-3.3.8.tar.gz

测试算例 in.lj lammps-stable_5Jun2019/bench

操作系统要求

操作系统要求如表2-12所示。

表 2-12 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.3.3 移植规划数据本章节给出Lammps软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-13 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/FFTW FFTW的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/LAMMPS

Lammps的安装规划路径。

4 /path/to/CASE Lammps的测试规划路径。

2.3.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 185

Page 209: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

配置流程

表 2-14 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装FFTW 参考2.3.4.1 安装FFTW。

2.3.4.1 安装 FFTW

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压FFTW安装包。

tar -xvf fftw-3.3.8.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd fftw-3.3.8

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/FFTW --enable-shared --enable-static --enable-fma --enable-neon

步骤5 执行以下命令进行编译安装。

make -j 96

make install

步骤6 执行以下命令加载环境变量。

export PATH=/path/to/FFTW/bin:$PATH

export LD_LIBRARY_PATH=/path/to/FFTW/lib:$LD_LIBRARY_PATH

----结束

2.3.5 获取源码

操作步骤

步骤1 下载Lammps安装包“lammps-5Jun19.tar.gz”。

下载地址:https://lammps.sandia.gov/tars/。

步骤2 使用SFTP工具将Lammps安装包上传至服务器“/path/to/LAMMPS”目录。

----结束

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 186

Page 210: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.3.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入Lammps安装包所在目录。

cd /path/to/LAMMPS

步骤3 执行以下命令解压Lammps安装包。

tar -xvf lammps-5Jun19.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd lammps-5Jun2019

步骤5 执行以下命令进入“src”目录。

cd src

步骤6 执行以下命令修改“MAKE/OPTIONS/Makefile.g++_openmpi”文件。

1. vi MAKE/OPTIONS/Makefile.g++_openmpi2. 按“i”进入编辑模式,修改“MAKE/OPTIONS/Makefile.g++_openmpi”文件的

第54~56行,注意粗体部分。FFT_INC = -DFFT_FFTW -I/path/to/FFTW/includeFFT_PATH = -L/path/to/FFTW/libFFT_LIB = -lfftw3

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令进行编译。

make yes-std

make no-lib

make -j 96 g++_openmpi

----结束

2.3.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建工作目录。

mkdir -p path/to/CASE

步骤3 执行以下命令进入工作目录并将算例和二进制文件拷贝到工作目录。

cd /path/to/CASE

cp /path/to/LAMMPS/lammps-stable_5Jun2019/bench/in.lj ./

cp /path/to/LAMMPS/lammps-stable_5Jun2019/src/lmp_g++_openmpi ./

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 187

Page 211: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 执行以下命令运行。

mpirun --allow-run-as-root -np 96 --mca btl ^openib ./lmp_g++_openmpi -inin.lj

需要查看“log.lammps”日志中的“Performance”数值,单位是“timesteps/s”,数值越高性能越优。

测试结果样例如下所示。

Performance: 593019.799 tau/day, 1372.731 timesteps/s98.1% CPU use with 96 MPI tasks x no OpenMP threadsMPI task timing breakdown:Section | min time | avg time | max time |%varavg| %total---------------------------------------------------------------Pair | 0.028215 | 0.040367 | 0.051175 | 3.4 | 55.41Neigh | 0.0036562 | 0.0049894 | 0.0061901 | 1.2 | 6.85Comm | 0.013968 | 0.026072 | 0.039602 | 4.8 | 35.79Output | 7.905e-05 | 0.000128 | 0.00023195 | 0.0 | 0.18Modify | 0.00056847 | 0.00080538 | 0.00099514 | 0.0 | 1.11Other | | 0.0004857 | | | 0.67

----结束

2.4 QUANTUM ESPRESSO 6.4.1 移植指南(CentOS 7.6)

2.4.1 介绍QUANTUM ESPRESSO是一种用于电子结构计算和材料建模的abinitio量子化学方法的软件套件,在GNU通用公共许可证下免费分发。它基于密度泛函理论,平面波基组和赝势(包括范数守恒和超软)。Quantum ESPRESSO是意大利里雅斯特CNR-IOMDEMOCRITOS国家模拟中心及其合作伙伴的一项开放计划,与麻省理工学院,普林斯顿大学,明尼苏达大学或洛桑联邦理工学院等全球不同中心合作。该项目由QUANTUM ESPRESSO基金会协调,该基金会由世界各地的许多研究中心和团体组成。该程序主要在fortran-90中编写,其中一些部分在C或Fortran-77中,是根据不同的独立开发的核心软件包的合并和重新设计以及一组旨在互操作的软件包构建的。基本软件包包括Pwscf,它解决了自洽的Kohn和Sham方程,获得了周期性实体,CP实现了Car-Parrinello分子动力学,PostProc实现了数据分析和绘图。关于附加封装,值得注意的是指出赝势生成的原子,PHonon封装,它实现了密度泛函扰动理论(DFPT),用于计算能量相对于原子位移和NEB的二阶和三阶导数。

关于QUANTUM ESPRESSO的更多信息请访问QUANTUM ESPRESSO官网。

语言:Fortran

一句话描述:电子结构计算和材料建模的abinitio量子化学方法的软件套件。

开源协议:GPL 2.0

建议的版本

建议使用版本为“QE 6.4.1”。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 188

Page 212: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.4.2 环境要求

硬件要求

硬件要求如表2-15所示。

表 2-15 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-16所示。

表 2-16 软件要求

项目 版本 下载地址

QE 6.4.1 https://github.com/QEF/q-e/tags

OpenBLAS 0.3.7 https://github.com/xianyi/OpenBLAS/tree/v0.3.6

SCALAPACK 2.0.2 http://www.netlib.org/scalapack/

测试算例 AUSURF112 https://github.com/QEF/benchmarks/tree/master/AUSURF112

操作系统要求

操作系统要求如表2-17所示。

表 2-17 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.4.3 移植规划数据

本章节给出QUANTUM ESPRESSO软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 189

Page 213: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-18 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/OPENBLAS

OpenBLAS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/SCALAPACK

ScaLapack的安装规划路径。

4 /path/to/QE QUANTUMESPRESSO的安装规划路径。

5 /path/to/CASE QUANTUMESPRESSO的测试算例规划存放路径。

2.4.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-19 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装OpenBLAS 参考2.4.4.1 安装OpenBLAS。

3 安装ScaLapack 参考2.4.4.2 安装ScaLapack。

2.4.4.1 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压OpenBLAS安装包。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 190

Page 214: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

tar xvf OpenBLAS-0.3.7.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd OpenBLAS-0.3.7

步骤4 执行以下命令声明编译环境变量。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤5 执行以下命令进行编译安装。

make

make PREFIX=/path/to/OPENBLAS install

步骤6 执行以下命令加载环境变量。

export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH

----结束

2.4.4.2 安装 ScaLapack

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压ScaLapack安装包。

tar -xvf scalapack.tgz

步骤3 执行以下命令进入解压后的目录。

cd scalapack-2.0.2

步骤4 执行以下命令生成“SLmake.inc”文件。

cp SLmake.inc.example SLmake.inc

步骤5 执行以下命令编辑“SLmake.inc”文件。

1. vi SLmake.inc2. 按“i”进入编辑模式,编辑“SLmake.inc”文件的第58,59行,注意粗体部分。

BLASLIB = -L/path/to/OPENBLAS/lib -lopenblasLAPACKLIB = -L/path/to/OPENBLAS/lib -lopenblas

说明

粗体的内容根据实际的OpenBLAS安装路径进行修改。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令编译安装。

make

步骤7 执行以下命令将生成的链接库拷贝到安装目录。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 191

Page 215: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cp libscalapack.a /path/to/SCALAPACK

步骤8 执行以下命令加载环境变量。

export LD_LIBRARY_PATH=/path/to/SCALAPACK:$LD_LIBRARY_PATH

----结束

2.4.5 获取源码

操作步骤

步骤1 下载QE安装包“q-e-qe-6.4.1.tar.gz”。

下载地址:https://github.com/QEF/q-e/tags。

步骤2 使用SFTP工具将QE安装包上传至服务器“/path/to/QE”目录。

----结束

2.4.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压QE安装包。

cd /path/to/QE

tar -xvf q-e-qe-6.4.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd q-e-qe-6.4.1

步骤4 执行以下命令设置blas,lapack和scalapack库。

export BLAS_LIBS="-L/path/to/OPENBLAS/lib -lopenblas"

export LAPACK_LIBS="-L/path/to/OPENBLAS/lib -lopenblas"

export SCALAPACK_LIBS="-L/path/to/SCALAPACK -lscalapack"

步骤5 执行以下命令进行配置。

./configure F90=gfortran F77=gfortran MPIF90=mpifort MPIF77=mpifortCC=mpicc \

FCFLAGS="-O3" CFLAGS="-O3" \

--with-scalapack=yes \

--prefix=/path/to/QE

步骤6 执行以下命令进行编译安装。

make -j 20 pwall

make install

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 192

Page 216: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤7 执行以下命令加载环境变量。

export PATH=/path/to/QE/bin:$PATH

----结束

2.4.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建并且进入工作路径。

mkdir -p /path/to/CASE

cd /path/to/CASE

步骤3 下载测试算例,使用sftp工具将测试算例上传至服务器“/path/to/CASE”目录。

下载地址:https://github.com/QEF/benchmarks/tree/master

步骤4 执行以下命令解压测试算例包,并且将需要的文件拷贝到“/path/to/CASE”目录。

unzip benchmarks-master.zip

cp benchmarks-master/AUSURF112/* ./

步骤5 执行以下命令创建hostfile文件。

1. vi hostfile2. 按“i”进入编辑模式,新增如下内容。

node1node2

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 重新打开一个登录窗口,使用PuTTY工具,以root用户登录node2服务器。

步骤7 在node2服务器节点窗口,执行以下命令配置环境变量。

1. vi /root/.bashrc2. 按“i”进入编辑模式,在“.bashrc”文件末尾新增如下内容。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATHexport LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATHexport PATH=/path/to/QE/bin:$PATHexport LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 在node1服务器节点窗口,执行以下命令运行QE程序。

mpirun --allow-run-as-root -np 192 -N 96 -x OMP_NUM_THREADS=1 -hostfilehostfile --mca btl ^openib pw.x -input ./ausurf.in 2>&1 | tee -a qe.log

表 2-20 参数说明

参数 说明

-np 测试使用的总进程数。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 193

Page 217: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

参数 说明

-N 每个服务器上运行的进程数。

-x OMP_NUM_THREADS=1 指定每个进程的线程数为1。

--hostfile 使用的节点名字。

当qe生成的日志“qe.log”的结尾处出现如图2-1所示内容时,表示qe程序运行正常结束。

需要查看“qe.log”日志中的“WALL”数值,单位是“s”,数值越高性能越低,输出的结果如图2-1所示。

图 2-1 测试样例

----结束

2.5 NAMD 2.13 移植指南(CentOS 7.6)

2.5.1 介绍

NAMD用于在大规模并行计算机上快速模拟大分子体系的并行分子动力学代码。NAMD用经验力场,如Amber,CHARMM和Dreiding,通过数值求解运动方程计算原子轨迹。用于预测生物分子的动力学行为和重要性质,如弥散因子,内聚能等。

关于NAMD的更多信息请访问NAMD官网。

语言:C语言

一句话描述:快速模拟大分子体系的并行分子动力学代码。

开源协议:自定义开源协议。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 194

Page 218: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

建议的版本

建议使用版本为“NAMD 2.13”。

2.5.2 环境要求

硬件要求

硬件要求如表2-21所示。

表 2-21 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-22所示。

表 2-22 软件要求

项目 版本 下载地址

NAMD 2.13 https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD

CHARM 6.9.0 https://charm.cs.illinois.edu/distrib/

TCL 8.5.9 http://www.ks.uiuc.edu/Research/namd/libraries/

测试算例 Apoa1 http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz

操作系统要求

操作系统要求如表2-23所示。

表 2-23 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 195

Page 219: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.5.3 移植规划数据

本章节给出NAMD软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-24 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/CHARM

CHARM的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/FFTW FFTW的安装规划路径。

4 /path/to/TCL TCL的安装规划路径。

5 /path/to/NAMD

NAMD的安装规划路径。

6 /path/to/CASE NAMD测试算例的存放规划路径

2.5.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-25 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装CHARM 参考安装CHARM。

3 安装FFTW 参考2.5.4.1 安装FFTW。

4 安装TCL 参考安装TCL。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 196

Page 220: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.5.4.1 安装 FFTW

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压FFTW安装包。

tar -xvf fftw-3.3.8.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd fftw-3.3.8

步骤4 执行以下命令运行bootstrap.sh脚本。

./bootstrap.sh

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/FFTW --enable-threads --enable-openmp --enable-float

步骤6 执行以下命令进行编译安装。

make -j40

make -j40 install

步骤7 执行以下命令设置FFTW环境变量。

export PATH=/path/to/FFTW/bin:$PATH

export LD_LIBRARY_PATH=/path/to/FFTW/lib:$LD_LIBRARY_PATH

----结束

2.5.5 获取源码

操作步骤

步骤1 下载NAMD安装包“NAMD_2.13_Source.tar.gz”。

下载地址:https://www.ks.uiuc.edu/Research/namd/。

步骤2 使用SFTP工具将NAMD安装包上传至服务器“/path/to/NAMD”目录。

----结束

2.5.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建NAMD相关目录。

cd /path/to/NAMD

mkdir NAMD-2.13

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 197

Page 221: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cd NAMD-2.13

mkdir build install

export BUILD_DIR=`pwd`/build

export INSTALL_DIR=`pwd`/install

步骤3 执行以下命令设置编译器环境变量。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤4 执行以下命令编译安装CHARM。

cd /path/to/NAMD/NAMD-2.13/build

tar -xvf charm-6.9.0.tar.gz

cd charm-6.9.0

mkdir ${INSTALL_DIR}/charm690/

cp src/arch/mpi-linux-x86_64 src/arch/mpi-linux-arm8 -rf

grep -rl 'm64' src/arch/mpi-linux-arm8 | xargs sed -i 's/\-m64//g'

./build charm++ mpi-linux-arm8 smp --with-production --destination=/path/to/NAMD/NAMD-2.13/install/charm690/mpi-linux-arm8

步骤5 执行以下命令解压NAMD安装包。

cd /path/to/NAMD/NAMD-2.13/build

tar -zxvf NAMD_2.13_Source.tar.gz

cd NAMD_2.13_Source

步骤6 执行以下命令创建Linux-ARM64.fftw3。

cp arch/Linux-x86_64.fftw3 arch/Linux-ARM64.fftw3

步骤7 执行以下命令上传和解压tcl文件。

cd /path/to/NAMD/NAMD-2.13

tar -xvf tcl8.5.9-linux-arm64-threaded.tar.gz

步骤8 执行以下命令修改“Make.charm”文件。

1. cd /path/to/NAMD/NAMD-2.13/build/NAMD_2.13_Source2. vi Make.charm3. 按“i”进入编辑模式,修改“Make.charm”文件。

CHARMBASE = /path/to/NAMD/NAMD-2.13/install/charm690

说明

将CHARMBASE的路径修改为charm的实际安装路径。

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 198

Page 222: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤9 执行以下命令修改“Linux-ARM64-g++.arch”文件。

1. cd /path/to/NAMD/NAMD-2.13/NAMD_2.13_Source2. vi arch/Linux-ARM64-g++.arch3. 按“i”进入编辑模式,修改“Linux-ARM64-g++.arch”文件。

NAMD_ARCH = Linux-ARM64 CHARMARCH = mpi-linux-arm8 #FLOATOPTS = -O2 -ffast-math -funsafe-math-optimizations -fomit-frame-pointer -march=armv7-a -mcpu=cortex-a9 -mtune=cortex-a9 FLOATOPTS = -O3 -ffast-math -funsafe-math-optimizations -fomit-frame-pointer -march=armv8-a CXX = g++ -std=c++11 CXXOPTS = $(FLOATOPTS) CXXNOALIASOPTS = $(FLOATOPTS) -fno-strict-aliasing CC = gcc COPTS = $(FLOATOPTS)

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤10 执行以下命令配置NAMD。

./config Linux-ARM64-g++ --with-fftw3 --fftw-prefix /path/to/FFTW --with-tcl--tcl-prefix /path/to/NAMD/NAMD-2.13/tcl8.5.9-linux-arm64-threaded --charm-arch mpi-linux-arm8

cd Linux-ARM64-g++

步骤11 执行以下命令编译安装NAMD。

make -j

步骤12 执行以下命令查看是否生成可执行文件。

ll /path/to/NAMD/NAMD-2.13/build/NAMD_2.13_Source/Linux-ARM64-g++/namd2

-rwxr-xr-x 1 root root 16140248 Aug 7 15:50 namd2

----结束

2.5.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令设置NAMD执行文件的环境变量。

export PATH=/path/to/NAMD/NAMD-2.13/build/NAMD_2.13_Source/Linux-ARM64-g++/:$PATH

步骤3 进入测试算例存放目录。

cd /path/to/CASE

步骤4 执行以下命令解压算例文件。

tar -xf apoa1.tar.gz

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 199

Page 223: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令修改算例文件。

1. vi apoa1/apoa1.namd2. 按“i”进入编辑模式,将以下内容添加至“apoa1/apoa1.namd”文件的 后。

FFTWEstimate yesFFTWUseWisdom no

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令运行测试。

cd apoa1

mpirun --allow-run-as-root --mca btl ^openib -np 1 namd2 +ppn 96apoa1.namd +setcpuaffinity 2>&1 |tee -a namd.log

需要查看日志namd.log中 后一个“Info:Benchmark time中的days/ns”数值,单位是“days/ns”,数值越小性能越优(也可以转换成“ns/days”的数值,越高性能越好)。

测试结果样例如图2-2所示。

图 2-2 测试样例

----结束

2.5.8 更多资源Arm公司官网:

https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/resources/porting-and-tuning/building-namd-with-arm-compiler-deprecated

2.6 VASP 5.4.4 移植指南(CentOS 7.6)

2.6.1 介绍VASP全称Vienna Ab-initio Simulation Package,是维也纳大学Hafner小组开发的用于电子结构计算和量子力学-分子动力学模拟软件包。它是目前材料模拟和计算物质科学研究中 流行的商用软件之一。

关于VASP的更多信息请访问VASP官网。

语言:Fortran

一句话描述:电子结构计算和量子力学-分子动力学的模拟软件包。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 200

Page 224: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

开源协议:开源的商业软件。

建议的版本

建议使用版本为“VASP 5.4.4”。

2.6.2 环境要求

硬件要求

硬件要求如表2-26所示。

表 2-26 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-27所示。

表 2-27 软件要求

项目 版本 下载地址

VASP 5.4.4 https://www.vasp.at/

FFTW 3.3.8 http://www.fftw.org/download.html

OpenBLAS 0.3.6 https://github.com/xianyi/OpenBLAS/tree/v0.3.6

SCALAPACK 2.0.2 http://www.netlib.org/scalapack/

VTST 179 http://theory.cm.utexas.edu/vtsttools/download.html

Wannier90 1.2 http://www.wannier.org/code/wannier90-1.2.tar.gz

vasp-small 测试算例 -

操作系统要求

操作系统要求如表2-28所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 201

Page 225: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-28 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.6.3 移植规划数据本章节给出VASP软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-29 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/OPENBLAS

OpenBLAS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/SCALAPACK

ScaLapack的安装规划路径。

4 /path/to/FFTW FFTW的安装规划路径。

5 /path/to/VASP VASP的安装规划路径。

6 /path/to/CASE VASP的测试规划路径。

2.6.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 202

Page 226: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

配置流程

表 2-30 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装OpenBLAS 参考2.6.4.1 安装OpenBLAS。

3 安装ScaLapack 参考2.6.4.2 安装ScaLapack。

4 安装FFTW 参考2.6.4.3 安装FFTW。

2.6.4.1 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压OpenBLAS安装包。

unzip OpenBLAS-develop.zip

步骤3 执行以下命令进入解压后的目录。

cd OpenBLAS-develop

步骤4 执行以下命令进行配置。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤5 执行以下命令进行编译安装。

make

make PREFIX=/path/to/OPENBLAS install

----结束

2.6.4.2 安装 ScaLapack

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压ScaLapack安装包。

tar -xvf scalapack.tgz

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 203

Page 227: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令进入解压后的目录。

cd scalapack-2.0.2

步骤4 执行以下命令生成“SLmake.inc”文件。

cp SLmake.inc.example SLmake.inc

步骤5 执行以下命令编辑“SLmake.inc”文件。第58,59行

1. 执行以下命令修改算例文件。

vi SLmake.inc2. 按“i”进入编辑模式,修改“SLmake.inc”文件的第58,59行,注意粗体部分。

BLASLIB = -L/path/to/OPENBLAS/lib -lopenblasLAPACKLIB = -L/path/to/OPENBLAS/lib -lopenblas

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令进行编译安装。

make

步骤7 执行以下命令将生成的链接库拷贝到安装目录。

mkdir -p /path/to/SCALAPACK

cp libscalapack.a /path/to/SCALAPACK

----结束

2.6.4.3 安装 FFTW

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压FFTW安装包。

tar -xvf fftw-3.3.8.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd fftw-3.3.8

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/FFTW --enable-shared --enable-static --enable-fma --enable-neon

步骤5 执行以下命令进行编译安装。

make

make install

----结束

2.6.5 获取源码

操作步骤

步骤1 下载VASP安装包“vasp.5.4.4.tar.gz”,VTSTcode压缩包“vtstcode-179.tgz”和wannier90-1.2安装包“wannier90-1.2”。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 204

Page 228: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

下载地址:https://www.vasp.at/

下载地址:http://theory.cm.utexas.edu/vtsttools/download.html

下载地址:http://www.wannier.org/code/wannier90-1.2.tar.gz

步骤2 使用SFTP工具将VASP安装包上传至服务器“/path/to/VASP”目录。

----结束

2.6.6 编译和安装

2.6.6.1 基本安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压vasp安装包。

cd /path/to/VASP

tar -xvf vasp.5.4.4.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd vasp.5.4.4

步骤4 执行以下命令设置环境变量。

export PATH=/path/to/GNU/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:$LD_LIBRARY_PATH

export PATH=/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/OPENMPI/lib:/path/to/OPENBLAS/lib:/path/to/SCALAPACK: /path/to/FFTW/lib:$LD_LIBRARY_PATH

步骤5 执行以下命令创建并编写“makefile.include”文件。

1. vi makefile.include2. 按“i”进入编辑模式,编写“makefile.include”文件,注意粗体字体处。

##Precompiler options CPP_OPTIONS= -DHOST=\"LinuxGNU\" \ -DMPI -DMPI_BLOCK=8000 \ -Duse_collective \ -DscaLAPACK \ -DCACHE_SIZE=5000 \ -Davoidalloc \ -Duse_bse_te \ -Dtbdyn \ -Duse_shmem CPP = gcc -E -P -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS) FC = mpif90 FCL = mpif90 FREE = -ffree-form -ffree-line-length-none FFLAGS = -w OFLAG = -O3 -ffp-contract=fast -fdec-math -ffpe-trap=invalid,zero,overflow -ffpe-summary=none OFLAG_IN = $(OFLAG) DEBUG = -O0

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 205

Page 229: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

LLIBS = -L/path/to/SCALAPACK -lscalapack -L/path/to/OPENBLAS/lib -lopenblas FFTW ?= /path/to/FFTW LLIBS += -L$(FFTW)/lib -lfftw3 INCS = -I$(FFTW)/include OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o OBJECTS_O2 += fft3dlib.o # For what used to be vasp.5.lib CPP_LIB = $(CPP) FC_LIB = $(FC) CC_LIB = mpicc CFLAGS_LIB = -O FFLAGS_LIB = -O1 FREE_LIB = $(FREE) OBJECTS_LIB= linpack_double.o getshmem.o # For the parser library CXX_PARS = g++ LIBS += parser LLIBS += -Lparser -lparser -lstdc++ # Normally no need to change this SRCDIR = ../../src BINDIR = ../../bin

说明

行尾和“\”后不能有空格。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令进行编译安装。

make std

如果客户还需要生成vasp_gam ,vasp_ncl,则执行以下命令。

make all

----结束

2.6.6.2 (可选)扩展安装

2.6.6.2.1 Vasp 扩展安装-VTST 过渡态工具

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 上传VTSTcode安装包至vasp安装同级目录下。

步骤3 执行以下命令解压VTSTcode安装包。

cd /path/to/VASP

tar -xzvf vtstcode-179.tgz

步骤4 执行以下命令备份vasp安装包“src”目录下的“chain.F”文件。

cp vasp-5.4.4/src/chain.F / vasp-5.4.4/src/chain.F_bak

步骤5 执行以下命令将“vtstcode-179”目录下文件复制到“src”下。

cp vtstconde-179/* vasp-5.4.4/src/

步骤6 执行以下命令修改“src/main.F”文件。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 206

Page 230: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1. 执行以下命令修改算例文件。

vi vasp-5.4.4/src/main.F2. 按“i”进入编辑模式,修改“src/main.F”文件的第3147行,注意粗体部分。

修改前:CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, & LATT_CUR%A,LATT_CUR%B,IO%IU6)

修改为:CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, & TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令修改编译配置文件。

1. 执行以下命令修改算例文件。

vi vasp-5.4.4/src/.objects2. 按“i”进入编辑模式,在71和72行之间添加如下内容。

bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \fire.o lanczos.o neb.o qm.o opt.o \

说明

“\”后不能有空格,行首使用tab键替换空格。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 参考步骤6,执行编译安装。

make all

----结束

2.6.6.2.2 VASP 扩展-wannier90 接口

Wannier90软件内置有vasp相关接口,VASP 5.4.x只能与wannier90-v1.2版本对接。

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令在vasp安装同级目录下,解压wannier90-1.2安装包。

cd /path/to/VASP

tar -xvf wannier90-1.2.tar.gz

步骤3 执行以下命令使用“make.sys.gfort”代替编译文件“make.sys”。

cd wannier90-1.2

cp config/make.sys.gfort make.sys

步骤4 执行以下命令修改“make.sys”在文件。

1. 执行以下命令修改算例文件。

vi make.sys2. 按“i”进入编辑模式,在“make.sys”文件末尾增加一行。

LIBS = -L/path/to/SCALAPACK -L/path/to/OPENBLAS/lib -lscalapack -lopenblas

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 207

Page 231: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令进行安装。

make wannier lib test

生成libwannnier.a函数库,此函数库要加入vasp安装编译中。

步骤6 修改vasp编译文件“makefile.include”。

1. cd /path/to/VASP/vasp-5.4.42. vi makefile.include3. 按“i”进入编辑模式,修改“makefile.include”文件内容。

将第10行修改为:-Duse_shmem -Dtbdyn -DVASP2WANNIER90

在24行之前增加:WANNIER90 = /path/to/VASP/wannier90-1.2/libwannier.a

LLIBS加入接口参数:LLIBS = $(WANNIER90) -L/path/to/SCALAPACK -lscalapack -L/path/to/SCALAPACK/lib –lopenblas

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令进行编译。

make all

----结束

2.6.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建并进入工作路径。

mkdir -p /path/to/CASE

cd /path/to/CASE

步骤3 准备软件清单中的测试算例,并且将其拷贝至“/path/to/CASE”目录。

步骤4 执行以下命令设置环境变量。

export PATH=/path/to/GNU/install/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/install/lib64:$LD_LIBRARY_PATH

export PATH=/path/to/OPENMPI/bin:/home/vasp/bin:$PATH

export LD_LIBRARY_PATH=/path/to/OPENMPI/lib:/path/to/OPENBLAS/lib:/path/to/SCALAPACK: /path/to/FFTW/lib:$LD_LIBRARY_PATH

步骤5 执行以下命令创建host文件。

1. vi hostfile2. 按“i”进入编辑模式,新增如下内容。

node1node2

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 208

Page 232: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令运行vasp程序。

mpirun --allow-run-as-root -np 96 -x OMP_NUM_THREADS=1 --hostfilehostfile vasp_std 2>&1 | tee -a vasp.out

表 2-31 参数说明

参数 说明

-np 使用的核数。

--hostfile 使用的节点名字。

步骤7 当vasp生成的日志“OUTCAR”的结尾处出现如图2-3所示内容时,表示vasp程序运行正常结束。

需要查看“OUTCAR”日志中的“real time”数值,单位是“s”,数值越少性能越优。

输出的结果如图2-3所示。

图 2-3 结果样例

----结束

2.6.8 更多资源

VASP官网:https://www.vasp.at/

VASP手册:https://cms.mpi.univie.ac.at/vasp/vasp/vasp.html

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 209

Page 233: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

VASP官网计算教程实例:https://cms.mpi.univie.ac.at/wiki/index.php/Category:Examples

2.7 ABINIT 8.10.3 移植指南(CentOS 7.6)

2.7.1 介绍

ABINIT是一个软件套件,用于计算材料的光学,机械,振动和其他可观察的属性。从密度泛函理论的量子方程出发,可以用于建立基于DFT的扰动理论和多体格林函数(GW和DMFT)的高级应用。ABINIT可以计算任何化学成分的分子,纳米结构和固体,并附带几个完整而可靠的原子势表。

关于ABINIT的更多信息请访问ABINIT官网。

语言:C/Fortran

一句话描述:计算材料的光学,机械,振动和其他可观察属性的软件套件。

开源协议:GPL 3.0

建议的版本

建议使用版本为“ABINIT 8.10.3”。

2.7.2 环境要求

硬件要求

硬件要求如表2-32所示。

表 2-32 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-33所示。

表 2-33 软件要求

项目 版本 下载地址

Abinit 8.10.3 https://www.abinit.org/packages

AtomPAW 4.0.1.0 https://www.abinit.org/fallbacks

BigDFT 1.7.1.25 https://www.abinit.org/fallbacks

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 210

Page 234: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

OpenBLAS 0.3.6 https://github.com/xianyi/OpenBLAS/tree/v0.3.6

libXC 3.0.0 https://www.abinit.org/fallbacks

PNETCDF 1.9.0 https://parallel-netcdf.github.io/wiki/Download.html

NetCDF-C 4.7.0 https://www.unidata.ucar.edu/downloads/netcdf/index.jsp

NetCDF-Fortran

4.4.5 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.5

HDF5 1.10.1 http://hdfgroup.org/HDF5/

Wannier90 2.0.1.1 https://www.abinit.org/fallbacks

测试算例 tbasepar_1.files

软件自带测试算例。

操作系统要求

操作系统要求如表2-34所示。

表 2-34 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

2.7.3 移植规划数据

本章节给出ABINIT软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-35 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/OPENBLAS

OpenBLAS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 211

Page 235: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

3 /path/to/PNETCDF

现网实际规划的安装路径为准进行替换,不再单独说明。

Pnetcdf的安装规划路径。

4 /path/to/HDF5 HDF5的安装规划路径。

5 /path/to/NETCDF

NetCDF-C的安装规划路径。

NetCDF-fortran的安装规划路径。

6 /path/to/ABINIT

ABINIT的安装规划路径。

2.7.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-36 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装OpenBLAS 参考2.7.4.1 安装OpenBLAS。

3 安装Pnetcdf 参考2.7.4.2 安装Pnetcdf。

4 安装HDF5 参考2.7.4.3 安装HDF5。

5 安装NetCDF-C 参考2.7.4.4 安装NetCDF-C。

6 安装NetCDF-fortran 参考2.7.4.5 安装NetCDF-fortran。

2.7.4.1 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 212

Page 236: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令使用yum安装BLAS LAPACK。

yum install blas64.aarch64 blas64-devel.aarch64 lapack64.aarch64 lapack64-devel.aarch64 -y

说明

如果使用非系统默认的编译器安装OpenBLAS,请下载OpenBLAS使用指定编译器安装,在编译安装中指定编译安装的OpenBLAS路径。

步骤3 执行以下命令解压OpneBLAS安装包。

tar xvf OpenBLAS-0.3.6.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd OpenBLAS-0.3.6

步骤5 执行以下命令进行配置。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤6 执行以下命令进行编译安装。

make

make PREFIX=/path/to/OPENBLAS install

步骤7 执行以下命令设置OpenBLAS环境变量。

export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH

----结束

2.7.4.2 安装 Pnetcdf

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Pnetcdf安装包。

tar -xvf parallel-netcdf-1.9.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd parallel-netcdf-1.9.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/PNETCDF --build=aarch64-linux --enable-shared--enable-fortran --enable-large-file-test

步骤5 执行以下命令进行编译安装。

make -j

make install

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 213

Page 237: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤6 执行以下命令设置Pnetcdf的环境变量。

export PATH=/path/to/PNETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/PNETCDF/lib:$LD_LIBRARY_PATH

----结束

2.7.4.3 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -xvf hdf5-1.10.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令进行配置。

./configure --prefix=/pat/to/HDF5 --build=aarch64-linux --enable-parallel --enable-shared --enable-fortran

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置HDF5的环境变量。

export LD_LIBRARY_PATH=/pat/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

2.7.4.4 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-C安装包。

tar -zxvf netcdf-c-4.7.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.7.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --enable-fortran --disable-static --enable-shared --with-pic --enable-parallel-tests --enable-pnetcdf --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 214

Page 238: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

make -j

make install

步骤6 执行以下命令设置NetCDF-C的环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

----结束

2.7.4.5 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar -zxvf netcdf-fortran-4.4.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.5

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --disable-static --enable-shared --enable-parallel-tests --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

2.7.5 获取源码

操作步骤

步骤1 下载Abinit安装包“abinit-8.10.3.tar.gz”。

下载地址:https://www.abinit.org/。

步骤2 使用SFTP工具将Abinit安装包上传至服务器“/path/to/ABINIT”目录。

----结束

2.7.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 215

Page 239: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令设置环境变量。

export MPI_HOME=$MPI_DIR

export CPPFLAGS=" -I/path/to/HDF5/include -I/path/to/PNETCDF/include -I/path-to/NETCDF/include -I$MPI_HOME/include"

export CFLAGS=" -I/path/to/HDF5/include -I/path/to/PNETCDF/include -I/path-to/NETCDF/include -I$MPI_HOME/include "

export CXXFLAGS=" -I/path/to/HDF5/include -I/path/to/PNETCDF/include -I/path-to/NETCDF/include -I$MPI_HOME/include "

export FCFLAGS=" -I/path/to/HDF5/include -I/path/to/PNETCDF/include"

export FFLAGS=" -I/path/to/HDF5/include -I/path/to/PNETCDF/include"

export LDFLAGS=" -L/path/to/HDF5/lib -L/path/to/PNETCDF/lib -L/path/to/NETCDF/lib"

步骤3 执行以下命令创建第三方数学库安装包存放目录extral。

cd /path/to/ABINIT

mkdir extral

步骤4 将以下软件包上传到extral目录下。

atompaw-4.0.1.0.tar.gz

bigdft-1.7.1.25.tar.gz

libxc-3.0.0.tar.gz

wannier90-2.0.1.1.tar.gz

步骤5 执行以下命令解压Abinit安装包。

tar -zxvf abinit-8.10.3.tar.gz

步骤6 执行以下命令进入解压后的目录。

cd abinit-8.10.3

步骤7 执行以下命令建立并进入Abinit软件编译目录。

mkdir build

cd build

步骤8 执行以下命令进行配置。

../configure FC=mpif90 --enable-mpi --with-mpi-prefix=/path/to/OPENMPI/ --with-dft-flavor="libxc+atompaw" --with-trio-flavor="netcdf" --with-tardir=/path/to/ABINIT/extral --with-netcdf-incs="-I/path/to/NETCDF/include" --with-netcdf-libs="-L/path/to/NETCDF/lib -lnetcdf -L/path/to/NETCDF/lib -lnetcdff"FCFLAGS="-g -O2 -ffree-line-length-none" --with-linalg-libs="-L/path/to/OPENBLAS/ -lblas -llapack"

步骤9 执行以下命令进行编译安装。

FC=mpif90 CC=mpicc CXX=mpicxx make multi multi_nprocs=96

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 216

Page 240: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤10 执行以下命令添加环境变量。

export ABI_TESTS=/path/to/ABINIT/abinit-8.10.3/tests/

export ABI_TUTORIAL=$ABI_TESTS/tutorial/

export ABI_TUTORESPFN=$ABI_TESTS/tutorespfn/

export ABI_TUTOPARAL=$ABI_TESTS/tutoparal/

export ABI_TUTOPLUGS=$ABI_TESTS/tutoplugs/

export ABI_PSPDIR=$ABI_TESTS/Psps_for_tests/

export PATH=/path/to/ABINIT/abinit-8.10.3/build/src/98_main/:$PATH

----结束

2.7.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令建立算例文件夹,复制算例文件。

cd $ABI_TUTORIAL/Input

mkdir Work_paral

cd Work_paral

cp ../tbasepar_1.files .

cp ../tbasepar_1.in .

步骤3 执行以下命令串行执行。

abinit < tbasepar_1.files > log 2> err

步骤4 执行以下命令并行执行。

1. 执行以下命令创建文件夹。

mkdir tmp2. 执行以下命令新增算例文件。

vi tbase1_x.files3. 按“i”进入编辑模式,新增算例文件。

tbasepar_1.intbasepar_1.outtbasepar_1itbasepar_1o./tmp/tbasepar_1 #修改为每个节点都可访问的路径,例如创建的tmp路径,建议填写绝对路径../../Psps_for_tests/HGH/82pb.4.hgh

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

5. 执行以下命令进行计算。

mpirun -np 2 ../../../../build/src/98_main/abinit < tbasepar_1.files >&tbasepar_1.log &

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 217

Page 241: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

如果在root用户下,则执行以下命令:

mpirun --allow-run-as-root -np 2 ../../../../build/src/98_main/abinit <tbasepar_1.files >& tbasepar_1.log &

步骤5 需要查看tbasepar_1.log日志中的“overall_cpu_time”数值,单位是“s”,数值越少性能越优。

输出的结果样例如图2-4所示。

图 2-4 结果样例

----结束

2.7.8 故障排除

问题一:运行 configure 时报错

现象描述:

运行configure时报错,报错信息为:“error: external libxc support does notwork”。

可能原因:

--with-libxc-libs=未按照顺序写。

处理步骤:

在编译安装后面按顺序加:--with-libxc-libs=-lxcf90 -lxc---

问题二:编译 abinit 时 make 报错

现象描述:

编译abinit时make报错,报错信息为:“Error: Line truncated at (1) [-Werror=line-truncation]”。

可能原因:

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 218

Page 242: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

此错误是因为代码中未限制132个字符。

处理步骤:

需要在编译安装的FCFLAGS="-g -O2 -ffree-line-length-none"中增加-ffree-line-length-none。

问题三:编译 abinit 时 make 报错

现象描述:

编译abinit时make报错,报错信息为:“File 'mpi.mod' opened at (1) is not a GNUFortran module file”。

可能原因:

此错误是因为gcc和OpenMPI编译器版本不对应。

处理步骤:

统一OpenMPI和ABINIT使用的编译器可以解决问题。

说明

在安装过程中OpenMPI,BLAS-LAPACK,NetCDF等都需要保持统一编译器,否则会出现各种错误。

问题四:编译 abinit 时 make 报错

现象描述:

编译abinit时make报错,报错信息为:“abinit-8.10.3/config/gnu/missing: line 81:automake-1.16: command not found”。

可能原因:

此错误是因为生成Malefile时制定了aclocal和automake版本为1.16。

处理步骤:

查看系统的automake版本在Makefile中替换成系统版本。

步骤1 vi abinit-8.10.3/build/Makefile

步骤2 按“i”进入编辑模式,修改Makefile为系统版本,注意粗体部分。AUTOMAKE = ${SHELL} /storage/softwares/TaiShan/abinit/abinit-8.10.3/config/gnu/missing automake-1.16

步骤3 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

----结束

问题五:运行算例时报错

现象描述:

运行算例时报错,报错信息类似:段错误

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 219

Page 243: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

可能原因:

诸如此类的段错误是由于编译ABINIT的编译器跟OpenMPI-4.0.1和BLAS使用的编译器不一致。

处理步骤:

安装Atompaw可优化数据的内存读写。

步骤1 进入Atompaw安装包存放目录。

cd /path/to/ABINIT/extral

步骤2 执行以下命令解压源码包。

tar xvf atompaw-4.0.1.0.tar.gz

步骤3 执行以下命令进入源码。

cd atompaw-4.0.1.0

步骤4 执行以下命令进行编译安装。

./configure

make

make install

----结束

2.7.9 更多资源

ABINIT官方安装指南:

https://wiki.abinit.org/doku.php?id=howto:getting_started#installation_of_abinit

ABINIT第三方链接库官方安装指南:

https://wiki.abinit.org/doku.php?id=hpc:linking_libraries

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 220

Page 244: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.8 AmberTools 19 移植指南(CentOS 7.6)

2.8.1 介绍AmberTools是由加利福尼亚大学的一组Coleman教授为生物分子开发的一系列建模,分子力学和动力学模拟程序。有许多程序,例如构建模块,其安排溶剂水分子并执行电荷拟合,还可以使用分析工具执行NMR细化并执行动力学计算的轨迹分析。

关于AmberTools的更多信息请访问AmberTools官网。

语言:C,C++,Fortran

一句话描述:分子力学和动力学模拟程序。

开源协议:GPL 3.0

建议的版本

建议使用版本为“AmberTools 19”。

2.8.2 环境要求

硬件要求

硬件要求如表2-37所示。

表 2-37 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-38所示。

表 2-38 软件要求

项目 版本 下载地址

AmberTools 19 http://ambermd.org/GetAmber.php#amber

测试算例 nab AmberTools 19自带用例

操作系统要求

操作系统要求如表2-39所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 221

Page 245: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-39 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.8.3 移植规划数据本章节给出AmberTools软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-40 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/AMBER

AMBERTOOLS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

2.8.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-41 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 222

Page 246: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.8.5 获取源码

操作步骤

步骤1 下载AmberTools安装包“AmberTools19.tar.bz2”。

下载地址:http://ambermd.org/GetAmber.php#amber。

步骤2 使用SFTP工具将AmberTools安装包上传至服务器“/path/to/AMBER”目录。

----结束

2.8.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令设置环境变量。

export PATH=/path/to/GNU/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:$LD_LIBRARY_PATH

export PATH=/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤3 执行以下命令解压AMBER安装包。

cd /path/to/AMBER

tar -xvf AmberTools19.tar.bz2

步骤4 执行以下命令将fftw3下的“config.guess”和“config.sub”脚本全部更新网址里内容。

cd /path/to/AMBER/amber18/AmberTools/src/fftw-3.3

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD

vi config.guess

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

vi config.sub

步骤5 执行以下命令将xblas下的“config.guess”和“config.sub”脚本全部更新网址里内容。

cd /path/to/AMBER/amber18/AmberTools/src/xblas/config

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD

vi config.guess

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 223

Page 247: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

vi config.sub

步骤6 执行以下命令进行串行编译安装。

cd /path/to/AMBER/amber18

./configure --skip-python -nosse gnu

test -f /path/to/AMBER/amber18/amber.sh && source /path/to/AMBER/amber18/amber.sh

make install

步骤7 执行以下命令执行串行测试。

make test

步骤8 执行以下命令进行并行编译安装。

cd /path/to/AMBER/amber18

./configure --skip-python -nosse -mpi gnu

make install

export DO_PARALLEL="mpirun --allow-run-as-root -np 96 -mca btl ^openib"

./configure --skip-python -nosse -openmp gnu

make openmp

----结束

2.8.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入amber18自带的算例文件夹。

cd /path/to/AMBER/amber18/AmberTools/benchmarks/nab

步骤3 执行以下命令修改“bench_amber”文件。

1. vi bench_amber2. 按“i”进入编辑模式,修改“bench_amber”文件。

#!/bin/shsander=sander.MPIcat<<EOF > mdin benchmark a short md&cntrl igb=1, cut=20.0, rgbmax=20.0, tempi=50.0, temp0=100.0, tautp=0.4, ntt=1, ntb=0, nstlim=1000, ntpr=10, ntx=1, irest=0, ntc=2, ntf=2, tol=0.0000001,/EOF$DO_PARALLEL $sander -O -i mdin -p $1.top -c $1.mc.x -o $1.md.o/bin/rm mdin restrt mdinfo

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 224

Page 248: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 执行以下命令进行并行计算。

./bench_amber halfam0

步骤5 需要查看“halfam0.md.o”日志中的“ns/day”数值,数值越大性能越优。

输出的结果样例如下所示。

图 2-5 结果样例

----结束

2.8.8 故障排除

问题一:运行 configure 时报错

现象描述:

运行configure时报错,报错信息为:“Error: FFTW configure returned 1”。

可能原因:

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 225

Page 249: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

● AmberTools自带的FFTW3证书已过期;

● 运行configure时未加-nosse参数。

处理步骤:

根据报错时提示的网址去获取 新的“config.guess”和“config.sub”文件,使用vi命令更新FFTW3的“config.guess”和“config.sub”文件内容,运行configure时加入“-nosse”参数。

2.8.9 更多资源

AmberTools官网:

http://ambermd.org/index.php

2.9 CP2K 4.1 移植指南(CentOS 7.6)

2.9.1 介绍

CP2K是一个量子化学和固态物理软件包,可以对固态、液态、分子、周期性、材料、晶体和生物系统进行原子模拟。CP2K为不同的建模方法提供了通用框架。支持的理论水平包括DFTB、LDA、GGA、MP2、RPA、半经验方法(AM1,PM3,PM6,RM1,MNDO等)和经典力场(AMBER,CHARMM等)。CP2K可以使用NEB或二聚体方法进行分子动力学、元动力学、蒙特卡洛、埃伦菲斯特动力学、振动分析、核心能谱、能量 小化和过渡态优化的模拟。

关于CP2K的更多信息请访问CP2K官网。

语言:Fortran 2008

一句话描述:是一个量子化学和固态物理软件包,可以对固态、液态、分子、周期性、材料、晶体和生物系统进行原子模拟。

开源协议:GPL

建议的版本

建议使用版本“CP2k-4.1”。

2.9.2 环境要求

硬件要求

硬件要求如表2-42所示。

表 2-42 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 226

Page 250: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表2-43所示。

表 2-43 软件要求

项目 版本 下载地址

CP2K 4.1 https://github.com/cp2k/cp2k/releases/

OpenBLAS 0.3.6 https://github.com/xianyi/OpenBLAS/releases

libint 1.1.5 https://github.com/evaleev/libint

libXC 3.0.0 https://www.abinit.org/fallbacks

fftw 3.3.8 https://www.cp2k.org/static/downloads/

lapack 3.8.0 https://www.cp2k.org/static/downloads/

scalapack 2.1.0 https://www.cp2k.org/static/downloads/

测试算例 H2O-64.inp 软件自带测试算例

操作系统要求

操作系统要求如表2-44所示。

表 2-44 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.9.3 移植规划数据

本章节给出CP2K软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-45 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 227

Page 251: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径 用途 说明

2 /path/to/OPENBLAS

OpenBLAS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/LIBINT libint的安装规划路径。

4 /path/to/FFTW fftw的安装规划路径。

5 /path/to/LIBXC libxc的安装规划路径。

6 /path/to/SCALAPACK

scalapack的安装规划路径。

2.9.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-46 配置流程

序号

配置项 说明

1 基础环境搭建 参《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装OpenBLAS 参考2.9.4.1 安装OpenBLAS。

3 安装libint 参考2.9.4.2 安装libint。

4 安装fftw 参考2.9.4.3 安装fftw。

5 安装libxc 参考2.9.4.4 安装libxc。

6 安装scalapack 参考2.9.4.5 安装scalapack。

2.9.4.1 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 228

Page 252: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令使用yum安装BLAS LAPACK。

yum install blas64.aarch64 blas64-devel.aarch64 lapack64.aarch64 lapack64-devel.aarch64 -y

说明

如果使用非系统默认的编译器安装OpenBLAS,请下载OpenBLAS使用指定编译器安装,在编译安装中指定编译安装的OpenBLAS路径。

步骤3 执行以下命令解压OpenBLAS安装包。

tar -xvf OpenBLAS-0.3.6.tar.gz

步骤4 执行以下命令进行配置。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤5 执行以下命令进行编译安装。

make

make PREFIX=/path/to/OPENBLAS/ install

----结束

2.9.4.2 安装 libint

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压libint安装包。

tar libint-1.1.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd libint-1.1.5

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/LIBINT/ -with-ar=ar FC=gfortran F77=gfortranF90=gfortran CC=gcc

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 229

Page 253: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.9.4.3 安装 fftw

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压fftw安装包。

tar -zxvf fftw-3.3.8.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd fftw-3.3.8

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/FFTW CC=gcc FC=gfortran F77=gfortran --enable-threads --enable-shared=yes

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

2.9.4.4 安装 libxc

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压libxc安装包。

tar zxvf libxc-3.3.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd libxc-3.3.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/LIBXC AR=ar FC=gfortran F77=gfortranF90=gfortran CC=gcc

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 230

Page 254: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.9.4.5 安装 scalapack

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压scalapack安装包。

tar –xvf scalapack-2.1.0.tgz

步骤3 执行以下命令进入解压后的目录。

cd scalapack-2.1.0

步骤4 执行以下命令进行粘贴复制。

cp SLmake.inc.example SLmake.inc

步骤5 执行以下命令进行修改“SLmake.inc”文件。

1. vi SLmake.inc2. 按“i”进入编辑模式,新增算例文件。

BLASLIB = /path/to/OPENBLAS/lib/libopenblas.soLAPACKLIB = /path/to/OPENBLAS/lib/libopenblas.soLIBS = $(LAPACKLIB) $(BLASLIB

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令进行编译。

make

----结束

2.9.5 获取源码

操作步骤

步骤1 下载CP2K安装包“cp2k-4.1.tar.bz2”。

下载地址:https://github.com/cp2k/cp2k/releases/。

步骤2 使用SFTP工具将CP2K安装包上传至服务器“/path/to/CP2K”目录。

----结束

2.9.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压CP2K安装包。

tar xvf cp2k-4.1.tar.bz2

步骤3 执行以下命令进入解压后的目录。

cd cp2k-4.1/arch

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 231

Page 255: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 执行以下命令修改配置文件。

1. vi Linux-arm-64-gfortran.psmp2. 按“i”进入编辑模式,新增算例文件。

FFTW_INC = /path/to/FFTW/fftw-3.3.8/includeFFTW_LIB = /path/tp/FFTW/fftw-3.3.8-bulid/libLIBINT_INC = /path/to/LIBINT/includeLIBINT_LIB = /path/to/LIBINT/libLIBXC_INC = /path/to/LIBXC/libxc-3.0.0/includeLIBXC_LIB = /path/to/LIBXC/libxc-3.0.0/libOPENBLAS_INC =/path/to/OPENBLAS/OpenBLAS-0.3.6/includeOPENBLAS_LIB =/path/to/OPENBLAS/OpenBLAS-0.3.6/libDFLAGS = -D__FFTW3 -D__LIBINT -D__LIBXC2\ -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6\ -D__MAX_CONTR=4\ -D_para11e1 -D_SCALAPACKCPPFLAGS =FCFLAGS = $(DFLAGS) -O2 -ffast-math -ffree-form -ffree-line-length-none\ -fopenmp -ftree-vectorize -funroll-loops\ -mtune=native\ -I$(FFTW_INC) -I$(OPENBLAS_INC) -I$(LIBINT_INC) - I$(LIBXC_INC)\ -L/path/to/GNU/gcc9.1/lib64/LDFLAGS = $(FCFLAGS) #-static-libgfortranLIBS =/path/to/SCALAPACK/scalapack-2.1.0/libscalapack.a\ $(OPENBLAS_LIB)/libopenblas.a\ $(FFTW_LIB)/libfftw3.a\ $(FFTW_LIB)/libfftw3_threads.a\ $(LIBXC_LIB)/libxcf90.a\ $(LIBXC_LIB)/libxc.a\ $(LIBINT_LIB)/libderiv.a\ $(LIBINT_LIB)/libint.a\

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令进行安装编译。

cd /path/to/CP2K/cp2k-4.1/makefiles

make -j 8 ARCH=Linux-arm-64-gfortran VERSION=psmp

----结束

2.9.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令并行执行。

1. 执行以下命加载环境变量。

export PATH=/path/to/CP2K/cp2k-4.1/exe/Linux-x86-64-gfortran:$PATH2. 在root用户下,则执行以下命令:

cd /path/to/CP2K/cp2k-4.1/tests/QS/benchmarkmpirun --allow-run-as-root -np 96 -x OMP_NUM_THREADS=1 cp2k.psmpH2O-64.inp > cp2k.H2O-64.inp.log输出的结果样例(1)与结果样例(2)时间差8095.77S。

图 2-6 结果样例(1)

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 232

Page 256: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 2-7 结果样例(2)

----结束

2.9.8 故障排除

问题一:运行 CP2K 时报错

现象描述:

运行cp2k.psmp时报错,报错信息为:“mpirun noticed that process rank 0 withPID 0 on node XA320V2-90 exited on signal 11 (Segmentation fault)”。

可能原因:

软件对容量要求太高,导致内存资源不够。

处理步骤:

更换比较小的软件自带测试算例或者增加内存容量。

2.9.9 更多资源CP2K官方安装指南:

https://www.cp2k.org/howto:compile

2.10 CP2K 7.1 移植指南(CentOS 7.6)

2.10.1 介绍CP2K是一个量子化学和固态物理软件包,可以对固态,液态,分子,周期性,材料,晶体和生物系统进行原子模拟。CP2K为不同的建模方法提供了通用框架。支持的理论水平包括DFTB,LDA,GGA,MP2,RPA,半经验方法(AM1,PM3,PM6,RM1,MNDO等)和经典力场(AMBER,CHARMM等)。CP2K可以使用NEB或二聚体方法进行分子动力学,元动力学,蒙特卡洛,埃伦菲斯特动力学,振动分析,核心能谱,能量 小化和过渡态优化的模拟。

关于CP2K的更多信息请访问CP2K官网。

语言:Fortran 2008

一句话描述:是一个量子化学和固态物理软件包,可以对固态,液态,分子,周期性,材料,晶体和生物系统进行原子模拟。

开源协议:GPL

建议的版本

建议使用版本“CP2k-7.1”。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 233

Page 257: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.10.2 环境要求

硬件要求

硬件要求如表2-47所示。

表 2-47 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-48所示。

表 2-48 软件要求

项目 版本 下载地址

CP2K 7.1 https://github.com/cp2k/cp2k/archive/v7.1.0.tar.gz

libint 2.6.0 https://github.com/evaleev/libint/archive/v2.6.0.tar.gz

libXC 4.3.4 https://www.abinit.org/fallbacks

fftw 3.3.8 https://www.cp2k.org/static/downloads/

lapack 3.8.0 https://www.cp2k.org/static/downloads/

scalapack 2.1.0 https://www.cp2k.org/static/downloads/

cmake 3.16.4 https://cmake.org/files/v3.16/cmake-3.16.4.tar.gz

gmp 6.2.0 https://gmplib.org/download/gmp/gmp-6.2.0.tar.xz

boost 1.72 https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz

dbcsr 2.0.1 https://github.com/cp2k/dbcsr/releases/download/v2.0.1/dbcsr-2.0.1.tar.gz

elpa 019.05.001 https://www.cp2k.org/static/downloads/elpa-2019.05.001.tar.gz

spglib 1.12.2 https://github.com/spglib/spglib/archive/v1.11.2.1.tar.gz

gsl 2.6 http://mirrors.ustc.edu.cn/gnu/gsl/gsl-2.6.tar.gz

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 234

Page 258: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

plumed 2.5.2 https://www.cp2k.org/static/downloads/plumed-2.5.2.tgz

测试算例 H2O-256.inp 软件自带测试算例

操作系统要求

操作系统要求如表2-49所示。

表 2-49 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.10.3 移植规划数据

本章节给出CP2K软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-50 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/CMAKE cmake的安装规划路径。 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/GMP gmp的安装规划路径。

4 /path/to/BOOST boost的安装规划路径。

5 /path/to/LIBINT libint的安装规划路径。

6 /path/to/FFTW fftw的安装规划路径。

7 /path/to/LAPACK lapack的安装规划路径。

8 /path/to/SCALAPACK

scalapack的安装规划路径。

9 /path/to/ELPA elpa的安装规划路径。

10 /path/to/SPGLIB Spglib的安装规划路径。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 235

Page 259: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径 用途 说明

11 /path/to/LIBXC libxc的安装规划路径。

12 /path/to/GSL gsl的安装规划路径。

13 /path/to/PLUMED plumed的安装规划路径。

14 /path/to/EXTRA 保存libint、fftw、lapack、scalapack、elpa、Spglib、libxc、gsl、plumed等生成的库文件的规划路径。

2.10.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-51 配置流程

序号

配置项 说明

1 基础环境搭建 参《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装cmake 参考2.10.4.1 安装cmake。

3 安装gmp 参考2.10.4.2 安装gmp。

4 安装boost 参考2.10.4.3 安装boost。

5 安装libint 参考2.10.4.4 安装libint。

6 安装fftw 参考2.10.4.5 安装fftw。

7 安装lapack 参考2.10.4.6 安装lapack。

8 安装scalapack 参考2.10.4.7 安装scalapack。

9 安装elpa 参考2.10.4.8 安装elpa。

10 安装spglib 参考2.10.4.9 安装spglib。

11 安装libxc 参考2.10.4.10 安装libxc。

12 安装gsl 参考2.10.4.11 安装gsl。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 236

Page 260: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

配置项 说明

13 安装plumed 参考2.10.4.12 安装plumed。

2.10.4.1 安装 cmake

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压cmake安装包。

tar -xvf cmake-3.16.4.tar.gz

步骤3 执行以下命令解压cmake安装包。

cd cmake-3.16.4

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/CMAKE

步骤5 执行以下命令编译安装。

make -j&&make install

步骤6 执行以下命令设置环境变量。

export PATH=/path/to/CMAKE/bin:$PATH

----结束

2.10.4.2 安装 gmp

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压gmp安装包。

tar -xvf gmp-6.2.0.tar.xz

步骤3 执行以下命令进行配置。

cd gmp-6.2.0

./configure --prefix=/path/to/GMP

步骤4 执行以下命令编译安装。

make -j&&make install

----结束

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 237

Page 261: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.10.4.3 安装 boost

操作步骤

步骤1 执行以下命令解压boot安装包。

tar -xvf boost_1_72_0.tar.gz

步骤2 执行以下命令进行配置。

./bootstrap.sh

./b2 install --prefix=/path/to/BOOST

步骤3 执行以下命令编译安装。

make -j&&make install

----结束

2.10.4.4 安装 libint

操作步骤

步骤1 执行以下命令使用yum安装依赖包

yum install gmp-devel.aarch64 libudev* -y

步骤2 执行以下命令创建安装目录。

mkdir -p /path/to/EXTRA

mkdidr -p /path/to/EXTRA/mathlib

步骤3 执行以下命令解压libint安装包。

tar -xvf libint-2.6.0.tar.gz

步骤4 执行以下命令进行配置。

cd libint-2.6.0

./autogen.sh

步骤5 执行以下命令进入解压后的目录。

mkdir build

cd build

步骤6 执行以下命令进入解压后的目录。

export LDFLAGS="-L/path/to/GMP/gmp-6.2/lib -L/path/to/BOOST/boost_1_72/lib"

export CPPFLAGS="-I/path/to/BOOST/boost_1_72/include/ -I/path/to/GMP/gmp-6.2/include"

步骤7 执行以下命令进行配置。

../configure CXX=mpicxx --enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=4 --with-eri-max-am=4,3 --with-eri2-max-am=6,5 --with-eri3-

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 238

Page 262: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

max-am=6,5 --with-opt-am=3 --enable-generic-code --disable-unrolling --with-libint-exportdir=libint_cp2k_lmax4

步骤8 执行以下命令进行编译。

make export

步骤9 执行以下命令解压libint_cp2k_lmax4.tgz安装包。

tar –xvf libint_cp2k_lmax4.tgz

cd libint_cp2k_lmax4

步骤10 执行以下命令进行配置。

./configure --prefix=/path/to/EXTRA/libint2 CC=mpicc CXX=mpicxx FC=mpifort--enable-fortran --enable-shared

步骤11 执行以下命令进行编译安装。

make -j 32

make install

----结束

2.10.4.5 安装 fftw

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压fftw安装包。

tar -zxvf fftw-3.3.8.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd fftw-3.3.8

步骤4 执行以下命令进行配置。

./configure CC=gcc F77=gfortran --enable-shared --enable-threads --enable-openmp --enable-mpi MPICC=mpicc --prefix= /path/to/EXTRA/fftw3

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

2.10.4.6 安装 lapack

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压lapack安装包。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 239

Page 263: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

tar zxvf lapack-3.8.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cp make.inc.example make.inc

步骤4 执行以下命令进行编译安装。

make -j

步骤5 执行以下命令复制静态库到另外目录。

cp *.a /path/to/EXTRA/mathlib

----结束

2.10.4.7 安装 scalapack

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压scalapack安装包。

tar -xvf scalapack-2.1.0.tgz

步骤3 执行以下命令进入解压后的目录。

cd scalapack-2.1.0

步骤4 执行以下命令进行粘贴复制。

cp SLmake.inc.example SLmake.inc

步骤5 执行以下命令进行修改“SLmake.inc”文件。

1. vim SLmake.inc2. 按“i”进入编辑模式:

BLASLIB = /path/to/LAPACK/lapack-3.8.0/librefblas.a LAPACKLIB = /path/to/LAPACK/lapack-3.8.0/liblapack.a LIBS = $(LAPACKLIB) $(BLASLIB

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令进行编译。

make -j

步骤7 执行以下命令复制生成静态库到另外目录。

cp *.a/path/to/EXTRA/mathlib

----结束

2.10.4.8 安装 elpa

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 240

Page 264: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压scalapack安装包。

tar -xvf elpa-2019.05.001.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd elpa-2019.05.001

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/EXTRA/elpa --enable-openmp --enable-shared=noLIBS=”//path/to/EXTRA/mathlib/libscalapack.a /path/to/EXTRA/mathlib/liblapack.a /path/to/EXTRA/mathlib/librefblas.a” --disable-sse --disable-sse-assembly --disable-avx --disable-avx2

步骤5 执行以下命令进行编译。

make

make install

----结束

2.10.4.9 安装 spglib

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压spglib安装包。

tar -xvf spglib-1.12.2.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd spglib-1.12.2

mkdir build

cd build

步骤4 执行以下命令进行配置。

cmake .. -DCMAKE_INSTALL_PREFIX="/path/to/EXTRA/spglib112"

步骤5 执行以下命令进行编译。

make -j

make install

----结束

2.10.4.10 安装 libxc

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压libxc安装包。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 241

Page 265: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

tar -xvf libxc-4.3.4.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd libxc-4.3.4

步骤4 执行以下命令进行配置。

./configure FC=gfortran CC=gcc --prefix=/path/to/EXTRA/libxc434

步骤5 执行以下命令进行编译。

make

make install

----结束

2.10.4.11 安装 gsl

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压gsl安装包。

tar -xvf gsl-2.6.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd gsl-2.6

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/EXTRA/gsl

步骤5 执行以下命令进行编译。

make

make install

步骤6 执行以下命令设置环境变量。

export LIBRARY_PATH=/path/to/EXTRA/gsl/lib:$LIBRARY_PATH

export LD_LIBRARY_PATH=/path/to/EXTRA/gsl/lib:$LD_LIBRARY_PATH

----结束

2.10.4.12 安装 plumed

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压plumed安装包。

tar -xvf plumed-2.5.2.tgz

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 242

Page 266: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令进入解压后的目录。

cd plumed-2.5.2

步骤4 执行以下命令进行配置。

./configure CXX=mpicxx CC=mpicc FC=mpifort --prefix=/path/to/EXTRA/plumed252 --enable-external-blas --enable-gsl --enable-external-lapackLDFLAGS=-L/path/to/EXTRA/mathlib LIBS=”-lrefblas –llapack”

步骤5 执行以下命令进行编译。

make

make install

----结束

2.10.5 获取源码

操作步骤

步骤1 下载CP2K安装包“cp2k-7.1.tar.gz。

下载地址:https://github.com/cp2k/cp2k/archive/v7.1.0.tar.gz。

步骤2 使用SFTP工具将CP2K安装包上传至服务器“/path/to/CP2K”目录。

----结束

2.10.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压CP2K安装包。

tar xvf cp2k-7.1.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd cp2k-7.1.0/arch

步骤4 执行以下命令修改配置文件。

1. vi Linux-x86-64-gfortran.psmp2. 按“i”进入编辑模式,修改文件。

GNU_PATH = /path/to/EXTRA/MATHLIBPATH = /path/to/EXTRA/mathlibinclude $(GNU_PATH)/plumed252/lib/plumed/src/lib/Plumed.inc.staticELPA_VER = 2019.05.001ELPA_INC = $(GNU_PATH)/elpa/include/elpa_openmp-$(ELPA_VER)ELPA_LIB = $(GNU_PATH)/elpa/libFFTW_INC = $(GNU_PATH)/fftw3/includeFFTW_LIB = $(GNU_PATH)/fftw3/libLIBINT_INC = $(GNU_PATH)/libint2/includeLIBINT_LIB = $(GNU_PATH)/libint2/libLIBXC_INC = $(GNU_PATH)/libxc434/includeLIBXC_LIB = $(GNU_PATH)/libxc434/libSPGLIB_INC = $(GNU_PATH)/spglib112/include

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 243

Page 267: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

SPGLIB_LIB = $(GNU_PATH)/spglib112/libCFLAGS = -O2 -g -mtune=nativeDFLAGS = -D__ELPA -D__FFTW3 -D__LIBINT -D__LIBXCDFLAGS += -D__MPI_VERSION=3 -D__PLUMED2 -D__SPGLIBDFLAGS += -D__parallel -D__SCALAPACKFCFLAGS = $(CFLAGS) $(DFLAGS)FCFLAGS += -ffree-form -ffree-line-length-noneFCFLAGS += -fopenmpFCFLAGS += -ftree-vectorize -funroll-loops -std=f2008FCFLAGS += -I$(ELPA_INC)/elpa -I$(ELPA_INC)/modulesFCFLAGS += -I$(FFTW_INC) -I$(LIBINT_INC) -I$(LIBXC_INC)LDFLAGS = $(FCFLAGS)LIBS = $(PLUMED_DEPENDENCIES) -lgsl -lgslcblas -lzLIBS += $(ELPA_LIB)/libelpa_openmp.aLIBS += $(LIBXC_LIB)/libxcf03.aLIBS += $(LIBXC_LIB)/libxc.aLIBS += $(LIBINT_LIB)/libint2.aLIBS += $(SPGLIB_LIB)/libsymspg.aLIBS += $(FFTW_LIB)/libfftw3.aLIBS += $(FFTW_LIB)/libfftw3_threads.aLIBS += $(MATHLIBPATH)/libscalapack.aLIBS += $(MATHLIBPATH)/liblapack.aLIBS += $(MATHLIBPATH)/librefblas.aLIBS += -ldl -lpthread -lstdc++

步骤5 执行以下命令进入目录中。

cd /path/to/CP2K/exts/dbcsr

cp dbcsr-2.1.0-rc12.tar.gz ./

步骤6 执行以下命令进入目录中。

tar -xvf dbcsr-2.1.0-rc12.tar.gz

cd dbcsr-2.1.0-rc12

步骤7 执行以下命令把dbcsr-2.1.0-rc12所有文件移到上一目录dbcsr中。

mv * ../

步骤8 执行以下命令进行安装编译。

make -j 16 ARCH=Linux-x86-64-gfortran VERSION=psmp

----结束

2.10.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命加载环境变量。

export PATH=/path/to/CP2K/exe/Linux-x86-64-gfortran:$PATH

步骤3 在root用户下,则执行以下命令:

mpirun --allow-run-as-root -np 128 -x OMP_NUM_THREADS=1 cp2k.psmpH2O-256.inp > cp2k.H2O-256.inp.log

输出的图2-8与结果样例(2)时间差927S。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 244

Page 268: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 2-8 结果样例(1)

图 2-9 结果样例(2)

----结束

2.10.8 更多资源

CP2K官方安装指南:

https://www.cp2k.org/howto:compile

2.11 NWChem 6.8.1 移植指南(CentOS 7.6)

2.11.1 介绍

NWChem是运行在高性能并行超级计算机和通常工作站集群上的计算化学软件。NWChem使用标准量子力学描述电子波函或密度,计算分子和周期性系统的特性,还可以进行经典分子动力学和自由能模拟。

关于NWChem的更多信息请访问NWChem官网。

语言:Python

一句话描述:可扩展的计算化学工具。

开源协议:ECL 2.0

建议的版本

建议使用版本为“NWChem-6.8.1”。

2.11.2 环境要求

硬件要求

硬件要求如表2-52所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 245

Page 269: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-52 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-53所示。

表 2-53 软件要求

项目 版本 下载地址

NWChem 6.8.1 https://codeload.github.com/NWChemgit/NWChem/tar.gz/6.8.1-release

GlobalArray 5.6.5 https://github.com/edoapra/ga/releases/download/v5.6.5/ga-5.6.5.tar.gz

测试算例 siosi8.nw 软件自带算例

操作系统要求

操作系统要求如表2-54所示。

表 2-54 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.11.3 移植规划数据

本章节给出NWChem软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-55 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 246

Page 270: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

2 /path/to/NWCHEM

NWCHEM的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

2.11.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-56 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2.11.5 获取源码

操作步骤

步骤1 下载NWChem安装包“NWChem-6.8.1-release.tar.gz”。

下载地址:https://codeload.github.com/NWChemgit/NWChem/tar.gz/6.8.1-release。

步骤2 使用SFTP工具将NWChem安装包上传至服务器“/path/to/NWCHEM”目录。

----结束

2.11.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令设置环境变量。

export CC=`which gcc`

export CXX=`which g++`

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 247

Page 271: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export FC=`which gfortran`

步骤3 执行以下命令解压NWCHEM安装包。

cd /path/to/NWCHEM

tar -zxvf NWChem-6.8.1-release.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd NWChem-6.8.1-release

步骤5 执行以下命令将GlobalArray软件解压到src/tools目录。

cd src/tools

cp ga-5.6.5.tar.gz /path/to/NWCHEM/NWChem-6.8.1-release/src/tools ./

tar -zxvf ga-5.6.5.tar.gz

步骤6 执行以下命令进行配置。

export NWCHEM_TOP=/path/to/NWCHEM/NWChem-6.8.1-release

export NWCHEM_TARGET=LINUX64

export NWCHEM_MODULES=all

export USE_MPI=y

export USE_INTERNALBLAS=y

步骤7 执行以下命令进行编译安装。

cd /path/to/NWCHEM/NWChem-6.8.1-release/src

make nwchem_config

make FC=gfortran >& make.log

步骤8 执行以下命令添加环境变量。

export PATH=/path/to/NWCHEM/NWChem-6.8.1-release/bin/LINUX64:$PATH

----结束

2.11.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入算例文件夹。

cd /path/to/NWCHEM/NWChem-6.8.1-release/web/benchmarks/dft

步骤3 执行以下命令创建hostfile文件。

vi hostfile

1. 按“i”进入编辑模式。Node1 Node2

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 248

Page 272: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤4 执行以下命令清除缓存。

clush -w Node[1-2] “sync;echo 3 > /proc/sys/vm/drop_caches”

步骤5 执行以下命令进行计算。

mpirun --allow-run-as-root -N 96 -x PATH=$PATH -x LD_LIBRARY_PATH=$LD_LIBRARY_PATH -mca btl ^openib --hostfile hostfile nwchem siosi8.nw -v2>&1 | tee NWChem_examples.log

说明

● --hostfile hostfile:指定使用的节点名字列表,此处以2节点为例。

● -N 96 :每个节点运行96个进程(此处以单节点96核CPU为例)。

步骤6 需要查看“NWChem_examples.log”日志中的“Total times cpu”数值,单位是“s”,数值越少性能越优。

输出的结果样例如下图所示。

图 2-10 结果样例

----结束

2.11.8 故障排除

问题一:运行 make NWChem_config 时报错

现象描述:

运行make NWChem_config时报错,报错信息为:“guess-mpidefs: command notfound...”。

可能原因:

未将GlobalArray软件包解压到“src/tools”目录,且该机器不能访问互联网。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 249

Page 273: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

处理步骤:

将GlobalArray软件包解压到“src/tools”目录或机器联网。

2.11.9 更多资源NWCHEM官网:

https://nwchemgit.github.io/

2.12 ROOT 6.20 移植指南(CentOS 7.6)

2.12.1 介绍ROOT是一个模块化科学软件工具包。它提供了大数据处理,统计分析,可视化和存储所需的所有功能。

关于ROOT的更多信息请访问ROOT官网。

语言:C++/Python

一句话描述:模块化科学软件工具包。

开源协议:GPL 3.0

建议的版本

建议使用版本为“ROOT 6.20”。

2.12.2 环境要求

硬件要求

硬件要求如表2-57所示。

表 2-57 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-58所示。

表 2-58 软件要求

项目 版本 下载地址

ROOT 6.20 https://root.cern.ch/content/release-62000

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 250

Page 274: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

CMake 3.17 https://cmake.org/download/

zstd 1.3.4 https://github.com/facebook/zstd/releases/tag/v1.3.4

测试算例 benchmarks.C 软件自带测试算例。

simple 软件自带测试算例。

操作系统要求

操作系统要求如表2-59所示。

表 2-59 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.12.3 移植规划数据本章节给出ROOT软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-60 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/CMAKE

CMake的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/ZSTD zstd的安装规划路径。

4 /path/to/ROOT ROOT的安装规划路径。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 251

Page 275: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.12.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-61 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装CMake 参考2.12.4.1 安装CMake。

3 安装zstd 参考2.12.4.2 安装zstd。

2.12.4.1 安装 CMake

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压CMake安装包。

tar -xzvf cmake-3.17.0-rc2.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd cmake-3.17.0-rc2

步骤4 执行以下命令进行编译安装。

./configure --prefix=/path/to/CMAKE

make -j16

make install

步骤5 行以下命令设置cmake环境变量。

export PATH=/path/to/CMAKE/bin:$PATH

----结束

2.12.4.2 安装 zstd

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 252

Page 276: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压zstd安装包。

tar -zxvf zstd-1.3.4.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd zstd-1.3.4

步骤4 执行以下命令进行编译安装。

make –j16

make install

步骤5 执行以下命令设置zstd的环境变量。

export LD_LIBRARY_PATH=/path/to/ZSTD/lib:$LD_LIBRARY_PATH

----结束

2.12.5 获取源码

操作步骤

步骤1 下载ROOT安装包“root_v6.20.00.source.tar.gz”。

下载地址:https://root.cern.ch/content/release-62000。

步骤2 使用SFTP工具将ROOT安装包上传至服务器“/path/to/ROOT”目录。

----结束

2.12.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压ROOT安装包。

tar -xzvf root_v6.20.00.source.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd root-6.20.00

步骤4 执行以下命令建立并进入ROOT软件编译目录。

mkdir obj

cd obj

步骤5 确保服务器连接互联网,执行以下命令进行编译安装。

cmake ../ -DCMAKE_INSTALL_PREFIX=/opt/xrootd -DENABLE_PERL=FALSE

make -j16

make install

步骤6 执行以下命令添加环境变量。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 253

Page 277: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

source ./bin/thisroot.sh

----结束

2.12.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入算例目录。

cd /path/to/ROOT/root-6.20.00/obj/tutorials/legacy

步骤3 执行以下命令进入ROOT。

root

步骤4 执行以下命令执行benchmark测试。

.x benchmarks.C

查看显示结果中的“ROOTMARKS”数值,数值越大单核性能越优。

输出的结果样例如图2-11所示。

图 2-11 结果样例

步骤5 执行以下命令退出ROOT。

.q

步骤6 执行以下命令进入proof目录。

cd /path/to/ROOT/root-6.20.00/obj/tutorials/proof

步骤7 执行以下命令进入ROOT。

root

步骤8 执行以下命令执行simple测试。

.L runProof.C

runProof("simple(nevt=10000000000000000,nhist=100)","lite://")

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 254

Page 278: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

弹出测试进度,当进度条显示为“100%”时,查看弹出框中的“Processing rate”数值,数值越大多核性能越优。

弹出框的显示样例如图2-12所示。

图 2-12 显示样例

----结束

2.12.8 故障排除

问题一:运行 cmake 时报错

现象描述:

运行cmake时报错,报错信息为:“Error in <TInterpreter::InspectMembers>: TClassand cling disagree on the size of the class TBaseClass”。

可能原因:

GNU版本问题。

处理步骤:

检查各编译环境的GNU环境是否配套及检查/usr/local/lib相关库是否正确,请参考步骤4和步骤4。

问题二:运行 runProof 时报错

现象描述:

运行runProof("simple(nevt=10000000000000000,nhist=100)")时报错,报错信息为:“SysError in <TUnixSystem::UnixTcpConnect>: connect (localhost:40000)(Connection refused)”。

可能原因:

在服务器本地运行时,不需要启动xproofd守护进程。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 255

Page 279: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

处理步骤:

运行时加入"lite://"参数,详细请参考步骤8。

2.12.9 更多资源

ROOT官方安装指南:

https://root.cern.ch/build-prerequisites#ubuntu

ROOT官方论坛:

https://root-forum.cern.ch/

2.13 Geant4 10.6 移植指南(CentOS 7.6)

2.13.1 介绍

Geant4是一个蒙特卡罗应用软件包,用于模拟粒子在物质中运输的物理过程。它的应用领域包括高能,核和加速器物理,以及医学和太空科学领域。

关于Geant4的更多信息请访问Geant4官网。

语言:C++

一句话描述:蒙特卡罗应用软件包。

开源协议:GPL 3.0

建议的版本

建议使用版本为“Geant4 10.6”。

2.13.2 环境要求

硬件要求

硬件要求如表2-62所示。

表 2-62 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-63所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 256

Page 280: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-63 软件要求

项目 版本 下载地址

Geant4 10.6 http://geant4.web.cern.ch/support/download

Data files 10.6 http://geant4.web.cern.ch/support/download

cmake 3.17 https://cmake.org/download/

测试算例 exMPI01 软件自带测试算例。

操作系统要求

操作系统要求如表2-64所示。

表 2-64 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.13.3 移植规划数据本章节给出Geant4软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-65 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/CMAKE

CMAKE的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/GEANT4

GEANT4的安装规划路径。

4 /path/to/DATA Data files数据包的安装规划路径。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 257

Page 281: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.13.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-66 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装cmake 参考2.13.4.1 安装cmake。

2.13.4.1 安装 cmake

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压cmake安装包。

tar -xzvf cmake-3.17.0-rc2.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd cmake-3.17.0-rc2

步骤4 执行以下命令配置cmake。

./configure --prefix=/path/to/CMAKE

步骤5 执行以下命令进行编译安装。

make -j16

make install

步骤6 执行以下命令设置cmake环境变量。

export PATH=/path/to/CMAKE/bin:$PATH

----结束

2.13.5 获取源码

操作步骤

步骤1 下载Geant4源码包“geant4.10.06.p01.tar.gz”。

下载地址:http://geant4.web.cern.ch/support/download。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 258

Page 282: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 下载12个Data files数据包。

下载地址:http://geant4.web.cern.ch/support/download。

步骤3 使用SFTP工具将Geant4源码包上传至服务器“/path/to/GEANT4”目录,将12个Datafiles数据包上传至服务器“/path/to/DATA”目录。

----结束

2.13.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令配置OpenGL。

yum install -y mesa*

yum install -y freeglut*

yum install -y *GLEW*

yum install -y openssl-devel

步骤3 执行以下命令进入DATA目录。

cd /path/to/DATA

步骤4 执行以下命令创建解压脚本。

1. vi run.sh2. 按“i”进入编辑模式,新增如下内容,批量解压数据包。

#!/bin/bashfor wav in ./*.tar.gz; do echo "Extracting wav from $wav" tar -xvf $wavdone

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令给解压脚本添加执行权限。

chmod +x run.sh

步骤6 执行以下命令解压所有Data files数据包。

sh run.sh

步骤7 执行以下命令设置数据包环境变量。

1. vi data_source2. 按“i”进入编辑模式,新增如下内容,批量设置环境变量。

export G4SAIDXSDATA=/path/to/DATA/G4SAIDDATA2.0export G4LEDATA=/path/to/DATA/G4EMLOW7.9.1export G4LEVELGAMMADATA=/path/to/DATA/PhotonEvaporation5.5export G4INCLDATA=/path/to/DATA/G4INCL1.0export G4PARTICLEXSDATA=/path/to/DATA/G4PARTICLEXS2.1export G4PIIDATA=/path/to/DATA/G4PII1.3export G4RADIOACTIVEDATA=/path/to/DATA/RadioactiveDecay5.4export G4REALSURFACEDATA=/path/to/DATA/RealSurface2.1.1export G4ABLADATA=/path/to/DATA/G4ABLA3.1export G4NEUTRONHPDATA=/path/to/DATA/G4NDL4.6

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 259

Page 283: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export G4ENSDFSTATEDATA=/path/to/DATA/G4ENSDFSTATE2.2export G4TENDLDATA=/path/to/DATA/G4TENDL1.3.2

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下命令是环境变量生效。

source data_source

步骤9 执行以下命令解压Geant4安装包。

tar -xvf geant4.10.06.p01.tar.gz

步骤10 执行以下命令创建并进入build目录。

mkdir geant4.10.06.p01/build

cd geant4.10.06.p01/build

步骤11 执行以下命令编译Geant4。

CC=mpicc CXX=mpicxx CFLAGS='-O3 -finline-functions -march=armv8.2-a -flto' cmake -DCMAKE_INSTALL_PREFIX=/path/to/GEANT4/geant4.10.06.p01-install -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_BUILD_MULTITHREADED=ON ../

步骤12 执行以下命令进行安装。

make -j16

make install

步骤13 执行以下命令进入并行模块目录。

cd /path/to/GEANT4/geant4.10.06.p01/examples/extended/parallel/MPI/source

步骤14 执行以下命令创建并进入build目录。

mkdir build

cd build

步骤15 执行以下命令编译并行模块。

CC=mpicc CXX=mpicxx CFLAGS='-O3 -finline-functions -march=armv8.2-a -flto' cmake -DCMAKE_INSTALL_PREFIX=/path/to/GEANT4/geant4.10.06.p01-install/lib64 ../

步骤16 执行以下命令进行安装。

make -j16

make install

----结束

2.13.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 260

Page 284: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令进入算例目录。

cd /path/to/GEANT4/geant4.10.06.p01/examples/extended/parallel/MPI/examples

步骤3 执行以下命令将“exMPI01”目录下的所有内容复制到“exMPI01_bak”目录下。

cp -r exMPI01 exMPI01_bak

步骤4 执行以下命令进入测试目录。

cd exMPI01

mkdie build

cd build

步骤5 执行以下命令进行编译安装。

CC=mpicc CXX=mpicxx CFLAGS='-O3 -finline-functions -march=armv8.2-a -flto' cmake -DCMAKE_INSTALL_PREFIX=/path/to/GEANT4/geant4.10.06.p01/examples/extended/parallel/MPI/examples/exMPI01-test -DGeant4_DIR=/path/to/GEANT4/geant4.10.06.p01-install/lib64/Geant4-10.6.1 -DG4mpi_DIR=/path/to/GEANT4/geant4.10.06.p01-install/lib64/lib64/G4mpi-10.6.1 ../

make -j16

步骤6 执行以下命令测试。

mpirun--allow-run-as-root -np 96 -mca btl ^openib ./exMPI01 run.mac >geant4-128core.log 2>&1

查看“geant4-128core.log”日志中的“time”的值,单位是“s”,数值越小性能越优。

输出的结果样例如图2-13所示。

图 2-13 结果样例

----结束

2.13.8 故障排除

问题一:编译 geant4 并行模块时报错

现象描述:

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 261

Page 285: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

编译geant4并行模块时报错,报错信息为:“G4MPImanager.hh:117:9: error:‘MPI’ does not name a type; did you mean ‘M_PI’?”。

可能原因:

OpenMPI 4.0.1默认没有打开g++绑定。

处理步骤:

重新编译OpenMPI 4.0.1并在配置OpenMPI时加入--enable-mpi-cxx参数,详细操作请参见《HPC解决方案 基础环境搭建指导书》中“OpenMPI安装 > 步骤5”

2.13.9 更多资源

Geant4官方网站:

http://geant4-data.web.cern.ch

2.14 Ont-tombo 1.5.1 移植指南(CentOS 7.6)

2.14.1 介绍

Ont-tombo是一套主要用于从纳米孔测序数据中鉴定修饰了的核苷酸。Ont-tombo还提供了用于分析和可视化原始纳米孔信号的工具。

Ont-tombo的功能清单:

● 改良的碱基检测;

● 参考锚定原始信号的可视化;

● 原始型号分析Python API;

● 带有教程的用户友好模型估计方法。

关于Ont-tombo的更多信息请访问Ont-tombo官网。

语言:Python

一句话描述:用于从纳米孔测序数据中鉴定修改的核苷酸工具。

开源协议:Mozilla Public License Version 2.0

建议的版本

建议使用版本为“Ont-tombo 1.5.1”。

2.14.2 环境要求

硬件要求

硬件要求如表2-67所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 262

Page 286: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-67 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-68所示。

表 2-68 软件要求

项目 版本 下载地址

HDF5 1.10.1 http://hdfgroup.org/HDF5/

OpenBLAS 0.3.7 https://github.com/xianyi/OpenBLAS/releases

Python 2.7.16 https://www.python.org/downloads/release/python-2716/

操作系统要求

操作系统要求如表2-69所示。

表 2-69 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

2.14.3 移植规划数据

本章节给出Ont-tombo软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 2-70 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 263

Page 287: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

3 /path/to/OPENBLAS

遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

OpenBLAS 0.3.7的安装规划路径。

4 /path/to/PYTHON

Python 2.7.16的安装规划路径。

2.14.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

配置流程

序号 配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装依赖包 参考2.14.4.1 安装依赖包。

3 安装Python 参考2.14.4.2 安装Python。

4 安装PIP 参考2.14.4.3 安装PIP。

5 安装OpenBLAS 参考2.14.4.4 安装OpenBLAS。

6 安装HDF5 参考2.14.4.5 安装HDF5。

2.14.4.1 安装依赖包

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装依赖包。

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-develreadline-devel tk-devel

----结束

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 264

Page 288: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.14.4.2 安装 Python

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Python安装包。

tar zxvf Python-2.7.16.tgz

步骤3 执行以下命令进入解压后的目录。

cd Python-2.7.16

步骤4 执行以下命令进行配置。

CXX=g++ ./configure --prefix=/path/to/PYTHON

步骤5 执行以下命令进行编译。

make

make install

步骤6 执行以下命令设置PYTHON的环境变量。

export PATH=/path/to/PYTHON/bin:$PATH

export LD_LIBRARY_PATH=/path/to/PYTHON/lib:$LD_LIBRARY_PATH

步骤7 执行以下命令验证Python安装是否成功。

python -V

显示类似如下信息,说明安装成功。

Python 2.7.16

----结束

2.14.4.3 安装 PIP

操作步骤

步骤1 执行以下命令下载PIP的分发文件。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

步骤2 执行以下命令安装PIP。

python get-pip.py

步骤3 执行以下命令验证PIP安装是否成功。

which pip

显示类似如下信息,说明安装成功。

/path/to/PYTHON/bin/pip

----结束

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 265

Page 289: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.14.4.4 安装 OpenBLAS

操作步骤

步骤1 使用Putty工具,以root用户登录服务器。

步骤2 执行以下命令解压OpenBLAS安装包。

tar -xvf OpenBLAS-0.3.7.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd OpenBLAS-0.3.7

步骤4 (可选)如果GCC编译器不是GNU 9及以上,需要修改“Makefile.arm64”文件,使用gcc -v命令查询GCC编译器版本。

1. vi Makefile.arm642. 按“i”进入编辑模式,删除如下红框中的内容。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令安装OpenBLAS。

make BINARY=64 FC=/usr/bin/gfortran USE_THREAD=1

make PREFIX=/path/to/OPENBLAS install

步骤6 设置OpenBLAS的环境变量。

export PATH=/path/to/OPENBLAS/bin:$PATH

export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH

----结束

2.14.4.5 安装 HDF5

操作步骤

步骤1 使用Putty工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -xvf hdf5-1.10.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令进行配置。

FC=/usr/bin/gfortran ./configure --prefix=/path/to/HDF5 --build=aarch64-unknown-linux-gnu --enable-fortran --enable-static=yes --enable-shared

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 266

Page 290: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令编译安装HDF5。

make -j 16

make install

步骤6 执行以下命令设置HDF5环境变量。

export PATH=/path/to/HDF5/bin:$PATH

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

2.14.5 获取源码

操作步骤

步骤1 Ont-Tombo软件包是通过pip命令指定链接进行下载和安装,无需单独下载源码包。

下载地址:https://pypi.tuna.tsinghua.edu.cn/simple。

----结束

2.14.6 编译和安装

步骤1 使用Putty工具,以root用户登录服务器。

步骤2 执行以下命令安装numpy。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

步骤3 执行以下命令安装scipy。

LAPACK=/path/to/OPENBLAS/lib/libopenblas.so BLAS=/path/to/OPENBLAS/lib/libopenblas.so pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy

步骤4 执行以下命令安装ont-tombo。

CFLAGS="-I/path/to/HDF5/include -L/path/to/HDF5/lib" pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ont-tombo

安装完成显示如下实例信息,则表示安装成功。Successfully installed cython-0.29.15 future-0.18.2 h5py-2.10.0 mappy-2.17 ont-tombo-1.5.1 tqdm-4.43.0

----结束

2.15 DL_POLY 1.10 移植指南(CentOS 7.6)

2.15.1 介绍

DL_POLY是由IT Todorov和W. Smith在Daresbury实验室开发的通用经典分子动力学(MD)模拟软件。

关于DL_POLY的更多信息请访问DL_POLY官网。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 267

Page 291: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

建议的版本

建议使用版本为“DL_POLY 1.10”。

2.15.2 环境要求

硬件要求

硬件要求如表2-71所示。

表 2-71 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-72所示。

表 2-72 软件要求

项目 版本 下载地址

DL_POLY V1.10 https://gitlab.com/DL_POLY_Classic/dl_poly/-/archive/RELEASE-1-10/dl_poly-RELEASE-1-10.tar.gz

测试算例 TEST41.tar.gz

https://gitlab.com/DL_POLY_Classic/tests/-/blob/master/TEST41.tar.gz

操作系统要求

操作系统要求如表2-73所示。

表 2-73 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.15.3 移植规划数据本章节给出DL_POLY软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 268

Page 292: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-74 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/DL_POLY

DL_POLY的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

2.15.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-75 配置流程

序号 配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2.15.5 获取源码

操作步骤

步骤1 下载DL_POLY安装包“dl_poly-RELEASE-1-10.tar.gz”。

下载地址:https://gitlab.com/DL_POLY_Classic/dl_poly/-/archive/RELEASE-1-10/dl_poly-RELEASE-1-10.tar.gz。

步骤2 使用SFTP工具将DL_POLY安装包上传至服务器“/path/to/DL_POLY”目录。

----结束

2.15.6 编译和安装

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压DL_POLY安装包。

tar -xzf dl_poly-RELEASE-1-10.tar.gz

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 269

Page 293: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令进入解压后的目录。

cd dl_poly-RELEASE-1-10/source

步骤4 拷贝Makefile。

cp ../build/MakePAR ./Makefile

步骤5 修改Makefile。

vim Makefile

将65行的内容修改为以下内容:

FC=mpif90 FFLAGS="-c -O3 -march=armv8.2-a -mtune=tsv110" \

步骤6 执行以下命令进行编译安装。

make dlpoly

步骤7 执行以下命令设置DL_POLY环境变量。

export PATH=/path/to/DL_POLY/dl_poly-RELEASE-1-10/execute:$PATH

步骤8 执行以下命令查看成功安装DL_POLY。

which DLPOLY.X

显示的信息如下,则安装成功。

/path/to/DL_POLY/dl_poly-RELEASE-1-10/execute/DLPOLY.X

----结束

2.15.7 运行和验证

2.15.7.1 单节点运行和验证

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 解压TEST41算例包。

tar zxf TEST41.tar.gz

步骤3 进入TEST41算例目录。

cd TEST41/NHC

步骤4 执行以下命令进行算例的单节点运行。

mpirun --allow-run-as-root -np 128 -mca btl ^openib DLPOLY.X

步骤5 查看执行结果。

查看“OUTPUT”日志的指标“time elapsed since job start = XX seconds”,时间单位是“s”,数值越少性能越优。

输出的结果样例如图2-14所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 270

Page 294: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 2-14 结果样例

----结束

2.15.7.2 多节点运行和验证

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 解压TEST41算例包。

tar zxf TEST41.tar.gz

步骤3 进入TEST41算例目录。

cd TEST41/NHC

步骤4 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

说明

node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

步骤5 在node2服务器节点窗口,执行以下命令配置环境变量。

vi /root/.bashrc

步骤6 按“i”进入编辑模式,在“.bashrc”文件末尾新增如下内容

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

export PATH=/path/to/DL_POLY/dl_poly-RELEASE-1-10/execute:$PATH

步骤7 执行以下命令进行算例的多节点运行。

mpirun --allow-run-as-root -np 256 -N 128 -x OMP_NUM_THREADS=1 --hostfile /path/to/HOSTFILE -mca btl ^openib DLPOLY.X

步骤8 查看执行结果。

查看“OUTPUT”日志的指标“time elapsed since job start = XX seconds”,时间单位是“s”,数值越少性能越优。

https://www.scd.stfc.ac.uk/Pages/DL_POLY.aspx

输出的结果样例如图2-15所示。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 271

Page 295: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 2-15 结果样例

----结束

2.15.8 更多资源

DL_POLY官网:

https://www.scd.stfc.ac.uk/Pages/DL_POLY.aspx

2.16 Gamess 移植指南(CentOS 7.6)

2.16.1 介绍

GAMESS是一个从头开始的程序分子量子化学。简而言之,GAMESS可以计算RCF、ROHF、UHF、GVB和MCSCF的SCF波函数。这些SCF波函数的相关校正包括配置相互作用,二阶微扰理论和耦合群集方法,以及密度泛函理论近似。可以通过CI,EOM或TD-DFT程序来计算激发态。可以使用核梯度来进行自动几何优化,过渡状态搜索或反映路径跟踪。能量粗麻布的计算可以预测具有IR或拉曼强度的振动频率。溶剂效应可以通过离散的有效碎片电势或连续模型(例如可极化连续模型)来建模。有许多相对论的计算方法,包括无限价的两个分量标量相对论校正,以及各种自旋轨道耦合选项。碎片分子轨道方法通过将计算划分为小碎片,允许在大型系统中使用许多复杂的处理方法。核波函数也可以在VSCF中进行计算,或者通过NEO代码对核轨道进行显式处理。

关于GAMESS的更多信息请访问GAMESS官网。

语言:C/Fortran 90

一句话描述:GAMESS可以计算RCF、ROHF、UHF、GVB和MCSCF的SCF波函数的模型软件。

开源协议:GPL 3.0

建议的版本

GAMESS不使用版本号。它是根据公开发布的日期进行版本控制的。本文使用的版本为2019年9月30日R2。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 272

Page 296: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2.16.2 环境要求

硬件要求

硬件要求如表2-76所示。

表 2-76 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表2-77所示。

表 2-77 软件要求

项目 版本 下载地址

GAMESS - https://www.msg.chem.iastate.edu/GAMESS/download/register

NetCDF-C 4.7.0 https://www.unidata.ucar.edu/downloads/netcdf/

NetCDF-Fortran

4.4.5 https://www.unidata.ucar.edu/downloads/netcdf/

测试算例 runall 软件自带测试算例。

操作系统要求

操作系统要求如表2-78所示。

表 2-78 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

2.16.3 移植规划数据

本章节给出GAMESS软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 273

Page 297: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 2-79 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/NETCDF

NetCDF-C的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

NetCDF-fortran的安装规划路径。

3 /path/to/GAMESS

GAMESS的安装规划路径。

2.16.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 2-80 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装NetCDF-C 参考2.16.4.1 安装NetCDF-C。

3 安装NetCDF-fortran 参考2.16.4.2 安装NetCDF-fortran。

2.16.4.1 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-C安装包。

tar -zxvf netcdf-c-4.7.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.7.0

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 274

Page 298: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF LDFLAGS="-L$HDF5/lib" CPPFLAGS="-I$HDF5/include" CC=mpicc --disable-dap

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置NetCDF-C的环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

export NETCDF=/path/to/NETCDF

----结束

2.16.4.2 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar -zxvf netcdf-fortran-4.4.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.5

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF CPPFLAGS="-I$HDF5/include -I$NETCDF/include" LDFLAGS="-L$HDF5/lib -L$NETCDF/lib" CC=mpicc FC=mpif90F77=mpif90

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

2.16.5 获取源码学术和工业用户均可免费获得GAMESS的站点许可证。在下载GAMESS的过程中,系统会要求您同意此许可。该许可承认Gordon集团对GAMESS的独家发行权,并且还禁止您出于任何目的制作GAMESS代码的副本,除非在您自己的机构中使用。

操作步骤

步骤1 注册申请许可证。申请地址:

http://www.msg.chem.iastate.edu/games/License_Agreement.html。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 275

Page 299: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 完成注册后,您随后将收到一封包含下载密码的电子邮件。获得密码后,您可以使用任何浏览器下载源代码的压缩tar文件或预编译的二进制文件。

----结束

2.16.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 检查服务器中是否具备所需要的软件。

rpm -qa |grep gcc

gcc-4.8.5-36.el7.aarch64gcc-gfortran-4.8.5-36.el7.aarch64libgcc-4.8.5-36.el7.aarch64gcc-c++-4.8.5-36.el7.aarch64

步骤3 执行以下命令创建主程序安装目录。

mkdir -p /path/to/GAMESS

步骤4 复制安装包至主程序安装目录。

cp gamess-current.tar.gz /path/to/GAMESS

步骤5 执行以下命令进入主程序安装目录。

cd /path/to/GAMESS

步骤6 解压安装包并获取root权限

tar -zxvf gamess-current.tar.gz

chown -R root:root gamess

步骤7 执行以下命令,安装GAMESS主程序。

1. 执行以下命令进入GAMESS安装路径。

cd /path/to/GAMESS/GAMESS./config

2. 按“Enter”,输入“linux64”。

3. 按三次“Enter”,输入“00”。

4. 按“Enter”,输入“gfortran”。

5. 按“Enter”,输入步骤2中确认的gfortran的版本号。

6. 按两次“Enter”,则建议输入“none”。

7. 按三次“Enter”,输入“sockets”。

8. 按“Enter”,输入“no”。

9. 按“Enter”,输入“no”。

10. 按“Enter”,输入“no”。

11. 按“Enter”。

此时“/path/to/GAMESS”目录下面生成了配置文件:install.info。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 276

Page 300: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤8 执行以下命令,编译GAMESS主程序。

1. 执行以下命令编译ddi。Compile ddicd ddi./compddimv ddikick.x ../cd ..

2. 执行以下命令编译GAMESS。命令执行约十几分钟后object目录下面生成许多配置文件。

Compile gamess./compall

3. 执行以下命令设置GAMESS链接生成“gamess.00.x”。

Link gamess./lked gamess 00

4. 更改运行环境。

a. 执行以下命令建立存放临时文件的文件夹tmp。

mkdir tmpb. 执行以下命令打开配置文件。

vi rungmsc. 输入“i”,进入编辑

set SCR=/path/to/GAMESS/tmpset USERSCR==/path/to/GAMESS/tmpset GMSPATH==/path/to/GAMESS

d. 退出时按“ESC”,然后按“:”并输入wq(保存修改并退出),按“Enter”。

----结束

2.16.7 运行和验证

操作步骤

步骤1 执行以下命令查看hostname。

hostname

步骤2 执行以下命令修改runall中的hostname。

vi runall

步骤3 将23行的si.msg.chem.iastate.edu改为hostname。

步骤4 执行以下命令运行测试用例。

time ./runall 00

步骤5 此时“/path/to/GAMESS”目录下会得到47个log文件,将它们移到“/path/to/GAMESS/tests/standard”目录下。

步骤6 执行以下命令运行检测测试用例运行是否成功。

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 277

Page 301: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1. 执行以下命令,切换到测试用例目录。

cd tests/standard2. 执行以下命令,修改“checktst”文件。

vim checktst修改39行,将“48”改为“47”。

3. 执行以下命令,执行检测命令。

time ./checktst得到如下提示,则表示GAMESS安装成功。All 47 testresults are correct!

----结束

2.16.8 更多资源GAMESS官方网站:

http://codfish.smast.umassd.edu/

HPC 解决方案移植指南 2 教育科研

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 278

Page 302: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3 气象

3.1 WRF 3.8.1 移植指南(CentOS 7.6)

3.2 CAMx 6.50 移植指南(CentOS 7.6)

3.3 CESM 2.1.1 移植指南(CentOS 7.6)

3.4 NEMO V3.6 移植指南(CentOS 7.6)

3.5 ROMS 3.6 移植指南(CentOS 7.6)

3.6 WAVEWATCH III 6.07.1 移植指南(CentOS 7.6)

3.7 Bifrost V1.1.1 移植指南(CentOS 7.6)

3.8 FVCOM 4.1 移植指南(CentOS 7.6)

3.9 MITGCM c67o 移植指南(CentOS 7.6)

3.10 POM POM2K 移植指南(CentOS 7.6)

3.11 MOM 6 移植指南(CentOS 7.6)

3.12 SMOKE 4.7 移植指南(CentOS 7.6)

3.13 SPECFEM3D GLOBE 7.0.0 移植指南(CentOS 7.6)

3.14 CMAQ 5.3.1移植指南(CentOS 7.6)

3.15 SWAN 41.31 移植指南(CentOS 7.6)

3.1 WRF 3.8.1 移植指南(CentOS 7.6)

3.1.1 介绍WRF全称Weather Research and Forecasting Model,是一个天气研究与预报模型,可以用来进行精细尺度的天气模拟与预报,是HPC应用的重要场景之一。

关于WRF的更多信息请访问WRF官网。

语言:C/Fortran。

一句话描述:中尺度天气预报模型。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 279

Page 303: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

开源协议:public domain

建议的版本

建议使用版本为“WRF V3.8.1”。

3.1.2 环境要求

硬件要求

硬件要求如表3-1所示。

表 3-1 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表 软件要求所示。

表 3-2 软件要求

项目 版本 下载地址

GNU 9.1.0 https://ftp.gnu.org/gnu/gcc/gcc-9.1.0/

GMP 6.1.0 http://gcc.gnu.org/pub/gcc/infrastructure/

MPC 3.1.4 http://gcc.gnu.org/pub/gcc/infrastructure/

MPFR 1.0.3 http://gcc.gnu.org/pub/gcc/infrastructure/

OPENMPI 4.0.1 https://www.open-mpi.org/software/ompi/v4.0/

HDF5 1.10.1 https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/

PNETCDF 1.9.0 https://parallel-netcdf.github.io/wiki/Download.html

NETCDF 4.4.1.1 https://github.com/Unidata/netcdf-c/releases/tag/v4.4.1.1

NETCDF-F 4.4.1 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.1

OPTIMIZED-ROUTINES

2015.11.17 https://github.com/ARM-software/optimized-routines/releases/tag/OPTIMIZED_ROUTINES_2015_11_17

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 280

Page 304: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

操作系统要求

操作系统要求如表3-3所示。

表 3-3 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.1.3 移植规划数据本章节给出WRF软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-4 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划”数据章节。

2 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/PNETCDF

PNETCDF 1.9.0的安装规划路径。

4 /path/to/NETCDF

NETCDF 4.4.1.1的安装规划路径。

5 /path/to/NETCDF

NETCDF-Fortran4.4.1.的安装规划路径。

6 /path/to/MATH

OPTIMIZED-ROUTINES的安装规划路径。

7 /path/to/WRF WRF 3.8.1的安装规划路径。

8 /path/to/WRFTEST

WRF的测试目录。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 281

Page 305: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.1.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-5 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节,安装好GNU和OPENMPI。

2 安装HDF5 参考4.1-安装HDF5。

3 安装PNETCDF 参考4.2-安装PNETCDF。

4 安装NETCDF 参考4.3-安装NETCDF。

5 安装NETCDF-FORTRAN 参考4.4-安装NETCDF-FORTRAN。

6 安装OPTIMIZED-ROUTINES 参考4.5-安装OPTIMIZED-ROUTINES。

3.1.4.1 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装HDF5。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

tar -xvf hdf5-1.10.1.tar.gz

cd hdf5-1.10.1

mkdir -p /path/to/HDF5

./configure --prefix=/path/to/HDF5 --build=aarch64-unknown-linux-gnu --enable-fortran --enable-static=yes --enable-parallel --enable-shared CC=mpiccCXX=mpicxx FC=mpifort F77=mpifort

make -j 16

make install

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 282

Page 306: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.1.4.2 安装 PNETCDF

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装PNETCDF。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

tar -xvf parallel-netcdf-1.9.0.tar.bz2

cd parallel-netcdf-1.9.0

mkdir -p /path/to/PNETCDF

./configure --prefix=/path/to/PNETCDF --build=aarch64-unknown-linux-gnuCFLAGS="-fPIC -DPIC" CXXFLAGS="-fPIC -DPIC" FCFLAGS="-fPIC" FFLAGS="-fPIC" CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort

make -j 16

make install

----结束

3.1.4.3 安装 NETCDF

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装NETCDF。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

tar -xvf netcdf-4.4.1.1.tar.gz

cd netcdf-4.4.1.1

mkdir -p /path/to/NETCDF

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --enable-netcdf-4 --enable-dap --with-pic --disable-doxygen --enable-static --enable-pnetcdf --enable-largefile CC=mpicc CXX=mpicxxFC=mpifort F77=mpifort CPPFLAGS="-I/path/to/HDF5/include -I/path/to/PNETCDF/include" LDFLAGS="-L/path/to/HDF5/lib -L/path/to/PNETCDF/lib -Wl,-rpath=/path/to/HDF5/lib -Wl,-rpath=/path/to/PNETCDF/lib" CFLAGS="-L/path/to/HDF5/lib -L/path/to/PNETCDF/lib -I/path/to/HDF5/include -I/path/to/PNETCDF/include"

make -j 16

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 283

Page 307: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

make install

----结束

3.1.4.4 安装 NETCDF-FORTRAN

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装NETCDF-FORTRAN。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

tar -xvf netcdf-fortran-4.4.1.tar.gz

cd netcdf-fortran-4.4.1

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --with-pic --disable-doxygen --enable-largefile --enable-staticCC=mpicc CXX=mpicxx FC=mpifort F77=mpifort CPPFLAGS="-I/path/to/HDF5/include -I/path/to/NETCDF/include" LDFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -Wl,-rpath=/path/to/HDF5/lib -Wl,-rpath=/path/to/NETCDF/lib"CFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include" CXXFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include" FCFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

make -j 16

make install

----结束

3.1.4.5 安装 OPTIMIZED-ROUTINES

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装OPTIMIZED-ROUTINES。

yum install glibc* glibm* -y

unzip optimized-routines-master.zip

cd optimized-routines-master

mkdir -p /path/to/MATH

cp config.mk.dist config.mk

make -j 16

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 284

Page 308: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cp -r ./build/* /path/to/MATH

----结束

3.1.5 获取源码

步骤1 下载WRF源码“WRF-3.8.1.tar.gz”。

下载地址:https://github.com/wrf-model/WRF/releases/tag/V3.8.1

步骤2 使用SFTP工具将WRF源码包文件复制至服务器/path/to/WRF目录。

----结束

3.1.6 编译和安装

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压WRF安装包。

cd /path/to/WRF

tar -xvf WRF-3.8.1.tar.gz

步骤3 执行以下命令进入WRF源码目录。

cd WRF-3.8.1

步骤4 修改arch/configure_new.defaults文件,在1856行之前添加如下内容:################################################## ##########ARCH Linux aarch64,gnu OpenMPI #serial smpar dmpar dm+smDESCRIPTION = GNU ($SFC/$SCC)DMPARALLEL = 1OMPCPP = -D_OPENMPOMP = -fopenmpOMPCC = -fopenmpSFC = gfortranSCC = gccCCOMP = gccDM_FC = mpif90 -f90=$(SFC)DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORTFC = CONFIGURE_FCCC = CONFIGURE_CCLD = $(FC)RWORDSIZE = CONFIGURE_RWORDSIZEPROMOTION = #-fdefault-real-8ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLMCFLAGS_LOCAL = -w -O3 -c -march=armv8.2-a -L/path/to/MATH/lib -lmathlibLDFLAGS_LOCAL =CPLUSPLUSLIB =ESMF_LDFLAG = $(CPLUSPLUSLIB)FCOPTIM = -O3 -ftree-vectorize -funroll-loops -march=armv8.2-a -L/path/to/MATH/lib -lmathlibFCREDUCEDOPT = $(FCOPTIM)FCNOOPT = -O0FCDEBUG = # -g $(FCNOOPT) # -fbacktrace -ggdb-fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflowFORMAT_FIXED = -ffixed-formFORMAT_FREE = -ffree-form -ffree-line-length-noneFCSUFFIX =BYTESWAPIO = -fconvert=big-endian -frecord-marker=4FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO)FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)MODULE_SRCH_FLAG =TRADFLAG = -traditionalCPP = /lib/cpp -P

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 285

Page 309: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

AR = arARFLAGS = ruM4 = m4 -GRANLIB = ranlibRLFLAGS =CC_TOOLS = $(SCC)

步骤5 执行以下命令设置编译前环境。

export WRFIO_NCD_LARGE_FILE_SUPPORT=1

export NETCDF=/path/to/NETCDF

export HDF5=/path/to/HDF5

export PNETCDF=/path/to/PNETCDF

export CPPFLAGS="-I$HDF5/include -I$PNETCDF/include -I$NETCDF/include"

export LDFLAGS="-L$HDF5/lib -L$PNETCDF/lib -L$NETCDF/lib -lnetcdf -lnetcdff -lpnetcdf -lhdf5_hl -lhdf5 -lz"

步骤6 执行以下命令开始生成配置文件。

echo 4 | ./configure

步骤7 执行以下命令修改“./phys/module_cu_g3.F”文件,第3125行:

vim ./phys/module_cu_g3.F

integer, dimension (33) :: seed

步骤8 执行以下命令加载编译器和MPI环境变量。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤9 执行以下命令进行编译安装。

./compile -j 16 wrf 2>&1 | tee -a compile.log

----结束

3.1.7 运行和验证

步骤1 获取算例文件。

地址:https://www2.mmm.ucar.edu/WG2bench/conus_2.5_v3/1-RST/。

步骤2 继续在PuTTY工具中执行以下命令创建工作目录“/path/to/WRFTEST”,并且将算例上传至该目录。

mkdir -p /path/to/WRFTEST

cd /path/to/WRFTEST

步骤3 执行以下命令生成算例。

cat rst_6hr* | gunzip -c > wrfrst_d01_2005-06-04_06_00_00

步骤4 执行以下命令解压“wrfbdy_d01”文件。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 286

Page 310: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

gunzip wrfbdy_d01.gz

步骤5 执行以下命令修改namelist.input文件。

vim namelist.input&time_controlrun_days = 0,run_hours = 3,run_minutes = 0,run_seconds = 0,start_year = 2005,start_month = 06,start_day = 04,start_hour = 06,start_minute = 00,start_second = 00,end_year = 2005,end_month = 06,end_day = 04,end_hour = 12,end_minute = 00,end_second = 00,interval_seconds = 10800input_from_file = .true.,history_interval = 180,frames_per_outfile = 1,nocolons = .true.,restart = .true.,restart_interval = 360,io_form_history = 2,io_form_restart = 2,io_form_input = 2,io_form_boundary = 2,io_form_auxhist2 = 2,debug_level = 0/&domainstime_step = 15,time_step_fract_num = 0,time_step_fract_den = 1,max_dom = 1,s_we = 1,e_we = 1501,s_sn = 1,e_sn = 1201,s_vert = 1,e_vert = 35,dx = 2500,dy = 2500,grid_id = 1,parent_id = 0,i_parent_start = 0,j_parent_start = 0,parent_grid_ratio = 1,parent_time_step_ratio = 1,feedback = 1,smooth_option = 0lagrange_order = 2interp_type = 2extrap_type = 2t_extrap_type = 2use_surface = .true.use_levels_below_ground = .true.num_metgrid_levels = 40,eta_levels = 1.00000 , 0.99258 , 0.98275 , 0.96996 , 0.95372 ,0.93357 , 0.90913 , 0.87957 , 0.84531 , 0.80683 ,0.76467 , 0.71940 , 0.67163 , 0.62198 , 0.57108 ,0.51956 , 0.46803 , 0.42030 , 0.37613 , 0.33532 ,0.29764 , 0.26290 , 0.23092 , 0.20152 , 0.17452 ,

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 287

Page 311: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

0.14978 , 0.12714 , 0.10646 , 0.08761 , 0.07045 ,0.05466 , 0.03981 , 0.02580 , 0.01258 , 0.00000/&physicsmp_physics = 4,mp_zero_out = 2,mp_zero_out_thresh = 1.e-9,ra_lw_physics = 1,ra_sw_physics = 1,radt = 10,sf_sfclay_physics = 1,sf_surface_physics = 2,bl_pbl_physics = 1,bldt = 0,cu_physics = 0,cudt = 5,isfflx = 1,ifsnow = 0,icloud = 1,surface_input_source = 1,num_soil_layers = 4,maxiens = 1,maxens = 1,maxens2 = 1,maxens3 = 1,ensdim = 1,/&dynamicsw_damping = 1,diff_opt = 1,km_opt = 4,khdif = 0,kvdif = 0,non_hydrostatic = .true.,use_baseparam_fr_nml = .t.,/&bdy_controlspec_bdy_width = 5,spec_zone = 1,relax_zone = 4,specified = .true.,nested = .false.,/&namelist_quiltnio_tasks_per_group = 0,nio_groups = 1,/

步骤6 执行以下命令将“/path/to/WRF/WRF-3.8.1/run”目录下的所有文件拷贝到“/path/to/WRFTEST”目录下。

cp /path/to/WRF/WRF-3.8.1/run/* /path/to/WRFTEST/

步骤7 执行以下命令加载环境变量。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:/path/to/NETCDF/lib:/path/to/PNETCDF/lib:/path/to/HDF5/lib:/path/to/MATH/lib:$LD_LIBRARY_PATH

步骤8 执行以下命令创建hostfile文件。

1. vi hostfile2. 按“i”进入编辑模式。

Node1Node2……

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 288

Page 312: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤9 执行以下命令运行WRF程序。

clush --hostfile hostfile "sync;echo 3 > /proc/sys/vm/drop_caches"

time -p `which mpirun` --allow-run-as-root -x PATH=$PATH -xLD_LIBRARY_PATH=$LD_LIBRARY_PATH -x LD_PRELOAD=/path/to/MATH/lib/libmathlib.so -x OMP_NUM_THREADS=4 -map-by ppr:32:node:pe=4 --bind-tocore --hostfile hostfile --mca pml ucx ./wrf.exe

说明

● --hostfile hostfile:指定使用的节点名字列表。

● -x OMP_NUM_THREADS=4:指定使用的线程数。

● -map-by ppr:32:node:pe=4:指定进程和线程的绑定方式,每个节点32个进程,每个进程4个线程(此处以单节点128核cpu为例)。

步骤10 验证程序正常结束。

less rsl.out.0000

----结束

3.2 CAMx 6.50 移植指南(CentOS 7.6)

3.2.1 介绍CAMx是一种用于气体和颗粒污染的多尺度光化学模拟系统。

关于CAMx的更多信息请访问CAMx官网。

语言:Fortran

一句话描述:多尺度光化学建模系统。

开源协议:自定义开源协议。

建议的版本

建议使用版本为“CAMx 6.50”。

3.2.2 环境要求

硬件要求

硬件要求如表3-6所示。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 289

Page 313: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-6 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-7所示。

表 3-7 软件要求

项目 版本 下载地址

CAMX 6.50 http://www.camx.com/download/default.aspx

算例文件1 CAMx6-x-test_run-inputs_met-140402.tgz

http://www.camx.com/download/camx-test-case.aspx

算例文件2 CAMx6-30-test_run-inputs_other-160408.tgz

http://www.camx.com/download/camx-test-case.aspx

算例文件3 v6-50-specific-inputs-180430.tgz

http://www.camx.com/download/camx-test-case.aspx

操作系统要求

操作系统要求如表3-8所示。

表 3-8 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.2.3 移植规划数据本章节给出CAMx软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 290

Page 314: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-9 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/CAMX CAMx的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/CASE CAMx的测试算例存放规划路径。

3.2.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-10 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

3.2.5 获取源码

操作步骤

步骤1 下载CAMx安装包“CAMx_v6-50-src-180430.tgz”。

下载地址:http://www.camx.com/download/default.aspx。

步骤2 使用SFTP工具将CAMx安装包上传至服务器“/path/to/CAMX”目录。

----结束

3.2.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 291

Page 315: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压安装文件。

mkdir -p /path/to/CAMX

cd /path/to/CAMX

mkdir -p CAMX_v6-50

tar xzvf CAMx_v6-50-src-180430.tgz -C CAMX_v6-50

步骤3 执行以下命令进入源码目录。

cd CAMX_v6-50

步骤4 执行以下命令修改“Makefile”文件。

1. vi Makefile2. 按“i”进入编辑模式,修改“Makefile”文件第64行,注意粗体部分。

MPI_INST = /path/to/OPENMPI

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令修改“MPI/util/Makefile”文件。

1. vi MPI/util/Makefile2. 按“i”进入编辑模式,修改“MPI/util/Makefile”文件第3、9和11行,注意粗体

部分。MPI_INST = /path/to/OPENMPI# LIB = -L$(MPI_INST)/lib -lmpi# CFLAGS = -mcmodel=small -O2 -I $(INC)

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令编译安装软件。

make COMPILER=gfortranomp MPI=openmpi -j20

编译成功后会在src目录下生成“CAMx.v6.50.openMPI.gfortranomp”可执行文件,可使用ls命令进行查看。

编译成功后会在“/path/to/CAMX/CAMX_v6-50”目录下生成“CAMx.v6.50.openMPI.gfortranomp”可执行文件,可使用ls /path/to/CAMX/CAMX_v6-50命令进行查看,输出结果如图3-1所示。

图 3-1 结果样例

----结束

3.2.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压算例文件。

cd /path/to/CASE

tar xzvf v6-50-specific-inputs-180430.tgz

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 292

Page 316: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

tar xzvf CAMx6-x-test_run-inputs_met-140402.tgz

tar xzvf CAMx6-30-test_run-inputs_other-160408.tgz

步骤3 执行以下命令拷贝测试脚本。

cd runfiles

cp CAMx_v6.50.midwest.36.12.20020506-07.MPICH2.job openmpi4.job

步骤4 执行以下命令修改测试脚本。

1. vi openmpi4.job2. 按“i”进入编辑模式,修改测试脚本,注意粗体部分。

set EXEC = "/path/to/CAMX/CAMX_v6-50/CAMx.v6.50.openMPI.gfortranomp"cat << ieof > nodes192.168.47.111set NUMPROCS = 96#mpdboot -n $RING -f nodes --verboseif( ! { mpirun --allow-run-as-root --mca btl_openib_allow_ib 1 -machinefile nodes -np $NUMPROCS $EXEC } ) then#mpdallexitexitendif

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令运行测试。

./openmpi4.job

需要查看日志中 后一个Info:Benchmark time中的“days/ns”数值,单位是“days/ns”,数值越小性能越优(也可以转换成“ns/days”的数值,越高性能越好)。

输出的结果样例如图3-2所示。

图 3-2 测试样例

----结束

3.2.8 更多资源Arm公司官网:

https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/resources/porting-and-tuning/building-namd-with-arm-compiler-deprecated

3.3 CESM 2.1.1 移植指南(CentOS 7.6)

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 293

Page 317: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.3.1 介绍

CESM是一个完全耦合的地球系统的数值模拟,由大气、海洋、冰、陆地表面、碳循环和其他组成部分组成。CESM包括一个气候模型,提供地球过去、现在和未来的模拟。CESM是CCSM的升级版,2010年,国家科学基金会(NSF)和美国能源部(DoE)的重要资金(NSF)和重要资金的全球动力学部门(CGD)在2010年发布了CESM1。

关于CESM的更多信息请访问CESM官网。

语言:Fortran

一句话描述:地球系统模型。

开源协议:自定义开源协议。

建议的版本

建议使用版本为“CESM 2.1.1”。

3.3.2 环境要求

硬件要求

硬件要求如表3-11所示。

表 3-11 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-12所示。

表 3-12 软件要求

项目 版本 下载地址

CESM 2.1.1 https://github.com/ESCOMP/cesm/releases/tag/release-cesm2.1.1

OpenBLAS

0.3.6 https://github.com/xianyi/OpenBLAS/releases

HDF5 1.10.1 http://hdfgroup.org/HDF5/

PNETCDF

1.9.0 https://parallel-netcdf.github.io/wiki/Download.html

NETCDF 4.4.1.1 https://github.com/Unidata/netcdf-c/releases/tag/v4.4.1.1

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 294

Page 318: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

NETCDF-F

4.4.1 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.1

操作系统要求

操作系统要求如表3-13所示。

表 3-13 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.3.3 移植规划数据

本章节给出CESM软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-14 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/OPENBLAS

OpenBLAS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/HDF5 HDF5的安装规划路径。

4 /path/to/PNETCDF

Pnetcdf的安装规划路径。

5 /path/to/NETCDF

Netcdf的安装规划路径。

NETCDF-F的安装规划路径。

6 /path/to/CESM CESM的安装规划路径。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 295

Page 319: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.3.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-15 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装OpenBLAS 参考3.3.4.1 安装OpenBLAS。

3 安装HDF5 参考3.3.4.2 安装HDF5。

4 安装PNETCDF 参考3.3.4.3 安装PNETCDF。

5 安装NETCDF 参考3.3.4.4 安装NETCDF。

6 安装NETCDF-F 参考3.3.4.5 安装NETCDF-F。

3.3.4.1 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压openblas安装包。

tar xvf OpenBLAS-0.3.6.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd OpenBLAS-0.3.6

步骤4 执行以下命令进行配置。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤5 执行以下命令进行编译安装。

make

make PREFIX=/path/to/OPENBLAS install

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 296

Page 320: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.3.4.2 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压hdf5安装包。

tar -xvf hdf5-1.10.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令设置编译前环境。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/HDF5 --build=aarch64-unknown-linux-gnu --enable-fortran --enable-static=yes --enable-parallel --enable-shared CC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

步骤6 执行以下命令进行编译安装。

make -j 16

make install

----结束

3.3.4.3 安装 PNETCDF

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Pnetcdf安装包。

tar -xvf parallel-netcdf-1.9.0.tar.bz2

步骤3 执行以下命令进入解压后的目录。

cd parallel-netcdf-1.9.0

步骤4 执行以下命令设置编译前环境。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

步骤5 执行以下命令进行配置。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 297

Page 321: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

./configure --prefix=/path/to/PNETCDF --build=aarch64-unknown-linux-gnuCFLAGS="-fPIC -DPIC" CXXFLAGS="-fPIC -DPIC" FCFLAGS="-fPIC" FFLAGS="-fPIC" CC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

步骤6 执行以下命令进行编译安装。

make -j 16

make install

----结束

3.3.4.4 安装 NETCDF

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Netcdf安装包。

tar -xvf netcdf-4.4.1.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-4.4.1.1

步骤4 执行以下命令设置编译前环境。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

export CPPFLAGS="-I/path/to/HDF5/include -I/path/to/PNETCDF/include"

export LDFLAGS="-L/path/to/HDF5/lib -L/path/to/PNETCDF/lib -Wl,-rpath=/path/to/HDF5/lib -Wl,-rpath=/path/to/PNETCDF/lib"

export CFLAGS="-L/path/to/HDF5/lib -L/path/to/PNETCDF/lib -I/path/to/HDF5/include -I/path/to/PNETCDF/include"

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --enable-netcdf-4 --enable-dap --with-pic --disable-doxygen --enable-static --enable-pnetcdf --enable-largefile CC=$MPICC CXX=$MPICXXFC=$MPIFC F77=$MPIFC

步骤6 执行以下命令进行编译安装。

make -j 16

make install

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 298

Page 322: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.3.4.5 安装 NETCDF-F

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Netcdf-fortran安装包。

tar -xvf netcdf-fortran-4.4.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.1

步骤4 执行以下命令设置编译前环境。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

export CPPFLAGS="-I/path/to/HDF5/include -I/path/to/NETCDF/include"

export LDFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -Wl,-rpath=/path/to/HDF5/lib -Wl,-rpath=/path/to/NETCDF/lib"

export CFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

export CXXFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

export FCFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --with-pic --disable-doxygen --enable-largefile --enable-staticCC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

步骤6 执行以下命令进行编译安装。

make -j 16

make install

步骤7 执行以下命令清空编译参数。

unset CC CXX FC F77 CPPFLAGS LDFLAGS CFLAGS CXXFLAGS FCFLAGS

----结束

3.3.5 获取源码

操作步骤

步骤1 下载CESM安装包“cesm-release-cesm2.1.1.tar.gz”。

下载地址:https://github.com/ESCOMP/CESM/tags?after=cesm2.1-nemo.v01。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 299

Page 323: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 使用SFTP工具将CESM安装包上传至服务器“/path/to/CESM”目录。

----结束

3.3.6 编译和安装

前提条件

配置外部网络,使服务器可以接入Internet网络。

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压CESM安装包,并且进入解压后的目录。

tar -xvf cesm-release-cesm2.1.1.tar.gz

cd cesm-release-cesm2.1.1

步骤3 执行以下命令安装environment-modules,git和svn。

yum install git svn environment-modules -y

步骤4 执行以下命令添加验证信息。

svn ls https://svn-ccsm-models.cgd.ucar.edu/ww3/release_tags

步骤5 执行以下命令安装CESM其他组件。

./manage_externals/checkout_externals

步骤6 执行以下命令检查组件安装情况,显示如下信息表示正常。

./manage_externals/checkout_externals -SProcessing externals description file : Externals.cfgProcessing externals description file : Externals_CLM.cfgProcessing externals description file : Externals_POP.cfgProcessing externals description file : Externals_CISM.cfgChecking status of externals: clm, fates, ptclm, mosart, ww3, cime, cice, pop, cvmix, marbl, cism, source_cism, rtm, cam,./cime./components/cam./components/cice./components/cism./components/cism/source_cism./components/clm./components/clm/src/fates./components/clm/tools/PTCLM./components/mosart./components/pop./components/pop/externals/CVMix./components/pop/externals/MARBL./components/rtm./components/ww3

步骤7 执行以下命令修改“config_machines.xml”文件。

1. vi cime/config/cesm/machines/config_machines.xml2. 按“i”进入编辑模式,修改“config_machines.xml”文件的第153,170,171和

176行,注意粗体部分。153 <NODENAME_REGEX>node1</NODENAME_REGEX>170 <MAX_TASKS_PER_NODE>96</MAX_TASKS_PER_NODE>

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 300

Page 324: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

171 <MAX_MPITASKS_PER_NODE>96</MAX_MPITASKS_PER_NODE>176 <arg name="ntasks"> --allow-run-as-root --mca btl ^openib -np {{ total_tasks }} </arg>

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

----结束

3.3.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入工作目录。

cd /path/to/CESM/cesm-release-cesm2.1.1/cime/scripts

步骤3 执行以下命令创建算例。

./create_newcase --case mycase --compset X --res f19_g16

步骤4 执行以下命令下载输入数据。

cd mycase

./check_case

./check_input_data --download

步骤5 执行以下命令加载环境变量。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:/path/to/OPENBLAS/lib:/path/to/HDF5/lib:/path/to/PNETCDF/lib:/path/to/NETCDF/lib:$LD_LIBRARY_PATH

export NETCDF_PATH=/path/to/NETCDF/bin

步骤6 执行以下命令运行CESM程序。

./case.setup

./case.build

./case.submit

当CESM生成的日志“OUTCAR”的结尾处出现如图3-3所示内容时,表示CESM程序运行正常结束。

需要查看输出到屏幕中的日志,如图3-3所示红线处,需要手动计算出时间差,数值越少性能越优。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 301

Page 325: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 3-3 测试样例

----结束

3.3.8 更多资源GITHUB开发者论坛相关信息:https://esmci.github.io/cime/index.html

3.4 NEMO V3.6 移植指南(CentOS 7.6)

3.4.1 介绍NEMO(Nucleus for European Modeling of the Ocean)是一个用于海洋学研究,业务海洋学季节预报和气候研究的 先进的建模框架。

关于NEMO的更多信息请访问NEMO官网。

语言:C++

一句话描述:海洋学研究,业务海洋学季节预报和气候研究的建模框架。

开源协议:Artistic License 2.0

建议的版本

建议使用版本为“NEMO V3.6”。

3.4.2 环境要求

硬件要求

硬件要求如表3-16所示。

表 3-16 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 302

Page 326: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表3-17所示。

表 3-17 软件要求

项目 版本 下载地址

XIOS 1.0 http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-1.0

Blitz 1.0.1 https://github.com/blitzpp/blitz.git

NEMO V3.6 http://forge.ipsl.jussieu.fr/nemo/browser/NEMO/releases/release-3.6

PNETCDF 1.9.0 http://cucis.ece.northwestern.edu/projects/PnetCDF

Netcdf 4.4.1.1 https://github.com/Unidata/netcdf-c/releases/tag/v4.4.1.1

NETCDF-F 4.4.1 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.1

HDF5 1.10.1 https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/

AMM12算例文件

V3.6 https://zenodo.org/record/2640767/files/AMM12_v3.6.tar?download=1

操作系统要求

操作系统要求如表3-18所示。

表 3-18 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.4.3 移植规划数据本章节给出NEMO软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 303

Page 327: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-19 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/PNETCDF

Pnetcdf的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/HDF5 HDF5的安装规划路径。

4 /path/to/NETCDF

NetCDF的安装规划路径。

NetCDF-fortran的安装规划路径。

6 /path/to/BLITZ Blitz的安装规划路径。

7 /path/to/XIOS Xios的安装规划路径。

8 /path/to/NEMO

NEMO的安装规划路径。

3.4.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-20 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装Pnetcdf 参考3.4.4.1 安装Pnetcdf。

3 安装HDF5 参考3.4.4.2 安装HDF5。

4 安装NetCDF 参考3.4.4.3 安装NetCDF。

5 安装NetCDF-fortran 参考3.4.4.4 安装NetCDF-fortran。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 304

Page 328: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

配置项 说明

6 安装Blitz 参考3.4.4.5 安装Blitz。

7 安装Xios 参考3.4.4.6 安装Xios。

3.4.4.1 安装 Pnetcdf

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装Pnetcdf。

tar -xvf parallel-netcdf-1.9.0.tar.bz2

cd parallel-netcdf-1.9.0

export MPICC=`which mpicc`

export MPICXX=`which mpicxx`

export MPIFC=`which mpifort`

./configure --prefix=/path/to/PNETCDF --build=aarch64-unknown-linux-gnuCFLAGS="-fPIC -DPIC" CXXFLAGS="-fPIC -DPIC" FCFLAGS="-fPIC" FFLAGS="-fPIC" CC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

make -j 16

make install

步骤3 执行以下命令加载环境变量。

export PATH=/path/to/PNETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/PNETCDF/lib:$LD_LIBRARY_PATH

----结束

3.4.4.2 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -xvf hdf5-1.10.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令进行配置。

export MPICC=`which mpicc`

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 305

Page 329: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export MPICXX=`which mpicxx`

export MPIFC=`which mpifort`

./configure --prefix=/path/to/HDF5 --build=aarch64-unknown-linux-gnu --enable-fortran --enable-static=yes --enable-parallel --enable-shared CC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

步骤5 执行以下命令进行编译安装。

make -j 16

make install

步骤6 执行以下命令加载环境变量。

export PATH=/path/to/HDF5/bin:$PATH

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

3.4.4.3 安装 NetCDF

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF安装包。

tar -xvf netcdf-c-4.4.1.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.4.1.1

步骤4 执行以下命令进行配置。

export MPICC=`which mpicc`

export MPICXX=`which mpicxx`

export MPIFC=`which mpifort`

export CPPFLAGS="-I/path/to/HDF5/include -I/path/to/PNETCDF/include"

export LDFLAGS="-L/path/to/HDF5/lib -L/path/to/PNETCDF/lib -Wl,-rpath=/path/to/HDF5/install/lib"

export CFLAGS="-L/path/to/HDF5/lib -L/path/to/PNETCDF/lib -I/path/to/HDF5/include -I/path/to/PNETCDF/include"

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --enable-netcdf-4 --enable-dap --with-pic --disable-doxygen --enable-static --enable-pnetcdf --enable-largefile CC=$MPICC CXX=$MPICXXFC=$MPIFC F77=$MPIFC

步骤5 执行以下命令进行编译安装。

make -j 16

make install

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 306

Page 330: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤6 执行以下命令加载环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

----结束

3.4.4.4 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar -xvf netcdf-fortran-4.4.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.1

步骤4 执行以下命令进行配置。

export MPICC=`which mpicc`

export MPICXX=`which mpicxx`

export MPIFC=`which mpifort`

export CPPFLAGS="-I/path/to/HDF5/include -I/path/to/NETCDF/include"

export LDFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -Wl,-rpath=/path/to/HDF5/lib -Wl,-rpath=/path/to/NETCDF/lib "

export CFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

export CXXFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

export FCFLAGS="-L/path/to/HDF5/ib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --with-pic --disable-doxygen --enable-largefile --enable-staticCC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

步骤5 执行以下命令进行编译安装。

make -j 16

make install

步骤6 执行以下命令加载环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 307

Page 331: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.4.4.5 安装 Blitz

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Blitz安装包。

tar -xvf blitz-1.0.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd blitz-1.0.1/

步骤4 执行以下命令进行配置。

autoreconf -fiv

./configure --prefix=/path/to/BLITZ --enable-fortran --enable-64bit

步骤5 执行以下命令进行编译安装。

make lib

make install

cp -rf ./src /path/to/BLITZ

步骤6 执行以下命令加载环境变量。

export BLITZ_INCLUDEDIR=/path/to/BLITZ/include

export LD_LIBRARY_PATH=/path/to/BLITZ/lib:$LD_LIBRARY_PATH

----结束

3.4.4.6 安装 Xios

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建XIOS安装目录。

mkdir -p /path/to/XIOS

步骤3 执行以下命令进入解压后的目录。

cd /path/to/XIOS

步骤4 执行以下命令下载XIOS源码。

svn co -r 703 http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-1.0xios-1.0

说明

使用此命令前提是服务器必须配置为可使用Internet。

步骤5 执行以下命令安装系统依赖库。

yum install -y perl-lib* boost-*

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 308

Page 332: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤6 执行以下命令进入解压后的目录。

cd xios-1.0

步骤7 执行以下命令修改“bld.cfg”文件。

1. vi bld.cfg2. 按“i”进入编辑模式,修改“bld.cfg”文件,注意粗体部分。

search_src truesrc::zzz .#src::date $PWD/extern/boost/src/date_timesrc::blitz $PWD/extern/blitz/srcsrc::netcdf $PWD/extern/netcdf4bld::lib xiosbld::target libxios.a#bld::target generate_fortran_interface.exe#bld::target xios_server.exe test_client.exe parse_xml.exe test_complete.exe test_xios_interface.exebld::exe_dep

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下命令创建“arch-AARCH64_GNU_LINUX.env”配置文件。

1. vi arch/arch-AARCH64_GNU_LINUX.env2. 按“i”进入编辑模式,创建并编写“arch-AARCH64_GNU_LINUX.env”文件。

根据实际的环境变量及依赖库安装路径。export HDF5_INC_DIR="/path/to/HDF5/include"export HDF5_LIB_DIR="/path/to/HDF5/lib" export NETCDF_INC_DIR="/path/to/NETCDF/include"export NETCDF_LIB_DIR="/path/to/NETCDF/lib" export BOOST_INC_DIR="/usr/include/boost/"export BOOST_LIB_DIR="/usr/lib64/" export BLITZ_INC_DIR="/path/to/BLITZ/include"export BLITZ_LIB_DIR="/path/to/BLITZ/lib"

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤9 执行以下命令创建“arch-AARCH64_GNU_LINUX.fcm”配置文件。

1. vi arch/arch-AARCH64_GNU_LINUX.fcm2. 按“i”进入编辑模式,创建并编写“arch-AARCH64_GNU_LINUX.fcm”文件。

根据实际的环境变量及依赖库安装路径。################################################################################################### Projet xios - xmlioserver ##################################################################################################### %CCOMPILER mpicc%FCOMPILER mpif90%LINKER mpif90 %BASE_CFLAGS -ansi -w -D_GLIBCXX_USE_CXX11_ABI=0%PROD_CFLAGS -O3 -DBOOST_DISABLE_ASSERTS%DEV_CFLAGS -g -O2%DEBUG_CFLAGS -g %BASE_FFLAGS -D__NONE__%PROD_FFLAGS -O3%DEV_FFLAGS -g -O2%DEBUG_FFLAGS -g

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 309

Page 333: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

%BASE_INC -D__NONE__%BASE_LD -lstdc++ %CPP cpp%FPP cpp -P%MAKE gmake

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤10 执行以下命令创建“arch-AARCH64_GNU_LINUX.path”配置文件。

1. vi arch/arch-AARCH64_GNU_LINUX.path2. 按“i”进入编辑模式,创建并编写“arch-AARCH64_GNU_LINUX.path”文件。

根据实际的环境变量及依赖库安装路径。NETCDF_INCDIR="-I /path/to/NETCDF/include"NETCDF_LIBDIR="-L /path/to/NETCDF/lib"NETCDF_LIB="-lnetcdff -lnetcdf" MPI_INCDIR="-I /path/to/OPENMPI/include"MPI_LIBDIR="-L /path/to/OPENMPI/lib"MPI_LIB="-lmpi" HDF5_INCDIR="-I /path/to/HDF5/include"HDF5_LIBDIR="-L /path/to/HDF5/lib"HDF5_LIB="-lhdf5_hl -lhdf5 -lz" BOOST_INCDIR="-I /usr/include/boost/"BOOST_LIBDIR="-L /usr/lib64/"BOOST_LIB="" BLITZ_INCDIR="-I /path/to/BLITZ/include"BLITZ_LIBDIR="-L /path/to/BLITZ/lib"BLITZ_LIB="-lblitz"

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤11 执行以下命令进行第一次编译安装。

cd /path/to/XIOS/xios-1.0

chmod +x ./make_xios

cd extern

ln -s /path/to/BLITZ ./blitz

ln -s /path/to/NETCDF ./netcdf4

ln -s /usr/include/boost ./boost

cd ..

./make_xios --dev --job 32 --full --arch AARCH64_GNU_LINUX

步骤12 执行以下命令进行第二次编译安装。

第一次编译执行后完会报错,再执行一遍以下命令。

cd extern

rm -rf ./blitz

rm -rf ./netcdf4

rm -rf ./boost

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 310

Page 334: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

ln -s /path/to/BLITZ ./blitz

ln -s /path/to/NETCDF ./netcdf4

ln -s /usr/include/boost ./boost

cd ..

./make_xios --dev --job 32 --full --arch AARCH64_GNU_LINUX

----结束

3.4.5 获取源码

操作步骤

步骤1 下载NEMO安装包“NEMO_releases_release-3.6-10083.zip”。

下载地址:http://www.nemo-ocean.eu/。

步骤2 使用SFTP工具将NEMO安装包上传至服务器“/path/to/NEMO”目录。

----结束

3.4.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建并且进入NEMO安装目录。

mkdir -p /path/to/NEMO

cd /path/to/NEMO

步骤3 执行以下命令配置NEMO编译需要的环境变量。

echo "export NETCDF_DIR=/path/to/NETCDF" >> nemo-env.sh

echo "export HDF_DIR=/path/to/HDF5" >> nemo-env.sh

echo "export XIOS_DIR=/path/to/XIOS/xios-1.0" >> nemo-env.sh

source nemo-env.sh

步骤4 执行以下命令解压安装包。

unzip NEMO_releases_release-3.6-10083.zip

步骤5 执行以下命令进入NEMO源码目录。

cd NEMO/releases/release-3.6/NEMOGCM

步骤6 执行以下命令创建文件arch-aarch64_gnu.fcm并添加内容。

1. vi ARCH/arch-aarch64_gnu.fcm2. 按“i”进入编辑模式,新增如下内容。

#generic gfortran compiler options for linux #NCDF_INC netcdf include file #NCDF_LIB netcdf library

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 311

Page 335: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

#FC Fortran compiler command #FCFLAGS Fortran compiler flags #FFLAGS Fortran 77 compiler flags #LD linker #LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a #FPPFLAGS pre-processing flags #AR assembler #ARFLAGS assembler flags #MK make #USER_INC additional include files for the compiler, e.g. -I<include dir> #USER_LIB additional libraries to pass to the linker, e.g. -l<library> #CC C compiler used to compile conv for AGRIF #CFLAGS compiler flags used with CC # #Note that: # - unix variables "$..." are accpeted and will be evaluated before calling fcm. # - fcm variables are starting with a % (and not a $) %NCDF_HOME $NETCDF_DIR%HDF5_HOME $HDF_DIR%XIOS_HOME $XIOS_DIR

%NCDF_INC -I%NCDF_HOME/include -I%HDF5_HOME/include%NCDF_LIB -L%HDF5_HOME/lib -L/%NCDF_HOME/lib -lnetcdf -lnetcdff%XIOS_INC -I%XIOS_HOME/inc%XIOS_LIB -L%XIOS_HOME/lib –lxios

%CPP cpp -Dkey_nosignedzero%FC mpif90 -c -cpp%FCFLAGS -mcpu=native -fdefault-real-8 -fdefault-double-8 -O3 -funroll-all-loops -fcray-pointer -ffree-line-length-none -g%FFLAGS %FCFLAGS%LD mpif90%LDFLAGS -lstdc++%FPPFLAGS -P -C -traditional%AR ar%ARFLAGS rs%MK gmake%USER_INC %XIOS_INC %NCDF_INC%USER_LIB %XIOS_LIB %NCDF_LIB

%CC cc%CFLAGS -O0

说明

行尾和空行不能有空格。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令编译安装软件。

chmod 777 ./ -R

cd ./CONFIG/

./makenemo -m aarch64_gnu -j 32 -r AMM12 -n 'MY_AMM12' add_key"key_nosignedzero"

----结束

3.4.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 312

Page 336: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令进入工作路径。

cd /path/to/NEMO/NEMO/releases/release-3.6/NEMOGCM/CONFIGMY_AMM12/EXP00

步骤3 上传AMM12_v3.6.tar到/path/to/NEMO/NEMO/releases/release-3.6/NEMOGCM/CONFIGMY_AMM12/EXP00。

步骤4 执行以下命令解压。

tar xf AMM12_v3.6.tar

gunzip *.gz */*.gz

rm domain_def.xml field_def.xml namelist_ref -f

ln -s ../../SHARED/domain_def.xml ./domain_def.xml

ln -s ../../SHARED/field_def.xml ./field_def.xml

ln -s ../../SHARED/namelist_ref ./namelist_ref

步骤5 执行以下命令创建host文件。

1. vi hostfile2. 按“i”进入编辑模式,新增如下内容。

node1node2

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令运行NEMO程序。

{ time mpirun --allow-run-as-root -np 192 -N 96 -hostfile hostfile --mca btl^openib ./opa ; } 2>&1 | tee -a NEMO.log

表 3-21 参数说明

参数 说明

-np 测试使用的总进程数。

-N 每个服务器上运行的进程数。

--hostfile 使用的节点名字。

当NEMO生成的日志“ocean.output”的结尾处出现如图3-4所示内容时,表示NEMO程序运行正常结束。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 313

Page 337: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 3-4 测试样例

需要查看“NEMO.log”日志中的“real”数值,单位是s,数值越高性能越低,输出的结果如图3-5所示。

图 3-5 测试样例

----结束

3.5 ROMS 3.6 移植指南(CentOS 7.6)

3.5.1 介绍ROMS全称Regional Ocean Modeling System,是一个三维区域海洋模型,由罗格斯大学海洋与海岸科学研究所和加利福尼亚大学洛杉矶分校共同研究开发,被广泛应用于海洋及河口地区的水动力及水环境模拟。

关于ROMS的更多信息请访问ROMS官网。

语言:Fortran

一句话描述:三维区域海洋模型。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 314

Page 338: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

开源协议:MIT/X License

建议的版本

建议使用版本为“ROMS 3.6”。

3.5.2 环境要求

硬件要求

硬件要求如表3-22所示。

表 3-22 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-23所示。

表 3-23 软件要求

项目 版本 下载地址

ROMS 3.6 https://www.myroms.org/svn/src/trunk

PNETCFD 1.11.2 http://cucis.ece.northwestern.edu/projects/PnetCDF/Release/pnetcdf-1.11.2.tar.gz

NETCFD-C 4.7.0 https://github.com/Unidata/netcdf-c/releases/tag/v4.7.0

NETCDF-Fortran

4.4.5 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.5

HDF5 1.10.5 https://portal.hdfgroup.org/display/support/HDF5+1.10.5#files

测试算例 ocean_upwelling 软件自带算例

操作系统要求

操作系统要求如表3-24所示。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 315

Page 339: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-24 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.5.3 移植规划数据本章节给出ROMS软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-25 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/PNETCDF

PnetCDF的安装规划路径。

4 /path/to/NETCDF

NetCDF-C的安装规划路径。

NetCDF-fortran的安装规划路径。

5 /path/to/ROMS ROMS的安装规划路径。

3.5.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 316

Page 340: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

配置流程

表 3-26 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 创建环境变量 参考3.5.4.1 创建环境变量。

3 安装HDF5 参考3.5.4.2 安装HDF5。

4 安装PnetCDF 参考3.5.4.3 安装PnetCDF。

5 安装NetCDF-C 参考3.5.4.4 安装NetCDF-C。

6 安装NetCDF-fortran 参考3.5.4.5 安装NetCDF-fortran。

3.5.4.1 创建环境变量

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建环境变量文件env.sh。

1. vi /root/env.sh

2. 按“i”进入编辑模式,编写“env.sh”文件。#!/bin/bashexport GNU_HOME=/path/to/GNUexport MPI_HOME=/path/to/OPENMPI export HDF5=/path/to/HDF5export PNETCDF=/path/to/PNETCDFexport NETCDF=/path/to/NETCDF export PHDF5=$HDF5export CPPFLAGS=" -I$HDF5/include -I$PNETCDF/include -I$NETCDF/include -I$MPI_HOME/include "export CFLAGS=" -I$HDF5/include -I$PNETCDF/include -I$NETCDF/include -I$MPI_HOME/include "export CXXFLAGS=" -I$HDF5/include -I$PNETCDF/include -I$NETCDF/include -I$MPI_HOME/include "export FCFLAGS=" -I$HDF5/include -I$PNETCDF/include"export FFLAGS=" -I$HDF5/include -I$PNETCDF/include"export LDFLAGS=" -L$HDF5/lib -L$PNETCDF/lib -L$NETCDF/lib"export LD_LIBRARY_PATH=$HDF5/lib:$PNETCDF/lib:$NETCDF/lib:$MPI_HOME/lib: $GNU_HOME/lib64:$LD_LIBRARY_PATHexport PATH=$NETCDF/bin:$PNETCDF/bin:$MPI_HOME/bin:$GNU_HOME/bin:$PATH

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤3 执行以下命令配置文件生效。

source /root/env.sh

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 317

Page 341: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.5.4.2 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar zxvf hdf5-1.10.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令进行配置。

./configure --prefix=$HDF5 --build=aarch64-linux --enable-parallel --enable-shared --enable-fortran

步骤5 执行以下命令进行编译安装。

make -j 16

make install

----结束

3.5.4.3 安装 PnetCDF

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压PnetCDF安装包。

tar zxvf pnetcdf-1.11.2.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd pnetcdf-1.11.2

步骤4 执行以下命令进行配置。

./configure --prefix=$PNETCDF --build=aarch64-linux --enable-shared --enable-fortran --enable-large-file-test

步骤5 执行以下命令进行编译安装。

make -j 16

make install

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 318

Page 342: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.5.4.4 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-C安装包。

tar zxvf netcdf-c-4.7.0.tar.gz

yum install curl.aarch64 libcurl.aarch64 libcurl-devel.aarch64 -y

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.7.0

步骤4 执行以下命令进行配置。

./configure --prefix=$NETCDF --build=aarch64-linux --enable-fortran --disable-static --enable-shared --with-pic --enable-parallel-tests --enable-pnetcdf --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j 16

make install

----结束

3.5.4.5 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar zxvf netcdf-fortran-4.4.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.5

步骤4 执行以下命令进行配置。

./configure --prefix=$NETCDF --build=aarch64-linux --disable-static --enable-shared --enable-parallel-tests --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j 16

make install

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 319

Page 343: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.5.5 获取源码

操作步骤

步骤1 下载ROMS安装包“ROMS_3.6”。

下载地址:https://www.myroms.org/。

说明

下载ROMS安装包需要在ROMS网站上注册账户,通过注册的账户登录后才能下载。

步骤2 使用SFTP工具将ROMS安装包上传至服务器“/path/to/ROMS”目录。

----结束

3.5.6 编译和安装

操作步骤

步骤1 SVN检出获取ROMS源码。

建立一个新文件夹,将ROMS源码检出到文件夹中,获取源码需要注册帐户。

cd /path/to/ROMS

mkdir ROMS_3.6

svn checkout --username 帐户名 --password 密码 https://www.myroms.org/svn/src/trunk ROMS_3.6

例如:

使用HPC/Huawei12#$的帐户及密码进行源码检出,命令如下:

svn checkout --username HPC --password Huawei12#$ https://www.myroms.org/svn/src/trunk ROMS_3.6

源码文件结构如下:

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 320

Page 344: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 自定义build脚本。

1. 为了在使用中对源码内容不做修改,执行以下命令,新建“ROMSProjects”文件夹用于ROMS的编译运行,upwelling是源码包中自带的默认算例。

cd /path/to/ROMSmkdir ROMSProjects

cd ROMSProjects

mkdir upwelling

cd upwelling

2. 执行以下命令,在源码的“ROMS/Bin”目录下,存在“build.sh”和“build.bash”文件,在当前环境下使用.bash文件,复制build.bash文件到upwelling目录中。

cp /path/to/ROMS/ROMS_3.6/ROMS/Bin/build.bash .

3. 执行以下命令编辑build.bash文件。

a. vi build.bash

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 321

Page 345: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

b. 按“i”进入编辑模式,修改以下内容:export ROMS_APPLICATION=UPWELLINGexport MY_ROOT_DIR=/path/to/ROMSexport MY_PROJECT_DIR=${MY_ROOT_DIR}/ROMSProjects/upwellingexport MY_ROMS_SRC=/path/to/ROMS/ROMS_3.6export USE_MPI=onexport USE_MPIF90=onexport which_MPI=openmpiexport FORT=gfortranexport USE_LARGE=onexport USE_NETCDF4=onexport USE_PARALLEL_IO=onexport PATH=/path/to/OPENMPI/bin:$PATHexport NF_CONFIG=/path/to/NETCDF/bin/nf-configexport NETCDF_INCDIR=/path/to/NETCDF/includeexport NETCDF_LIBDIR=/path/to/NETCDF/lib

步骤3 执行以下命令复制输入和配置文件。

cp /path/to/ROMS/ROMS_3.6/ROMS/External/ocean_upwelling.in .

cp /path/to/ROMS/ROMS_3.6/ROMS/External/varinfo.dat

cp /path/to/ROMS/ROMS_3.6/ROMS/Include/upwelling.h .

步骤4 执行以下命令编辑“ocean_upwelling.in”文件。

1. vi ocean_upwelling.in2. 按“i”进入编辑模式,修改“ocean_upwelling.in”文件。

修改文件中VARNAME为varinfo.dat的路径,注意粗体部分。VARNAME = /path/to/ROMS/ROMSProjects/upwelling/varinfo.dat

设置NtileI、NtileJ,二者的乘积应与运行时设置的np相等,例如np设置为96时,NtileI、NtileJ可以设置如下值,注意粗体部分。NtileI == 6NtileJ == 16

说明

NtileI、NtileJ的设置规则参考3.5.8 故障排除。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令编译ROMS。

./build.bash -j 8

在使用MPI的情况下,编译成功将生成可执行文件OceanM,可使用ls命令进行查看。

ll /path/to/ROMS/ROMSProjects/upwelling

-rwxr-xr-x 1 root root 1671056 Aug 15 18:41 oceanM

----结束

3.5.7 运行验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入测试算例目录。

cd /path/to/ROMS/ROMSProjects/upwelling

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 322

Page 346: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令运行ROMS。

mpirun --allow-run-as-root --mca btl ^openib -np 96 ./oceanMocean_upwelling.in > log 2>&1

运行后将生成四个文件:“ocean_avg.nc”,“ocean_dia.nc”,“ocean_his.nc”和“ocean_rst.nc”。

需要查看log日志中的Node# CPU: 12.334数值,单位是“s”,数值越少性能越优。

输出的结果如图3-6所示。

图 3-6 结果样例

输出的CPU运行时间结果样例如图3-7所示。

图 3-7 结果样例

----结束

3.5.8 故障排除

问题一:在 Windows 下检出的源码与 Linux 系统格式不一致

现象描述:

在Windows下检出的源码与Linux系统格式不一致。

处理步骤:

步骤1 安装并使用dos2unix,将Windows下用SVN检出的整个目录转换为Linux的格式。

yum -y install dos2unix*

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 323

Page 347: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cd /home/hesj/tool/ROMS_916

find . -type f -exec dos2unix {} \;

----结束

3.5.9 更多资源

维基百科:

https://www.myroms.org/wiki/Getting_Started

3.6 WAVEWATCH III 6.07.1 移植指南(CentOS 7.6)

3.6.1 介绍

WAVEWATCH III是一个社区波浪建模框架,包括风浪建模和动力学领域的 新科学进展。

WAVEWATCH III解决了波数方向谱的随机相位谱动作密度平衡方程。 该模型包括浅水(冲浪区)应用的选项,以及网格点的润湿和干燥。

关于WAVEWATCH III的更多信息请访问WAVEWATCH III官网。

语言:Fortran

一句话描述:第三代海浪模式。

开源协议:自定义开源协议。

建议的版本

建议使用版本为“WAVEWATCH III 6.07.1”。

3.6.2 环境要求

硬件要求

硬件要求如表3-27所示。

表 3-27 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-28所示。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 324

Page 348: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-28 软件要求

项目 版本 下载地址

WAVEWATCHIII

6.07.1 https://github.com/NOAA-EMC/WW3/releases/tag/6.07.1

HDF5 1.10.1 http://hdfgroup.org/HDF5/

NetCDF 4.4.1.1 https://github.com/Unidata/netcdf-c/releases/tag/v4.4.1.1

NetCDF-FORTRAN

4.4.1 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.1

PARMETIS 4.0.3 http://glaros.dtc.umn.edu/gkhome/metis/parmetis/download

测试算例 mww3_data_01

ftp://polar.ncep.noaa.gov/tempor/ww3ftp/ww3_from_ftp.v6.07.tar.gz

操作系统要求

操作系统要求如表3-29所示。

表 3-29 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.6.3 移植规划数据本章节给出WAVEWATCH III软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-30 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以3 /path/to/

NETCDFNetcdf的安装规划路径。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 325

Page 349: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

Netcdf-fortran的安装规划路径。

现网实际规划的安装路径为准进行替换,不再单独说明。

4 /path/to/METIS parmetis的安装规划路径。

5 /path/to/WAVEWATCH

WAVEWATCH III的安装规划路径。

6 /path/to/CASE WAVEWATCH III的测试规划路径。

3.6.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-31 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装HDF5 参考3.6.4.1 安装HDF5。

3 安装NetCDF 参考3.6.4.2 安装NetCDF。

4 安装NetCDF-fortran 参考3.6.4.3 安装NetCDF-fortran。

5 安装parmetis 参考3.6.4.4 安装parmetis。

3.6.4.1 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -xvf hdf5-1.10.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 326

Page 350: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/HDF5 --build=aarch64-unknown-linux-gnu --enable-fortran --enable-static=yes --enable-parallel --enable-shared

步骤5 执行以下命令进行安装编译。

make -j 20

make install

步骤6 执行以下命令加载环境变量。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

export CC=$MPICC

export CXX=$MPICXX

export FC=$MPIFC

export F77=$MPIFC

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

3.6.4.2 安装 NetCDF

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF安装包。

tar -xvf netcdf-4.4.1.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-4.4.1.1

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --enable-netcdf-4 --enable-dap --with-pic --disable-doxygen --enable-static --enable-largefile CPPFLAGS="-I/path/to/HDF5/include "LDFLAGS="-L/path/to/HDF5/lib -Wl,-rpath=/path/to/HDF5/lib " CFLAGS="-L/path/to/HDF5/lib -I/path/to/HDF5/include "

步骤5 执行以下命令进行安装编译。

make -j 20

make install

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 327

Page 351: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.6.4.3 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar -xvf netcdf-fortran-4.4.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.1

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --with-pic --disable-doxygen --enable-largefile --enable-staticCPPFLAGS="-I/path/to/HDF5/include -I/path/to/NETCDF/include" LDFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -Wl,-rpath=/path/to/HDF5/lib -Wl,-rpath=/path/to/NETCDF/lib " CFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include " CXXFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include " FCFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include "

步骤5 执行以下命令进行安装编译。

make -j 20

make install

步骤6 执行以下命令删除环境变量。

unset CC CXX FC F77 MPICC MPICXX MPIFC

----结束

3.6.4.4 安装 parmetis

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压parmetis安装包。

tar -xvf parmetis-4.0.3.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd parmetis-4.0.3

步骤4 执行以下命令修改“metis/include/metis.h”文件。

1. vi metis/include/metis.h2. 按“i”进入编辑模式,修改“metis/include/metis.h”文件的第33行。

#define IDXTYPEWIDTH 64

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 328

Page 352: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令安装cmake。

yum install cmake -y

步骤6 执行以下命令进入metis目录,编译安装metis。

cd metis/

make config shared=1 prefix=/path/to/METIS

make install

步骤7 执行以下命令进入上层目录,进行编译安装。

cd ../

make config shared=1 prefix=/path/to/METIS

make install

----结束

3.6.5 获取源码

操作步骤

步骤1 下载WAVEWATCH III安装包“WW3-6.07.1.tar.gz”。

下载地址:https://polar.ncep.noaa.gov/waves/wavewatch/。

步骤2 使用SFTP工具将WAVEWATCH III安装包上传至服务器“/path/to/WAVEWATCH”目录。

----结束

3.6.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入WAVEWATCH III安装目录。

cd /path/to/WAVEWATCH

步骤3 执行以下命令解压WAVEWATCH III源码包。

tar -xvf WW3-6.07.1.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd WW3-6.07.1

步骤5 执行以下命令创建环境变量文件。

1. vi env_ww3.sh2. 按“i”进入编辑模式,新建“env_ww3.sh”文件。

############# gnu + openmpi #################export PATH=/path/to/GNU/bin:$PATHexport LD_LIBRARY_PATH=/path/to/GNU/lib64:$LD_LIBRARY_PATHexport PATH=/path/to/OpenMPI/bin:$PATH

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 329

Page 353: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export LD_LIBRARY_PATH=/path/to/OpenMPI/lib:$LD_LIBRARY_PATH

############# netcdf #################export NETCDF_DIR=/path/to/NETCDFexport NETCDF_LIBDIR=$NETCDF_DIR/libexport NETCDF_INCDIR=$NETCDF_DIR/includeexport PATH=$NETCDF_DIR/bin:$PATHexport LD_LIBRARY_PATH=$NETCDF_LIBDIR:$LD_LIBRARY_PATHexport WWATCH3_NETCDF=NC4export NETCDF_CONFIG=$NETCDF_DIR/bin/nc-config

############# metis #################export METIS_PATH=/path/to/METISexport PATH=$METIS_PATH/bin:$PATHexport LD_LIBRARY_PATH=$METIS_PATH/lib:$LD_LIBRARY_PATH

说明

“/path/to/GNU”指Gnu9.1的安装路径,“/path/to/OPENMPI”指OpenMPI的安装路径,“/path/to/NETCDF”指Netcdf和Netcdf-fortran的安装路径,“/path/to/METIS”指parmetis的安装路径。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令加载环境变量。

source env_ww3.sh

步骤7 执行以下命令配置ww3参数,注意粗体部分。

./model/bin/w3_setup model/

******************************** WAVEWATCH III setup ********************************

[INFO] local env file wwatch3.env created in /home/WW3-6.07.1/model/bin/wwatch3.envSetup file /home/WW3-6.07.1/model/bin/wwatch3.env not found

Default set up :Printer (listings) : printerAuxiliary FORTRAN comp. : gfortranAuxiliary C compiler : gccScratch directory : /path/to/WAVEWATCH/WW3-6.07.1/model/tmpSave sources : yesSave listings : yesUpdate settings ? [y/n] y

Creating new set-up :

Printer for listings [printer] :Auxiliary FORTRAN compiler [gfortran] :Auxiliary C compiler [gcc] :Scratch space [/home/wdy/WW3-6.07.1/model/tmp] :Save source code files (*.f) [yes] :Save listing files [yes] :

Modified set up :Printer (listings) : printerAuxiliary FORTRAN comp. : gfortranAuxiliary C compiler : gccScratch directory : /path/to/WAVEWATCH III/WW3-6.07.1/model/tmpSave sources : yesSave listings : yesNew settings OK ? [y/n] y

Setup makefile for auxiliary programs……

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 330

Page 354: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

Create required model subdirectoriesFinished setting up WAVEWATCH III

----结束

3.6.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建并且进入工作路径。

mkdir /path/to/WW3_TEST

cd /path/to/WW3_TEST

步骤3 下载测试算例,并且将其拷贝到“/path/to/WW3_TEST”目录。

步骤4 执行以下命令解压。

tar -xvf ww3_from_ftp.v6.07.tar.gz

cd cases

步骤5 执行以下命令设置环境变量。

source /path/to/WAVEWATCH/WW3-6.07.1/env_ww3.sh

export ww3_dir=/path/to/WAVEWATCH/WW3-6.07.1/model

步骤6 执行以下命令修改“mww3_case_01”文件。

1. vi mww3_case_012. 按“i”进入编辑模式,修改“mww3_case_01”文件。

第61行:#cd /scratch1/portfolios/NCEPDEV/ocean/noscrub/Henrique.Alves/WW3_CASES/cases

第65行:#module load intel mpt grads

第72行:compstr="Gnu"

第143行:#ww3_dir='echo $case_dir | sed 's/\/cases\/*//g''

第138行:proc=96

第420行:mpirun --allow-run-as-root --mca btl ^openib -np $proc --hostfile /path/to/WW3_TEST/hostfile $path_e/ww3_multi

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令创建host文件。

1. vi hostfile2. 按“i”进入编辑模式,新增如下内容。

node1node2

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 331

Page 355: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤8 重新打开一个登录窗口,使用PuTTY工具,以root用户登录node2服务器。

步骤9 在node2服务器节点窗口,执行以下命令配置环境变量。

1. vi /root/.bashrc2. 按“i”进入编辑模式,在“.bashrc”文件末尾新增如下内容。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATHexport LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤10 在node1服务器节点窗口,执行以下命令运行WW3程序。

./mww3_case_01

步骤11 当ww3程序运行结束处出现如图3-8所示内容时,表示ww3程序运行正常结束。

图 3-8 结果样例

需要查看“work_case_01/log.mww3”日志中的“Elapsed time”数值,单位是“s”,数值越少性能越优。

输出的结果如图3-9所示。

图 3-9 结果样例

----结束

3.6.8 更多资源WW3快速安装指南:

https://github.com/NOAA-EMC/WW3/wiki/Quick-Start

3.7 Bifrost V1.1.1 移植指南(CentOS 7.6)

3.7.1 介绍Bifrost是一款恒星对流和光球的数值模型软件。

关于Bifrost的更多信息请访问Bifrost官网。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 332

Page 356: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

语言:Fortran

一句话描述:恒星对流和光球的数值模型软件。

开源协议:自定义开源协议。

建议的版本

建议使用版本为“Bifrost V1.1.1”。

3.7.2 环境要求

硬件要求

硬件要求如表3-32所示。

表 3-32 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-33所示。

表 3-33 软件要求

项目 版本 下载地址

Bifrost V1.1.1 https://www.sigma2.no/procurement-project-hpc-b1

操作系统要求

操作系统要求如表3-34所示。

表 3-34 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

3.7.3 移植规划数据本章节给出Bifrost软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 333

Page 357: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-35 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/BIFROST

Bifrost的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3.7.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-36 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

3.7.5 获取源码

操作步骤

步骤1 下载Bifrost安装包“Bifrost_bench_v1.1.1-sigma2.tgz”。

下载地址:https://www.sigma2.no/procurement-project-hpc-b1。

步骤2 使用SFTP工具将Bifrost安装包上传至服务器“/path/to/BIFROST”目录。

----结束

3.7.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 334

Page 358: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压Bifrost安装包。

cd /path/to/BIFROST

tar -xvf Bifrost_bench_v1.1.1-sigma2.tgz

cd Bifrost_bench_v1.1.1

步骤3 执行以下命令修改“Makefile”文件。

1. vi Makefile

2. 按“i”进入编辑模式,修改“Makefile”文件,注意粗体部分。# set operating system dependent parametersF90 ?= mpifortF77 = $(F90)CC = mpiccLD = $(F90)F90FLAGS ?= -O3 -ffree-line-length-0 -fno-range-checkF77FLAGS = $(F90FLAGS)LIBS =INCL =DEBUG =LDFLAGS ?= $(F90FLAGsS) $(DEBUG) $(INCL)OUTP += compiler

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤4 执行以下命令修改mpi.f90文件。

1. vi mpi.f90

2. 按“i”进入编辑模式,修改“mpi.f90”文件的第776和778行内容,注意粗体部分。# if(gridsize < 1000) then fmti="(' ',I3)"else fmti="(' ',I4)"endifdo k=dims(3)-1,0,-1 do j=dims(2)-1,0,-1 fmt="(A1)" do kk=0,(j-1)*2+5 write (*,fmt,ADVANCE='NO') " " end do fmt=fmti do i=0,dims(1)-1 do n=0,gridsize-1 if (i.eq.(griddat(1,n)).and.(j.eq.griddat(2,n)).and.(k.eq.griddat(3,n))) write (*,fmt,ADVANCE='NO') n end do end do

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令进行编译安装。

make

步骤6 执行以下命令查看是否生成执行文件“photo_tr.x”。

ll RUNS/photo_tr.x

-rwxr-xr-x 1 root root 2521960 Jan 11 14:39 RUNS/photo_tr.x

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 335

Page 359: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.7.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入RUNS目录。

cd /path/to/BIFROST/Bifrost_bench_v1.1.1/RUNS

步骤3 执行以下命令创建hostfile文件。

1. vi hostfile2. 按“i”进入编辑模式,新增如下内容。

node1node2

说明

“node1”和“node2”是参与测试的服务器主机名,请根据实际情况进行修改。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤4 重新打开一个登录窗口,使用PuTTY工具,以root用户登录node2服务器。

步骤5 在node2服务器节点窗口,执行以下命令配置环境变量。

1. vi /root/.bashrc2. 按“i”进入编辑模式,在“.bashrc”文件末尾新增如下内容。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATHexport LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 在node1服务器节点窗口,执行以下命令运行Bifrost程序。

mpirun --allow-run-as-root -np 192 -N 96 -hostfile hostfile photo_tr.x 2>&1 |tee -a Bifrost.out

表 3-37 参数说明

参数 说明

-np 使用的总进程数。

-N 每个节点上运行的进程数。

-hostfile 使用的节点主机名。

步骤7 当Bifrost完成500次迭代运行后,生成的日志Bifrost.out的结尾处出现如图3-10所示内容时,表示Bifrost程序运行正常结束。

图 3-10 结果样例

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 336

Page 360: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

需要查看Bifrost.out日志中的“Mz/s”数值,单位是“Mz/s”,数值越大性能越优。

输出的结果如图3-11所示。

图 3-11 结果样例

----结束

3.8 FVCOM 4.1 移植指南(CentOS 7.6)

3.8.1 介绍FVCOM是非结构化网格,有限体积,自由表面的3-D基本方程沿海海洋环流模型。该模型由动量、连续性、温度、盐度和密度方程组成,并使用湍流闭合子模型在物理和数学上闭合。水平网格由不规则的三角形单元组成,不规则的底部使用广义的地形跟随坐标表示。由Burchard在德国的研究小组(Burchard,2002年)开发的通用海洋湍流模型(GOTM)已添加到FVCOM中,以提供可选的垂直湍流封闭方案。FVCOM通过无结构三角网络上控制方程的积分形式的二阶精确离散通量计算以数值方式求解。这种方法结合了有限元方法(网格灵活性)和有限差分方法(数值效率和代码简单性)的 佳功能,并提供了更好的数值表示,包括局部和全局动量、质量、盐、热量和示踪剂守恒。FVCOM能够精确求解标量守恒方程,此外还具有非结构化网格提供的拓扑灵活性以及简化的编码结构,使其非常适合许多沿海和跨学科的科学应用。

关于FVCOM的更多信息请访问FVCOM官网。

语言:C/Fortran 90

一句话描述:FVCOM是无结构三角形网格架构、有限体积、自由表面、三维原始方程海洋数值模型软件。

开源协议:GPL 3.0

建议的版本

建议使用版本为“FVCOM 4.1”。

3.8.2 环境要求

硬件要求

硬件要求如表3-38所示。

表 3-38 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 337

Page 361: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表3-39所示。

表 3-39 软件要求

项目 版本 下载地址

FVCOM 4.1 http://fvcom.smast.umassd.edu/releases/fvcom-4.1.tar.gz

metis 4.0 软件自带压缩包

NetCDF-C 4.7.0 https://www.unidata.ucar.edu/downloads/netcdf/

NetCDF-Fortran

4.4.5 https://www.unidata.ucar.edu/downloads/netcdf/

HDF5 1.10.5 http://hdfgroup.org/HDF5/

测试算例 tst_run.nml 软件自带测试算例。

操作系统要求

操作系统要求如表3-40所示。

表 3-40 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.8.3 移植规划数据

本章节给出FVCOM软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-41 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 338

Page 362: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

4 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

5 /path/to/NETCDF

NetCDF-C的安装规划路径。

NetCDF-fortran的安装规划路径。

6 /path/to/METIS metis补丁下载后存放路径。

7 /path/to/FVCOM

FVCOM的安装规划路径。

3.8.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-42 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装HDF5 参考3.8.4.1 安装HDF5。

3 安装NetCDF-C 参考3.8.4.2 安装NetCDF-C。

4 安装NetCDF-fortran 参考3.8.4.3 安装NetCDF-fortran。

3.8.4.1 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -xvf hdf5-1.10.5.tar.gz

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 339

Page 363: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.5

步骤4 执行以下命令进行配置。

./configure --prefix=/pat/to/HDF5 --enable-fortran --enable-parallel CC=mpiccFC=mpif90 CXX=mpicxx

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置HDF5的环境变量。

export LD_LIBRARY_PATH=/pat/to/HDF5/lib:$LD_LIBRARY_PATH

export HDF5=/path/to/HDF5

----结束

3.8.4.2 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-C安装包。

tar -zxvf netcdf-c-4.7.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.7.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF LDFLAGS="-L$HDF5/lib" CPPFLAGS="-I$HDF5/include" CC=mpicc --disable-dap

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置NetCDF-C的环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

export NETCDF=/path/to/NETCDF

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 340

Page 364: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.8.4.3 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar -zxvf netcdf-fortran-4.4.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.5

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF CPPFLAGS="-I$HDF5/include -I$NETCDF/include" LDFLAGS="-L$HDF5/lib -L$NETCDF/lib" CC=mpicc FC=mpif90F77=mpif90

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

3.8.5 获取源码

操作步骤

步骤1 下载FVCOM安装包“FVCOM-4.1.tar.gz”。

下载地址:https://www.FVCOM.org/。

步骤2 使用SFTP工具将FVCOM安装包上传至服务器“/path/to/FVCOM”目录。

----结束

3.8.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建主程序安装目录。

mkdir -p /path/to/FVCOM

步骤3 复制安装包至主程序安装目录。

cp fvcom-4.1.tar.gz /path/to/FVCOM

步骤4 执行以下命令进入主程序安装目录。

cd /path/to/FVCOM

步骤5 执行以下命令解压安装包。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 341

Page 365: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

tar -xvf fvcom-4.1.tar.gz

步骤6 执行以下命令配置相关文件。

1. 执行以下命令复制“make.inc_example”文件为“make.inc”。

cp Examples/Estuary/make.inc_example FVCOM_source/make.inc2. 执行以下命令创建make.inc文件软链接。

ln -sf FVCOM_source/make.inc ./3. 执行以下命令编辑“make.inc”文件。

a. vi make.incb. 按“i”进入编辑模式,编辑第51行、79行、80行、97行和99行内容。

第51行:TOPDIR = /path/to/FVCOM/FVCOM4.1/FVCOM_source

第79、80行:LIBDIR = -L$(INSTALLDIR)/lib -L../METIS_source/metis -L./libs/julianINCDIR = -I$(INSTALLDIR)/include -I../METIS_source/metis -I./libs/julian

第97行:IOLIBS = -L/path/to/NETCDF/lib -L/path/to/HDF5/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -lm

第98行:IOINCS = -I/path/to/NETCDF/include -I/path/to/HDF5/include

c. 注释掉并添加以下内容。# Intel/MPI Compiler Definitions (SMAST) #--------------------------------------------------------------------------# CPP = /usr/bin/cpp# COMPILER = -DIFORT# CC = mpicc# CXX = mpicxx# CFLAGS = -O3# FC = mpif90# DEBFLGS = -check all traceback# Use 'OPT = -O0 -g' for fast compile to test the make# Use 'OPT = -xP' for fast run on em64t (Hydra and Guppy)# Use 'OPT = -xN' for fast run on ia32 (Salmon and Minke)# OPT = -O0 –g# OPT = -axN –xN# OPT = -O3 # gfortran defs#-------------------------------------------------------------------------- CPP = /usr/bin/cpp COMPILER = -DGFORTRAN CC = mpicc CXX = mpicxx FC = mpif90 DEBFLGS = OPT = -O3 CLIB =

d. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令创建编译环境变量文件。

1. 执行以下命令新增环境变量文件。

a. vi env-fvcom.shb. 按“i”进入编辑模式,添加如下内容。

export GCC_HOME=/path/to/GNUexport PATH=$GCC_HOME/bin:$PATHexport LD_LIBRARY_PATH=$GCC_HOME/lib:$GCC_HOME/lib64:$LD_LIBRARY_PATHexport MPI_HOME=/path/to/OPENMPI

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 342

Page 366: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export PATH=$MPI_HOME/bin:$PATHexport LD_LIBRARY_PATH=$MPI_HOME/lib:$LD_LIBRARY_PATHexport HDF5=/path/to/HDF5export PATH=$HDF5/bin:$PATHexport LD_LIBRARY_PATH=$HDF5/lib:$LD_LIBRARY_PATHexport NETCDF=/path/to/NETCDFexport PATH=$NETCDF/bin:$PATHexport LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH

c. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

2. 执行以下命令加载环境变量。

source env-fvcom.sh

步骤8 执行以下命令编译METIS库。

1. 执行以下命令进入metis安装路径。

cd ./METIS_source2. 执行以下命令解压metis安装包。

tar -zxvf metis.tgz3. 执行以下命令将“metis-4.0.patch”补丁文件复制至当前目录。

cp /path/to/METIS/metis-4.0.patch ./4. 执行以下命令进入metis目录并运行补丁文件。

cd metispatch -p2 < ../metis-4.0.patch

5. 执行以下命令创建相应目录。

mkdir -p /path/to/FVCOM/FVCOM4.1/FVCOM_source/libs/install/libmkdir -p /path/to/FVCOM/FVCOM4.1/FVCOM_source/libs/install/includemkdir -p /path/to/FVCOM/FVCOM4.1/FVCOM_source/libs/install/bin

6. 执行以下命令,编译安装metis库。

make -jmake install

步骤9 执行以下命令编译julian库。

1. 执行以下命令进入julian安装路径。

cd ../../FVCOM_source/libs2. 执行以下命令解压julian.tgz安装包。

tar -zxvf julian.tgz3. 执行以下命令进入解压后路径。

cd julian4. 执行以下命令编译安装。

make -jmake install

步骤10 执行以下命令,编译安装FVCOM主程序。

1. 执行以下命令进入FVCOM安装路径。

cd /path/to/FVCOM/FVCOM4.1/FVCOM_source2. 执行以下命令编辑mod_newinp.F文件。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 343

Page 367: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

a. vi mod_newinp.F

b. 按“i”进入编辑模式,第一个“contains”语句添加如下内容。!----------------------------------------! functions!----------------------------------------

contains Character( Len = 256 ) Function N_Fmt( c , n ) Character( Len = * ) , Intent( IN ) :: c Integer , Intent( IN ) :: n integer :: i , j character( len = 16 ) :: cn i = index( c , '<' ) j = index( c , '>' ) write( cn , '(g0)' ) n N_Fmt = c(:i-1) // Trim(adjustL(cn)) // c(j+1:) End Function N_Fmt

c. 修改“mod_newinp.F”文件以下4处内容。

第352行:

修改前:write(*,'(A20,<size>F10.4)')trim(argname)//': ',fval(1:SIZE)

修改后:write(*,N_Fmt('(A20,<size>F10.4)',SIZE))trim(argname)//': ',fval(1:SIZE)

第421行:

修改前:write(*,'(A20,<size>I10)')trim(argname)//': ',ival(1:SIZE)

修改后:write(*,N_Fmt('(A20,<size>I10)',SIZE))trim(argname)//': ',ival(1:SIZE)

第494行:

修改前:write(*,'(A20,<size>L10)')trim(argname)//': ',cval(1:SIZE)

修改后:write(*,N_Fmt('(A20,<size>L10)',SIZE))trim(argname)//': ',cval(1:SIZE)

第567行:

修改前:write(*,'(A20,<size>A10)')trim(argname)//': ',sval(1:SIZE)

修改后:write(*,N_Fmt('(A20,<size>A10)',SIZE))trim(argname)//': ',sval(1:SIZE)

d. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

3. 执行vi命令分别修改“mod_esmf_nesting.F”、“adv_t.F”、“adv_s.F”文件,超过132个字符的行,使用“&”符号进行截断。

a. 按“i”进入编辑模式,超过132个字符的行,使用“&”符号进行截断。

▪ 若换行涉及拆分单词,则需要句末和句首都添加“&”符号。例如:

▪ 若换行不涉及拆分单词,只需要在句末添加“&”符号。例如:

b. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 344

Page 368: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4. 执行以下命令分别修改“mod_scal.F”、“internal_step.F”、“adv_t.F”、“adv_s.F”文件,对文件中以“IF(BACKWARD_ADVECTION”开头的语句进行相应修改,修改“==”为“.eqv.”,修改“/=”为“.neqv”.。sed -i 's/\/=\.TRUE\./\.neqv\.\.TRUE\./g' mod_scal.Fsed -i 's/==\.TRUE/\.eqv\.\.TRUE/g' internal_step.sed -i 's/==\.FALSE\./\.eqv\.\.FALSE\./g' adv_t.Fsed -i 's/==\.FALSE\./\.eqv\.\.FALSE\./g' adv_s.F

5. 执行以下命令编译安装主程序。

make -j安装成功后,可使用ll命令在当前目录查看生成的可执行文件“fvcom”。

----结束

3.8.7 运行和验证

3.8.7.1 Estuary 算例运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建测试目录。

mkdir -p /path/to/FVCOM/test

步骤3 执行以下命令进入测试目录。

cd/path/to/FVCOM/test

步骤4 执行以下命令复制测试算例到当前目录。

cp -r /path/to/FVCOM/FVCOM4.1/Examples/Estuary/ ./

步骤5 执行以下命令进入运行目录。

cd ./Estuary/run

步骤6 执行以下命令编辑算例输入文件。

1. vi tst_run.nml2. 按“i”进入编辑模式,为“tst_grd.dat”增加单引号。

GRID_FILE = 'tst_grd.dat'

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令运行测试。

time mpirun -n 24 --allow-run-as-root --bind-to core /path/to/FVCOM/FVCOM4.1/FVCOM_source/fvcom --casename=tst

步骤8 执行以下命令查看当前目录,执行成功后生成“.nc”结果文件。

ll

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 345

Page 369: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 3-12 结果样例

----结束

3.8.7.2 Inlet 算例运行和验证

前提条件

FVCOM需要根据算例编译可执行文件,如果使用inlet算例,则需按照3.8.6 编译和安装流程将“make.inc”文件更换为Intel算例的“make.inc”文件重新编译,并修改“/path/to/FVCOM/FVCOM_source”目录下“mod_cstms_vars.F”、“mod_sed_cstms.F”文件,其余步骤与3.8.6 编译和安装相同。

步骤1 执行以下命令修改“mod_cstms_vars.F”文件。

1. vi mod_cstms_vars.F2. 按“i”进入编辑模式,修改如下内容。

修改前:494 (/ "bo_sd50" &529 (/ "mean grain diameter" &563 character(len=80), dimension(34) :: bot_units = (" m","kg&568 character(len=80), dimension(5) :: bed_snames = (/"bed_thick","bed_age","bed_por","bed_diff","bed_btcr"/)569 character(len=80), dimension(5) :: bed_lnames = (/"bed layer thickness","bed layer age","bed layer porosity","bed layer bio-diffusivity","bed critical stress"/)570 character(len=80), dimension(5) :: bed_units = (/"m","days","-","-","N/m2"/)

修改后:494 (/character(80):: "bo_sd50" &529 (/ character(80):: "mean grain diameter" &563 character(len=80), dimension(34) :: bot_units = (/character(80)::" m","kg&568 character(len=80), dimension(5) :: bed_snames = (/character(80)::"| (/"bed_thick","bed_age","bed_por","bed_diff","bed_btcr"/)569 character(len=80), dimension(5) :: bed_lnames = (/character(80)::"bed layer thickness","bed layer age","bed layer porosity","bed layer bio-diffusivity","bed critical stress"/)570 character(len=80), dimension(5) :: bed_units = (/character(80)::"m","days","-","-","N/m2"/)

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤2 执行以下命令修改“mod_sed_cstms.F”文件。

1. vi mod_sed_cstms.F2. 按“i”进入编辑模式,修改如下内容。

修改前:5797 IF(BACKWARD_ADVECTION==.TRUE.)THEN

修改后:5797 IF(BACKWARD_ADVECTION .EQV. .TRUE.)THEN

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

----结束

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建测试目录,进入测试目录。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 346

Page 370: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

mkdir -p /path/to/FVCOM/test

cd /path/to/FVCOM/test

步骤3 执行以下命令复制测试算例到当前目录。

cp -r /path/to/FVCOM/FVCOM4.1/Examples/cohesive_bed/tidal_inlet/ ./

步骤4 执行以下命令进入运行目录。

cd ./tidal_inlet/run

步骤5 执行以下命令编辑算例输入文件。

1. vi inlet_run.nml2. 按“i”进入编辑模式,为“none”、“inlet_nesting.nc”和“inlet_nesting.nc”

增加单引号。NCNEST_NODE_FILES_WAVE = 'none'NESTING_FILE_NAME = 'inlet_nesting.nc'NESTING_FILE_NAME_WAVE = 'inlet_nesting_wave.nc'

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令运行测试。

time mpirun -np 96 --allow-run-as-root --bind-to core /path/to/FVCOM/FVCOM4.1/FVCOM_source/fvcom --casename=inlet

结果样例如下所示。

----结束

3.8.8 更多资源FVCOM官方网站:

http://codfish.smast.umassd.edu/

3.9 MITGCM c67o 移植指南(CentOS 7.6)

3.9.1 介绍MITgcm的数值模型设计用于研究大气,海洋和气候,其灵活的非静液压公式使其能够有效地模拟各种规模的流体现象。它的辅助功能使其可以应用于敏感性问题以及参数和状态估计问题。通过采用流体方程同构,可以使用单个动力学核来模拟大气和海洋的流动。

关于MITGCM的更多信息请访问MITGCM官网。

语言:C/Fortran 90

一句话描述:MITGCM是麻省技术研究所的环流模式,模拟大尺度海洋环流的模型软件。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 347

Page 371: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

开源协议:GPL 3.0

建议的版本

建议使用版本为“MITgcm_c67o”。

3.9.2 环境要求

硬件要求

硬件要求如表3-43所示。

表 3-43 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-44所示。

表 3-44 软件要求

项目 版本 下载地址

MITGCM c67o http://mitgcm.org/download/

NetCDF-C 4.7.0 https://www.unidata.ucar.edu/downloads/netcdf/

NetCDF-Fortran

4.4.5 https://www.unidata.ucar.edu/downloads/netcdf/

HDF5 1.10.1 http://hdfgroup.org/HDF5/

测试算例 exp4 软件自带测试算例。

操作系统要求

操作系统要求如表3-45所示。

表 3-45 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 348

Page 372: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.9.3 移植规划数据本章节给出MITGCM软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-46 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

4 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

5 /path/to/NETCDF

NetCDF-C的安装规划路径。

NetCDF-fortran的安装规划路径。

7 /path/to/MITGCM

MITGCM的安装规划路径。

3.9.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-47 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装HDF5 参考3.9.4.1 安装HDF5。

3 安装NetCDF-C 参考3.9.4.2 安装NetCDF-C。

4 安装NetCDF-fortran 参考3.9.4.3 安装NetCDF-fortran。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 349

Page 373: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.9.4.1 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -xvf hdf5-1.10.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/HDF5 --build=aarch64-linux --enable-parallel --enable-shared --enable-fortran

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置HDF5的环境变量。

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

export HDF5=/path/to/HDF5

----结束

3.9.4.2 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-C安装包。

tar -zxvf netcdf-c-4.7.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.7.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --enable-fortran --disable-static --enable-shared --with-pic --enable-parallel-tests --enable-pnetcdf --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置NetCDF-C的环境变量。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 350

Page 374: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

export NETCDF=/path/to/NETCDF

----结束

3.9.4.3 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar -zxvf netcdf-fortran-4.4.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.5

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --disable-static --enable-shared --enable-parallel-tests --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

3.9.5 获取源码

操作步骤

步骤1 下载MITGCM安装包“MITgcm_c67o.tar.gz”。

下载地址:http://mitgcm.org/download/。

步骤2 使用SFTP工具将MITGCM安装包上传至服务器“/path/to/MITGCM”目录。

----结束

3.9.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建主程序安装目录。

mkdir -p /path/to/MITGCM

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 351

Page 375: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 复制安装包至主程序安装目录。

cp MITgcm_c67o.tar.gz /path/to/MITGCM

步骤4 执行以下命令进入主程序安装目录。

cd /path/to/MITGCM

步骤5 执行以下命令解压安装包。

tar -xvf MITgcm_c67o.tar.gz

步骤6 执行以下命令进入解压后路径。

cd MITgcm

步骤7 执行以下命令配置相关文件。

1. 执行以下命令进入“build_options”目录。

cd tools/build_options2. 创建并编辑“Linux_arm64_gfortran”文件。

vi linux_arm64_gfortran3. 按“i”进入编辑模式,添加如下内容。

#!/bin/bash

MPI='true'CC=mpiccFC=mpif77F90C=mpif90

DEFINES='-DWORDLENGTH=4 -DNML_TERMINATOR -DALLOW_USE_MPI -DALWAYS_USE_MPI'EXTENDED_SRC_FLAG='-ffixed-line-length-132'F90FIXEDFORMAT='-ffixed-form'GET_FC_VERSION="--version"OMPFLAG='-fopenmp'

NOOPTFLAGS='-O0 -g'NOOPTFILES=''

CFLAGS='-O3 -march=armv8.2-a'FFLAGS="$FFLAGS -fconvert=big-endian -fimplicit-none"CFLAGS="$CFLAGS -fPIC"FFLAGS="$FFLAGS -fPIC"#- with FC 19, need to use this without -fPIC (which cancels -mcmodel option):# CFLAGS="$CFLAGS -mcmodel=medium"# FFLAGS="$FFLAGS -mcmodel=medium"#- might want to use '-fdefault-real-8' for fizhi pkg:#FFLAGS="$FFLAGS -fdefault-real-8 -fdefault-double-8"

if test "x$IEEE" = x ; then #- with optimisation: #- full optimisation FOPTIM='-O3 -funroll-loops -march=armv8.2-a' NOOPTFILES="$NOOPTFILES ini_masks_etc.F" #- can use -O2 (safe optimisation) to avoid Pb with some gcc version of -O3: #FOPTIM='-O2 -funroll-loops'else # these may also be useful, but require specific gfortran versions: # -Wnonstd-intrinsics for gfortran <= 4.3 # -Wintrinsics-std for gfortran >= 4.4 # -Wno-tabs for gfortran >= 4.3 # -Wno-unused-dummy-argument for gfortran >= 4.6 #FFLAGS="$FFLAGS -Waliasing -Wampersand -Wsurprising -Wline-truncation" #- or simply: FFLAGS="$FFLAGS -Wall" #- to get plenty of warnings: -Wall -Wextra (older form: -Wall -W) or: #FFLAGS="$FFLAGS -Wconversion -Wimplicit-interface -Wunused-labels"

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 352

Page 376: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

if test "x$DEVEL" = x ; then #- no optimisation + IEEE : FOPTIM='-O0' else #- development/check options: FOPTIM='-O0 -g -fbounds-check' FOPTIM="$FOPTIM -ffpe-trap=invalid,zero,overflow -finit-real=inf" fifi

F90FLAGS=$FFLAGSF90OPTIM=$FOPTIM

# --------------------------# NETCDF DIRECTORIES# --------------------------HDF5_HOME=/path/to/HDF5NETCDF_HOME=/path/to/NETCDF

INCLUDEDIRS=''INCLUDES="-I$NETCDF_HOME/include -I$HDF5_HOME/include"LIBS="-L$NETCDF_HOME/lib -lnetcdff -lnetcdf -L$HDF5_HOME/lib -lhdf5_hl -lhdf5"

# -----------------------# INCLUDE MPI DIRECTORIES# -----------------------MPI_HOME=/path/to/OPENMPI-4.0.1MPI_INC_DIR=$MPI_HOME/includeINCLUDES="$INCLUDES -I$MPI_HOME/include"INCLUDEDIRS="$INCLUDEDIRS $MPI_HOME/include"MPIINCLUDEDIR="$MPI_INC_DIR"

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下步骤,以exp4算例为例,进行编译安装。

1. 执行以下命令进入相应目录。

cd /path/to/MITGCM/MITgcm/verification/exp4/code2. 执行以下命令将“SIZE_mpi.h”重命名为“SIZE.h”。

mv SIZE_mpi.h SIZE.h3. 执行以下命令进入相应目录。

cd /path/to/MITGCM/MITgcm/verification/exp4/build4. 执行以下命令生成“makefile”文件。

../../../tools/genmake2 -mods=../code -mpi -of=../../../tools/build_options/linux_arm64_gfortran

5. 执行以下命令编译安装。

make dependmake -j

----结束

3.9.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入测试目录。

cd /path/to/MITGCM/MITgcm/verification/exp4/run

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 353

Page 377: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令复制测试算例到当前目录。

cp ../input/* ./

cp ../build/mitgcmuv ./

步骤4 执行以下命令运行测试。

time mpirun -n 4 --allow-run-as-root ./mitgcmuv

步骤5 执行以下命令查看STDOUT.0000输出文件。

vi STDOUT.0000

显示如下结果样例表示运行成功。

图 3-13 结果样例

----结束

3.9.8 更多资源MITGCM官方网站:

http://mitgcm.org/

MITGCM安装指南:

https://mitgcm.readthedocs.io/en/latest/overview/overview.html

3.10 POM POM2K 移植指南(CentOS 7.6)

3.10.1 介绍POM即普林斯顿海洋模型,它是一个垂向采用σ坐标的三维斜压陆架浅海模式 ,基于原始方程组之上的海洋模型,包含一个二阶湍闭合子模式,能给出随流速变化的湍流涡动系数。20世纪70年代由Blumberg and Mellor发展起来,并在许多学者的共同努力下不断完善。可被应用于河口、沿岸区域和开阔大洋。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 354

Page 378: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

POM有别于其它海洋模式的主要特点是:垂直方向采用σ坐标,因而可以方便地引入大陆架底形;在确定垂直湍流交换系数时,采用二阶湍能(TKE)闭合方案,因而垂直差分为隐式,消除时间对垂直坐标的限制,可使海洋上、下边界层的分辨率提高而保持计算稳定;为了节省计算时间和增加模式的计算稳定性,POM将海流的正压模和斜压模分离,采用不同的时间步长,外模为二维,时间步长较短,内模为三维,时间步长较长。在水平方向,POM采用Arakawa C型交错网格系统。在垂直方向,湍流能量方程、垂直扩散交换系数和垂直速度ω与温度、盐度和海流场交错设置。水平坐标系统可任选,既可为曲线正交坐标,也可为经纬度坐标。

关于POM的更多信息请访问POM官网。

语言:Fortran

一句话描述:POM即普林斯顿海洋模型。

开源协议:GPL 3.0

建议的版本

建议使用版本为“POM POM2K”。

3.10.2 环境要求

硬件要求

硬件要求如表3-48所示。

表 3-48 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-49所示。

表 3-49 软件要求

项目 版本 下载地址

POM POM2K http://www.ccpo.odu.edu/POMWEB/userinfo.htm

测试算例 GRID-DATA http://www.ccpo.odu.edu/POMWEB/userinfo.htm

操作系统要求

操作系统要求如表3-50所示。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 355

Page 379: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-50 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.10.3 移植规划数据

本章节给出POM软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-51 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/POM POM的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/NETCDF

NETCDF的安装规划路径。

3.10.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-52 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装NetCDF-C 参考3.10.4.1 安装NetCDF-C。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 356

Page 380: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.10.4.1 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-C安装包。

tar -zxvf netcdf-c-4.4.1.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.4.1.1

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --enable-fortran --disable-static --enable-shared --with-pic --enable-parallel-tests --enable-pnetcdf --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置NetCDF-C的环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

export NETCDF=/path/to/NETCDF

----结束

3.10.5 获取源码

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令下载POM和测试算例GRID-DATA。

wget -r -p -k -np -nc -e robots=off http://www.ccpo.odu.edu/POMWEB

zip -r POM.zip www.ccpo.odu.edu

步骤3 下载完成后,使用SFTP工具将POM.zip上传至服务器“/path/to/POM”目录。

----结束

3.10.6 IC 数据文件生成

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建主程序安装目录。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 357

Page 381: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

mkdir -p /path/to/POM

步骤3 复制安装包至主程序安装目录。

cp POM.zip /path/to/POM

步骤4 执行以下命令进入主程序安装目录。

cd /path/to/POM

步骤5 执行以下命令解压安装包。

unzip POM.zip

步骤6 执行以下命令,移动POM2K、GRID-DATA目录至主程序安装目录。

cd www.ccpo.odu.edu/POMWEB/

mv POM2K ../../

mv GRID-DATA ../../

步骤7 执行以下命令,进入GRID-DATA算例目录。

cd /path/to/POM/GRID-DATA

步骤8 执行以下命令创建“IC”和“include”目录。

mkdir IC

mkdir -p /path/to/POM/GRID-DATA/IC/include

步骤9 将头文件gridborder、gridcom、params复制到“include”目录。

cp gridborder /path/to/POM/GRID-DATA/IC/include

cp gridcom /path/to/POM/GRID-DATA/IC/include

cp params /path/to/POM/GRID-DATA/IC/include

步骤10 执行以下命令编辑“rungrid”文件内容。

1. vi rungrid2. 按“i”进入编辑模式,修改以下内容。

修改前:echo ' Start Compiling ...' g77 -O3 GRID.f#pgf77 GRID.f a.out > printout## -------------- output files for POM2K ------------------------ /bin/mv fort.40 IC.dat # formatted IC,grid & constant wind# -------------- output files for MATLAB plotting ------------- /bin/mv fort.43 ijk.dat # IM, JM, KB, Z /bin/mv fort.44 plt.dat # formatted grid /bin/mv fort.45 bnd.dat # boundary points (gridborder) /bin/mv fort.46 wnd.dat # wind velocity /bin/mv fort.47 dxy.dat # dx,dx (km)#/bin/rm a.out/bin/rm fort.* echo ' *** END GRID ***'

修改后:echo ' Start Compiling ...' gfortran -O3 GRID.f -I/path/to/POM/GRID-DATA/IC/include

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 358

Page 382: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

#pgf77 GRID.f ./a.out > printout## -------------- output files for POM2K ------------------------ mv fort.40 IC.dat # formatted IC,grid & constant wind# -------------- output files for MATLAB plotting ------------- mv fort.43 ijk.dat # IM, JM, KB, Z mv fort.44 plt.dat # formatted grid mv fort.45 bnd.dat # boundary points (gridborder) mv fort.46 wnd.dat # wind velocity mv fort.47 dxy.dat # dx,dx (km)##/bin/rm a.out#/bin/rm fort.* echo ' *** END GRID ***'

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤11 执行以下命令拷贝数据文件至IC目录。

cp /path/to/POM/GRID-DATA/TOPO.dat /path/to/POM/GRID-DATA/IC

cp /path/to/POM/GRID-DATA/TS.dat /path/to/POM/GRID-DATA/IC

cp /path/to/POM/GRID-DATA/WIND.dat /path/to/POM/GRID-DATA/IC

cp /path/to/POM/GRID-DATA/GRID.f /path/to/POM/GRID-DATA/IC

cp /path/to/POM/GRID-DATA/IC.dat /path/to/POM/GRID-DATA/IC

步骤12 执行以下命令rungrid赋予权限并运行。

chmod 755 rungrid

./rungrid

说明

下载的安装包中已经存在“IC.dat”文件,为了让构建者有一个初步的文件生成过程了解,本章节重新使用所需文件重新生成“IC.dat”文件。

----结束

3.10.7 POM2K 模型运行

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令,进入POM安装目录。

cd /path/to/POM/POM

步骤3 执行以下命令解压POM2K安装包。

unzip POM2K.zip

步骤4 执行以下命令进入压缩路径。

cd POM2K

步骤5 执行以下命令修改“pom2k.f”文件。

1. vi pom2k.f

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 359

Page 383: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

2. 按“i”进入编辑模式,将模式“1”改为模式“3”。

修改前:iproblem=1

修改后:iproblem=3

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令将安装包中的头文件“gridcom”和IC数据文件生成的“IC.dat”文件复制至当前目录。

cp /path/to/POM/GRID-DATA/IC/include/gridcom ./

cp /path/to/POM/GRID-DATA/IC/IC.dat ./

步骤7 执行以下命令修改“runpom2k”文件。

1. vi runpom2k2. 按“i”进入编辑模式,将模式“1”改为模式“3”。

修改前:## Runscript for pom2k with example of reading IC from file.# IC file generated by /GRID-DATA/GRID.f (T.E. Dec04)## Note: if "grid" not created here you can put it in pom2k.c# "params" replaces default values set in pom2k.f### ------------------ PARAMETER FILES FOR EACH CASE -----------## -- SEAMOUNT TEST CASE (initial cond. calc. in pom2k.f)# echo ' parameter(im=65, jm=49, kb=21)' > grid echo ' iproblem= 1 ' > params echo ' days= 0.025 ' >> params echo ' prtd1= 0.0125 ' >> params echo ' dte= 6. ' >> params## -- COAST TEST CASE (initial cond. from file)##echo ' parameter(im=41, jm=61, kb=16)' > grid#echo ' iproblem= 3 ' > params#echo ' days= 0.50 ' >> params#echo ' prtd1= 0.25 ' >> params#echo ' dte= 12. ' >> params#cp IC.dat fort.40 # Initial Condition file## ------------------ COMPILE & RUN ----------------------------## g77 -O3 pom2k.f /usr/local/lib/libnetcdf.a# ---- now netCDF output not used (see "CDF" in pom2k.f) gfortran -O3 pom2k.f# f90 -O3 pom2k.f # or any other compiler you wish to use## ------------------ OUTPUT FILES -----------------------------#a.out > pom2k.out # printout file## pom2k.nc # netCDF file for MATLAB plotting

修改后:## Runscript for pom2k with example of reading IC from file.# IC file generated by /GRID-DATA/GRID.f (T.E. Dec04)## Note: if "grid" not created here you can put it in pom2k.c

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 360

Page 384: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

# "params" replaces default values set in pom2k.f### ------------------ PARAMETER FILES FOR EACH CASE -----------## -- SEAMOUNT TEST CASE (initial cond. calc. in pom2k.f)## echo ' parameter(im=65, jm=49, kb=21)' > grid# echo ' iproblem= 1 ' > params# echo ' days= 0.025 ' >> params# echo ' prtd1= 0.0125 ' >> params# echo ' dte= 6. ' >> params## -- COAST TEST CASE (initial cond. from file)#echo ' parameter(im=41, jm=61, kb=16)' > gridecho ' iproblem= 3 ' > paramsecho ' days= 0.50 ' >> paramsecho ' prtd1= 0.25 ' >> paramsecho ' dte= 12. ' >> paramscp IC.dat fort.40 # Initial Condition file## ------------------ COMPILE & RUN ----------------------------## g77 -O3 pom2k.f /usr/local/lib/libnetcdf.a# ---- now netCDF output not used (see "CDF" in pom2k.f) gfortran -O3 pom2k.f /path/to/NETCDF/netcdf-4.4.1.1/lib/libnetcdf.a -I/path/to/NETCDF/netcdf-4.4.1.1/include# f90 -O3 pom2k.f # or any other compiler you wish to use## ------------------ OUTPUT FILES -----------------------------#./a.out > pom2k.out # printout file## pom2k.nc # netCDF file for MATLAB plotting

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下命令赋予runpom2k权限并运行。

chmod 755 runpom2k

./runpom2k

显示结果样例如下所示。

图 3-14 结果样例

说明

运行完后会在当前目录下生成“fort.71”文件,此文件为所需的nc文件。

----结束

3.10.8 更多资源POM官方网站:

http://www.ccpo.odu.edu/POMWEB/userinfo.htm

POM安装指导(仅中文):

https://www.doc88.com/p-2921529746905.html

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 361

Page 385: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.11 MOM 6 移植指南(CentOS 7.6)

3.11.1 介绍MOM全称Modular Ocean Model,是一个三维海洋环流模型,主要用于研究海洋气候系统。

关于MOM的更多信息请访问MOM官网。

语言:C/Fortran

一句话描述:模块化海洋模型。

开源协议:GPL 3.0

建议的版本

建议使用版本为“MOM 6”。

3.11.2 环境要求

硬件要求

硬件要求如表3-53所示。

表 3-53 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-54所示。

表 3-54 软件要求

项目 版本 下载地址

MOM 6 https://github.com/NOAA-GFDL/MOM6-examples.git

Pnetcdf 1.9.0 https://parallel-netcdf.github.io/wiki/Download.html

NetCDF-C 4.7.0 https://www.unidata.ucar.edu/downloads/netcdf/index.jsp

NetCDF-Fortran

4.4.5 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.5

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 362

Page 386: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

HDF5 1.10.1 http://hdfgroup.org/HDF5/

测试算例 double_gyre 软件自带测试算例。

操作系统要求

操作系统要求如表3-55所示。

表 3-55 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.11.3 移植规划数据本章节给出MOM软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-56 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/PNETCDF

Pnetcdf的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/HDF5 HDF5的安装规划路径。

4 /path/to/NETCDF

NetCDF-C的安装规划路径。

NetCDF-fortran的安装规划路径。

5 /path/to/MOM MOM的安装规划路径。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 363

Page 387: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.11.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-57 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装Pnetcdf 参考3.11.4.1 安装Pnetcdf。

3 安装HDF5 参考3.11.4.2 安装HDF5。

4 安装NetCDF-C 参考3.11.4.3 安装NetCDF-C。

5 安装NetCDF-fortran 参考3.11.4.4 安装NetCDF-fortran。

3.11.4.1 安装 Pnetcdf

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Pnetcdf安装包。

tar -xvf parallel-netcdf-1.9.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd parallel-netcdf-1.9.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/PNETCDF --build=aarch64-linux --enable-shared--enable-fortran --enable-large-file-test

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置Pnetcdf的环境变量。

export PATH=/path/to/PNETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/PNETCDF/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 364

Page 388: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.11.4.2 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -xvf hdf5-1.10.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/HDF5 --build=aarch64-linux --enable-parallel --enable-shared --enable-fortran

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置HDF5的环境变量。

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

3.11.4.3 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-C安装包。

tar -zxvf netcdf-c-4.7.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.7.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --enable-fortran --disable-static --enable-shared --with-pic --enable-parallel-tests --enable-pnetcdf --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置NetCDF-C的环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 365

Page 389: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

----结束

3.11.4.4 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar -zxvf netcdf-fortran-4.4.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.5

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --disable-static --enable-shared --enable-parallel-tests --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

3.11.5 获取源码

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入MOM的安装路径。

cd /path/to/MOM

步骤3 验证服务器能连接互联网后,执行以下命令获取源码。

git clone https://github.com/NOAA-GFDL/MOM6-examples.git MOM6-examples

cd MOM6-examples

git submodule init

git submodule update –recursive

步骤4 执行以下命令更新各个模块。

git submodule update src/FMS

git submodule update --init --recursive src/MOM6

git submodule update src/SIS2

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 366

Page 390: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

git submodule update tools/matlab/gtools

git submodule update tools/python/MIDAS

cd src/MOM6

git submodule init

git submodule update

----结束

3.11.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令修改“linux-gnu.mk”文件。

cd /path/to/MOM/MOM6-examples/src/mkmf/templates/

sed -ri 's/mpich2/ompi/g' linux-gnu.mk

步骤3 执行以下命令编译libfms.a。

mkdir -p /path/to/MOM/MOM6-examples/build/gnu/shared/repro/

cd /path/to/MOM/MOM6-examples/build/gnu/shared/repro/

../../../../src/mkmf/bin/list_paths -l ../../../../src/FMS

../../../../src/mkmf/bin/mkmf -t ../../../../src/mkmf/templates/linux-gnu.mk -plibfms.a -c "-Duse_libMPI -Duse_netCDF -DSPMD" path_names

make NETCDF=3 REPRO=1 libfms.a -j

步骤4 执行以下命令编译MOM6。

cd /path/to/MOM

mkdir -p build/gnu/ocean_only/repro/

cd build/gnu/ocean_only/repro/

../../../../src/mkmf/bin/list_paths -l ../../../../src/MOM6/{config_src/dynamic,config_src/solo_driver,src/{*,*/*}}/

../../../../src/mkmf/bin/mkmf -t ../../../../src/mkmf/templates/linux-gnu.mk -o '-I../../shared/repro' -p 'MOM6 -L../../shared/repro -lfms' -c "-Duse_libMPI -Duse_netCDF -DSPMD" path_names

make NETCDF=3 REPRO=1 MOM6 -j

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 367

Page 391: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.11.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令运行benchmark测试。

cd /path/to/MOM/ocean_only/benchmark/

mpirun --allow-run-as-root -np 96 -mca btl ^openib ../../build/gnu/ocean_only/repro/MOM6 >& mom.log &

步骤3 需要查看“mom.log”日志中的“MPP_DOMAINS_STACK high water mark”数值,数值越大性能越优。

输出的结果样例如下图所示。

----结束

3.11.8 故障排除

问题一:编译 libfms.a 时报错

现象描述:

编译libfms.a时报错,报错信息为:“Package mpich2 was not found in the pkg-config search path”。

可能原因:

此错误是因为linux-gnu.mk中mpich2参数未修改。

处理步骤:

检查并修改linux-gnu.mk文件,详细请参见步骤2。

问题二:编译 libfms.a 时报错

现象描述:

编译libfms.a报错,报错信息为:“make: nc-config: Command not found”。

可能原因:

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 368

Page 392: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

此错误是因为netcdf环境有误。

处理步骤:

检查NetCDF环境配置或重新安装NetCDF-C。

3.11.9 更多资源

MOM官方安装指南:

https://github.com/NOAA-GFDL/MOM6-examples/wiki/Getting-started#downloading-the-source-code-and-tools

3.12 SMOKE 4.7 移植指南(CentOS 7.6)

3.12.1 介绍

SMOKE主要是一种排放处理系统,旨在创建网格化的特定小时排放量,以输入到各种空气质量模型中,例如CMAQ,REMSAD,CAMX和UAM。SMOKE支持区域,生物源,移动(公路和非公路)以及点源排放标准,微粒和有毒污染物的处理。对于生物排放模型,SMOKE使用生物排放清单系统(版本2.5(BEIS2)和版本3.09和3.14(BEIS3))。SMOKE还与公路排放模型MOBILE6和MOVES集成在一起。

关于SMOKE的更多信息请访问SMOKE官网。

语言:Fortran 90

一句话描述:采用稀疏矩阵进行空气量模型化的源排放工具。

开源协议:LGPL-3.0

建议的版本、

建议使用版本为“SMOKE 4.7”。

3.12.2 环境要求

硬件要求

硬件要求如表3-58所示。

表 3-58 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-59所示。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 369

Page 393: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-59 软件要求

项目 版本 下载地址

SMOKE smoke_v47.Linux2_x86_64ifort.tar.gzsmoke_v47.nctox.data.tar.gzsmoke_install_v47.csh

https://github.com/CEMPD/SMOKE/releases

ioapi 3.2 https://github.com/cjcoats/ioapi-3.2

HDF5 1.10.1 http://hdfgroup.org/HDF5/

PNETCDF 1.8.0 http://cucis.ece.northwestern.edu/projects/PnetCDF

NETCDF 4.4.1.1 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.1

NETCDF-F 4.4.1 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.1

测试算例 $SMK_HOME/data/ge_dat 软件自带测试算例

操作系统要求

操作系统要求如表3-60所示。

表 3-60 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.12.3 移植规划数据本章节给出SMOKE软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 370

Page 394: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 3-61 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HDF5

Hdf5的安装规划路径。 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/PNETCDF

Pnetcdf的安装规划路径。

4 /path/to/NETCDF

netcdf的安装规划路径。

5 /path/to/NETCDF-FORTRAN

Netcdf-fortran的安装规划路径。

6 /path/to/SMOKE

SMOKE的安装规划路径。

3.12.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-62 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装HDF5 参考3.12.4.1 安装HDF5。

3 安装Pnetcdf 参考3.12.4.2 安装Pnetcdf。

4 安装Netcdf 参考3.12.4.3 安装Netcdf。

5 安装Netcdf-fortran 参考3.12.4.4 安装Netcdf-fortran。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 371

Page 395: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.12.4.1 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar zxvf hdf5-1.10.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令设置编译前的环境变量。

export MPICC=/path/to/OPENMPI/bin/mpicc

export MPICXX=/path/to/OPENMPI/bin/mpicxx

export MPIFC=/path/to/OPENMPI/bin/mpifort

export CC=$MPICC

export CXX=$MPICXX

export FC=$MPIFC

export F77=$MPIFC

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/HDF5 --build=aarch64-unknown-linux-gnu --enable-fortran --enable-static=yes --enable-parallel --enable-shared --enable-fortran20

步骤6 执行以下命令进行编译安装。

make -j 16

make install

步骤7 执行以下命令进行加载变量。

export PATH=/path/to/HDF5/bin:$PATH

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

3.12.4.2 安装 Pnetcdf

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Pnetcdf安装包

tar -xvf parallel-netcdf-1.8.0.tar.bz2

步骤3 执行以下命令进入解压后的目录。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 372

Page 396: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cd parallel-netcdf-1.8.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/PNETCDF --build=aarch64-unknown-linux-gnuCFLAGS="-fPIC -DPIC" CXXFLAGS="-fPIC -DPIC" FCFLAGS="-fPIC" FFLAGS="-fPIC"

步骤5 执行以下命令进行编译安装。

make -j 16

make install

步骤6 执行以下命令进行加载变量。

export PATH=/path/to/PNETCDF/bin:$PATH

export LD_LIBRARY_PATH==/path/to/PNETCDF/lib:$LD_LIBRARY_PATH

----结束

3.12.4.3 安装 Netcdf

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Netcdf安装包。

tar -xvf netcdf-4.4.1.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-4.4.1.1

步骤4 设置编译前的环境变量。

export CPPFLAGS="-I/path/to/HDF5/include -I/path/to/PNETCDF/include"

export LDFLAGS="-L/path/to/HDF5/lib -L/path/to/PNETCDF/lib -Wl,-rpath=/path/to/HDF5/lib"

export CFLAGS="-L/path/to/HDF5/lib -L/path/to/PNETCDF/lib - I/path/to/HDF5/include"

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --enable-netcdf-4 --enable-dap --with-pic --disable-doxygen --enable-static --enable-pnetcdf --enable-largefile

步骤6 执行以下命令进行安装编译。

make -j 16

make install

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 373

Page 397: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.12.4.4 安装 Netcdf-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Netcdf-fortran安装包。

tar -xvf netcdf-fortran-4.4.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.1

步骤4 设置编译前的环境变量。

export CPPFLAGS="-I/path/to/HDF5/include -I/path/to/NETCDF/include"

export LDFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -Wl,-rpath=/path/to/HDF5/lib -Wl,-rpath=/path/to/NETCDF/lib"

export CFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

export CXXFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

export FCFLAGS="-L/path/to/HDF5/lib -L/path/to/NETCDF/lib -I/path/to/HDF5/include -I/path/to/NETCDF/include"

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-unknown-linux-gnu --enable-shared --with-pic --disable-doxygen --enable-largefile --enable-static

步骤6 执行以下命令安装编译。

make -j 16

make install

步骤7 执行以下命令释放环境变量。

unset CC CXX FC F77 CPPFLAGS LDFLAGS CFLAGS CXXFLAGS FCFLAGS

----结束

3.12.5 获取源码

操作步骤

步骤1 下载SMOKE安装包。

下载地址:https://github.com/CEMPD/SMOKE/releases

步骤2 使用sftp工具将SMOKE安装包上传至服务器“/path/to/SMOKE”目录。

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 374

Page 398: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.12.6 编译和安装

3.12.6.1 安装 IOAPI

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令使SMOKE安装运行在csh下。

chsh -s /bin/csh

步骤3 执行以下命令重启系统使其生效。

reboot

步骤4 执行以下命令设置环境变量。

echo "setenv SMK_HOME /path/to/SMOKE" >> /root/.tcsh

echo "setenv BIN Linux2_aarch64gfort" >> /root/.tcsh

echo "setenv LD_LIBRARY_PATH /path/to/GNU/gcc9.1/lib64: /path/to/OPENMPI/openmpi-4.0.1-gcc9.1/lib" >> /root/.tcsh

echo setenv PATH /path/to/OPENMPI/openmpi-4.0.1- gcc9.1/bin:/path/to/GNU/gcc9.1/bin:$PATH>> /root/.tcsh

echo setenv LD_LIBRARY_PATH /path/to/NETCDF/lib:$LD_LIBRARY_PATH >> /root/.tcsh

步骤5 执行以下命令使环境变量生效。

source /root/.tcsh

步骤6 执行以下命令将安装包复制到安装路径下。

cp smoke_v47.Linux2_x86_64ifort.tar.gz /path/to/SMOKE

cp smoke_v47.nctox.data.tar.gz /path/to/SMOKE

cp smoke_install.csh /path/to/SMOKE

cp ioapi-3.2.tar.gz /path/to/SMOKE

cd /path/to/SMOKE

source smoke_install.csh

步骤7 执行以下命令创建目录。

mkdir -p $SMK_HOME/subsys/ioapi

mkdir -p $SMK_HOME/subsys/ioapi/$BIN

步骤8 执行以下命令解压ioapi-3.2.tar.gz安装包。

cp ioapi-3.2.tar.gz ./subsys/ioapi/

cd ./subsys/ioapi

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 375

Page 399: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

tar -xvf ioapi-3.2.tar.gz

步骤9 执行以下命令创建“Makefile”文件。

cd $SMK_HOME/subsys/ioapi/ioapi

cp Makefile.nocpl Makefile

步骤10 执行以下命令修改“Makefile”文件。

1. vi Makefile

2. 按“i”进入编辑模式,修改以下内容。BASEDIR = ${SMK_HOME}/subsys/ioapiINSTDIR = ${BASEDIR}/${BIN}

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤11 执行以下命令修改“Makeinclude.Linux2_x86_64gfort”文件。

cp Makeinclude.Linux2_x86_64gfort Makeinclude.$BIN

1. vi Makeinclude.Linux2_x86_64gfort

2. 按“i”进入编辑模式,修改以下内容。MFLAGS = -ffast-math -funroll-loops -march=armv8-a

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤12 执行以下命令编译。

make

步骤13 执行以下命令进行软链接。

cd ../$BIN

ln -sf /path/to/NETCDF/lib/libnetcdf.so ./

ln -sf /path/to/NETCDF/lib/libnetcdff.so ./

步骤14 执行以下命令进入“m3tools”目录。

cd ../m3tools

步骤15 执行以下命令修改“Makefile”文件。

cp Makefile.nocpl Makefile

1. vi Makefile

2. 按“i”进入编辑模式,修改以下内容。BASEDIR = ${SMK_HOME}/subsys/ioapiINSTDIR = ${BASEDIR}/${BIN}

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤16 执行以下命令编译。

make

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 376

Page 400: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.12.6.2 安装 SMOKE

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入以下目录

cd $SMK_HOME/subsys/smoke/assigns/

步骤3 执行以下命令修改以下文件。

1. vi ASSIGNS.nctox.cmaq.cb05_soa.us12-nc2. 按“i”进入编辑模式,修改第25行内容。

setenv BIN Linux2_aarch64gfort

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤4 执行以下命令修改Makeinclude文件。

1. cd $SMK_HOME/subsys/smoke/src2. vi Makeinclude3. 按“i”进入编辑模式,修改以下内容。

INSTDIR = ${OBJDIR}/${BIN}#EFLAG = -extend-source 132 -zero EFLAG = -ffixed-line-length-132 -fno-backslashIOLIB = -L$(IOBIN) -lioapi -lnetcdff -lnetcdf -lnetcdff

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令修改“biog/normbeis361.f”文件。

1. vi biog/normbeis361.f2. 按“i”进入编辑模式,修改第161行内容,将IS_AG,IS_TAG两个函数类型由

“INTEGER”改为“LOGICAL”。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令修改“smkinven/rdinvsrcs.f”文件。

1. vi smkinven/ rdinvsrcs.f2. 按“i”进入编辑模式,修改第86行内容,将GETPID函数类型由“EXTERNAL”改

为“INTRINSIC”。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令修改“emutil/gentpro.f”文件。

1. vi emutil/gentpro.f2. 按“i”进入编辑模式,更改1663行和1695行代码。

1663 (( PROF_MON( S,NP )), NP = 1,12 )1695 ( ( PROF_DAY( S,NP ) ), NP = 1,31 )

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下命令创建目录。

mkdir ${SMK_HOME}/subsys/smoke/${BIN}

步骤9 执行以下命令运行编译。

source /path/to/SMOKE/subsys/smoke/assigns/ASSIGNS.nctox.cmaq.cb05_soa.us12-nc

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 377

Page 401: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

make

----结束

3.12.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令并行执行。

cd $SMK_HOME/subsys/smoke/script/run/

步骤3 执行以下命令测试各个脚本执行时间。

time./ 脚本名

例如:time./ smk_point_nctox.csh

测试结果样例如下:

图 3-15 测试结果样例

----结束

3.12.8 故障排除

问题一:运行 SMOKE 时报错

现象描述:

可能原因:

fitrxref.f:192代码空格位太长。

处理步骤:

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入“Makefileinclude”文件所在路径。

cd $SMK_HOME/subsys/smoke/src

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 378

Page 402: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令修改“Makefileinclude”文件。

1. vi Makefileinclude2. 按“i”进入编辑模式,修改以下内容。

EFLAG = -ffixed-line-length-132 -fno-backslash

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

----结束

3.12.9 更多资源

SMOKE官方安装指南:

https://www.cmascenter.org

3.13 SPECFEM3D GLOBE 7.0.0 移植指南(CentOS 7.6)

3.13.1 介绍

SPECFEM3D GLOBE模拟全局和区域(大陆规模)地震波传播。为综合地球模型(CEM)项目,基于通用点轮廓模型(PPM)和基于高斯-洛巴托-莱根特式(GLL)的模型提供了其他新的模型例程,以及用于对伴随灵敏度内核和基于梯度的模型进行后处理的补充工具。该软件的结构已简化,以简化新3D模型的实施。该代码可容纳常规力矩张量文件,并在SAC标头中提供完整的信息,如更新的用户手册中详细说明。循环向量化有助于减少每个频谱元素中执行的存储器访问总数并改善代码向量化,从而增强版本的数值性能。

关于SPECFEM3D GLOBE的更多信息请访问SPECFEM3D GLOBE官网。

语言:C/Fortran 。

一句话描述:SPECFEM3D GLOBE模拟全局和区域(大陆规模)地震波传播。

开源协议:GNU Public License。

建议的版本

建议使用版本为“SPECFEM3D GLOBE 7.0.0”。

3.13.2 环境要求

硬件要求

硬件要求如表3-63所示。

表 3-63 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 379

Page 403: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表3-64所示。

表 3-64 软件要求

项目 版本 下载地址

SPECFEM3DGLOBE

7.0.0 https://github.com/geodynamics/specfem3d_globe/archive/v7.0.0.tar.gz

操作系统要求

操作系统要求如表3-65所示。

表 3-65 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.13.3 移植规划数据本章节给出SPECFEM3D GLOBE软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-66 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/SPECFEM3D_GLOBE

SPECFEM3D GLOBE的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 380

Page 404: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.13.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-67 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

3.13.5 获取源码

操作步骤

步骤1 下载SPECFEM3D GLOBE安装包“v7.0.0.tar.gz”。

下载地址:https://github.com/geodynamics/specfem3d_globe/archive/v7.0.0.tar.gz。

步骤2 使用SFTP工具将SPECFEM3D GLOBE安装包上传至服务器“/path/to/SPECFEM3D_GLOBE”目录。

----结束

3.13.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建主程序安装目录。

mkdir -p /path/to/SPECFEM3D_GLOBE

步骤3 执行以下命令解压源码包并且进入源码目录。

cd /path/to/SPECFEM3D_GLOBE。

tar -xvf v7.0.0.tar.gz

cd specfem3d_globe-7.0.0

步骤4 执行以下命令加载环境变量

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 381

Page 405: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令开始生产配置文件。

./configure --enable-openmp FC=mpif90 MPIFC=mpif90 CC=mpiccMPICC=mpicc

步骤6 执行以下命令修改“Par_file”文件。

1. vi DATA/Par_file2. 按“i”进入编辑模式,修改文件第23和24行内容。

修改前:NPROC_XI = 2NPROC_ETA = 2

修改后:NPROC_XI = 8NPROC_ETA = 8

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令开始编译。

make -j

----结束

3.13.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入测试目录。

cd /path/to/SPECFEM3D_GLOBE/specfem3d_globe-7.0.0

步骤3 执行以下命令开始测试。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

mpirun --allow-run-as-root -np 64 --mca btl ^openib ./bin/xmeshfem3D

mpirun --allow-run-as-root -np 64 --mca btl ^openib ./bin/xspecfem3D

less OUTPUT_FILES/output_solver.txt

显示如下内容表示运行成功。

图 3-16 结果样例

----结束

3.14 CMAQ 5.3.1 移植指南(CentOS 7.6)

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 382

Page 406: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.14.1 介绍

CMAQ(Community Multiscale Air Quality,通用多尺度空气质量)模型,是美国环保局开发的第三代空气质量预报和评估系统(Models-3)的核心组成之一,是一套三维欧拉网格化的大气化学和传输模拟系统,能够模拟整个对流层的臭氧,酸沉降,能见度和细颗粒物。整个模式遵循“一个大气”理念,可以同时处理从局地到半球的不同空间尺度的多个复杂空气质量问题,作为一个有效的第三代空气质量模型与评价工具,能够支持从策略分析到大气科学研究的各类空气质量模拟应用。

关于CMAQ的更多信息请访问CMAQ官网。

语言:Fortran

一句话描述:一套三维欧拉网格化的大气化学和传输模拟系统。

建议的版本

建议使用版本为“CMAQ 5.3.1”。

3.14.2 环境要求

硬件要求

硬件要求如表3-68所示。

表 3-68 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-69所示。

表 3-69 软件要求

项目 版本 下载地址

CMAQ 5.3.1 https://codeload.github.com/USEPA/CMAQ/tar.gz/CMAQv5.3.1_19Dec2019

GNU 9.3.0 https://codeload.github.com/gcc-mirror/gcc/tar.gz/releases/gcc-9.3.0

HPCX 2.6 https://www.mellanox.com/page/hpcx_eula?mtag=hpc-x&mrequest=downloads&mtype=hpc&mver=hpc-x&mname=v2.6/hpcx-v2.6.0-gcc-OFED-4.17-redhat7.6-aarch64.tbz

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 383

Page 407: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

HDF5 1.10.1 https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/

PnetCDF 1.9.0 https://parallel-netcdf.github.io/wiki/Download.html

NetCDF-C 4.7.0 https://github.com/Unidata/netcdf-c/releases/tag/v4.7.0

NetCDF-fortran

4.4.5 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.5

OPTIMIZED-ROUTINES

V20.02 https://codeload.github.com/ARM-software/optimized-routines/tar.gz/v20.02

ioapi 3.2 https://codeload.github.com/cjcoats/ioapi-3.2/tar.gz/2020111

测试算例 2016_12SE1 https://dataverse.unc.edu/dataset.xhtml?persistentId=doi:10.15139/S3/IQVABD

操作系统要求

操作系统要求如表3-70所示。

表 3-70 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.14.3 移植规划数据

本章节给出CMAQ软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-71 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 384

Page 408: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径 用途 说明

3 /path/to/NETCDF NetCDF-C的安装规划路径。

网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。NetCDF-fortran的

安装规划路径。

4 /path/to/MATH OPTIMIZED-ROUTINES的安装规划路径。

5 /path/to/CMAQ CMAQ的安装规划路径。

3.14.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-72 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装HDF5 参考3.14.4.1 安装HDF5。

3 安装NetCDF-C 参考3.14.4.2 安装NetCDF-C。

4 安装NetCDF-fortran 参考3.14.4.3 安装NetCDF-fortran。

5. 安装OPTIMIZED-ROUTINES 参考3.14.4.4 安装OPTIMIZED-ROUTINES。

3.14.4.1 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -xvf hdf5-1.10.1.tar.gz

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 385

Page 409: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/HDF5 --build=aarch64-linux --enable-parallel --enable-shared --enable-fortran

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置HDF5的环境变量。

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

3.14.4.2 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压NetCDF-C安装包。

tar -zxvf netcdf-c-4.7.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-c-4.7.0

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --enable-fortran --disable-static --enable-shared --with-pic --enable-parallel-tests --enable-pnetcdf --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j

make install

步骤6 执行以下命令设置NetCDF-C的环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

----结束

3.14.4.3 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 386

Page 410: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压NetCDF-fortran安装包。

tar -zxvf netcdf-fortran-4.4.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.5

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/NETCDF --build=aarch64-linux --disable-static --enable-shared --enable-parallel-tests --enable-large-file-tests --enable-largefile

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

3.14.4.4 安装 OPTIMIZED-ROUTINES

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压OPTIMIZED-ROUTINES安装包。

tar -xvf optimized-routines-20.02.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd optimized-routines-20.02

步骤4 执行以下命令创建MATH目录。

mkdir -p /path/to/MATH

步骤5 执行以下命令复制配置文件。

cp config.mk.dist config.mk

步骤6 执行以下命令进行编译安装。

make -j16

步骤7 复制相关库文件。

cp -r ./build/* /path/to/MATH

步骤8 执行以下命令将MATH添加至环境变量中。

export PATH=/path/to/MATH/bin:$PATH

export LD_LIBRARY_PATH=/path/to/MATH/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 387

Page 411: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.14.5 获取源码

操作步骤

步骤1 下载CMAQ的依赖包“ioapi-3.2-2020111.tar.gz”。

下载地址:https://codeload.github.com/cjcoats/ioapi-3.2/tar.gz/2020111。

步骤2 下载CMAQ安装包“CMAQ-CMAQv5.3.1_19Dec2019.tar.gz”。

下载地址:https://codeload.github.com/USEPA/CMAQ/tar.gz/CMAQv5.3.1_19Dec2019。

步骤3 使用SFTP工具将CMAQ依赖包和安装包上传至服务器“/path/to/CMAQ”目录。

----结束

3.14.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入CMAQ目录。

cd /path/to/CMAQ

步骤3 执行以下命令解压并重命名ioapi。

tar -xvf ioapi-3.2-2020111.tar.gz

mv ioapi-3.2-2020111 ioapi-3.2

步骤4 执行以下命令复制配置文件。

cd ioapi-3.2

cp ioapi/Makeinclude.Linux2_ia64gfort ioapi/Makeinclude.Linux4_aarch64

步骤5 执行以下命令编辑配置文件。

1. 修改“Makeinclude.Linux4_aarch64”配置文件。

vim ioapi/Makeinclude.Linux4_aarch642. 按“i”进入编辑模式。

修改编译器选项:CC = mpiccCXX = mpicxxFC = mpifort

注释FSFLAGS关键字对应的行,如:#FSFLAGS = -save

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令配置复制Makefile及配置HOME。

cp ioapi/Makefile.nocpl ioapi/Makefile

export HOME=/path/to/CMAQ

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 388

Page 412: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤7 执行以下命令复制配置文件。

cp m3tools/Makefile.nocpl m3tools/Makefile

步骤8 执行以下命令编辑配置文件。

1. 修改“Makefile”配置文件。

vim m3tools/Makefile2. 按“i”进入编辑模式,修改如下内容:

LIBS = -L${OBJDIR} -lioapi -L/path/to/NETCDF/lib -lnetcdff –lnetcdf -L/path/to /HDF5/lib -lhdf5_hl -lhdf5 -lz $(OMPLIBS) $(ARCHLIB) $(ARCHLIBS)

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤9 执行以下命令复制配置文件。

cp Makefile.template Makefile

步骤10 执行以下命令编辑配置文件。

1. 执行以下命令编辑配置文件。

vim Makefile2. 按“i”进入编辑模式。

修改如下内容并取消注释:BIN = Linux4_aarch64BASEDIR = ${PWD}INSTALL = ${HOME}LIBINST = $(INSTALL)/$(BIN)BININST = $(INSTALL)/$(BIN)CPLMODE = nocplIOAPIDEFS = "-DIOAPI_NCF4"

修改NCFLIBS项:NCFLIBS = -L/path/to/NETCDF/lib -lnetcdff -lnetcdf -L/path/to/HDF5/lib -lhdf5_hl -lhdf5 -lz

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤11 执行以下命令编译ioapi。

make BIN=Linux4_aarch64

步骤12 执行以下命令修改“STATE3.EXT”文件。

1. 执行以下命令修改“STATE3.EXT”文件。

vim ioapi/STATE3.EXT2. 按“i”进入编辑模式,删除STATE3.EXT文件中末尾若干行的行尾“&”符号,如

下图红框内部分:

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 389

Page 413: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤13 执行以下命令解压并进入该目录。

tar -xvf CMAQ-CMAQv5.3.1_19Dec2019.tar.gz

cd CMAQ-CMAQv5.3.1_19Dec2019

步骤14 执行以下命令编辑配置文件。

1. 执行以下命令编辑配置文件。

vim bldit_project.csh2. 按“i”进入编辑模式,修改如下内容:

set CMAQ_HOME = /path/to/CMAQ/CMAQ_Project

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤15 执行以下命令创建初始化所需文件。

./bldit_project.csh

步骤16 执行以下命令进入工作目录。

cd ../CMAQ_Project/

步骤17 执行以下命令编辑配置文件。

1. 执行以下命令编辑配置文件。

vim config_cmaq.csh2. 按“i”进入编辑模式。

在“case gcc”段落区域修改依赖库等的路径信息,如:setenv IOAPI_MOD_DIR /path/to/CMAQ/ioapi-3.2/Linux4_aarch64/setenv IOAPI_INCL_DIR /path/to/CMAQ/ioapi-3.2/ioapi/setenv IOAPI_LIB_DIR /path/to/CMAQ/ioapi-3.2/Linux4_aarch64/setenv NETCDF_LIB_DIR /path/to/NETCDF/lib/setenv NETCDF_INCL_DIR /path/to/NETCDF/include/setenv MPI_LIB_DIR /path/to/OPENMPI/

修改编译器相关参数,如:setenv myCC mpiccsetenv myLINK_FLAG "-fopenmp"setenv mpi_lib "-lmpi"

为“netcdf_lib”变量添加openmp属性,如:setenv netcdf_lib "-lnetcdf -lnetcdff -lgomp" #> -lnetcdff -lnetcdf for netCDF v4.2.0 and later

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤18 执行以下命令链接各种依赖库。

./config_cmaq.csh gcc 9.3.0

步骤19 依次执行以下命令,进入编译目录,并编译主程序。

cd CCTM/scripts/

./bldit_cctm.csh gcc 9.3.0

编译完成后,会在“BLD_CCTM_v531_gcc9.3.0”目录下生成CMAQ的可执行程序“CCTM_v531.exe”。

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 390

Page 414: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.14.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压算例文件。

tar -xvf CMAQv5.3.1_Benchmark_2Day_Input.tar.gz -C /path/to/CMAQ/CMAQ_Project/data

步骤3 执行以下命令进入测试目录。

cd /path/to/CMAQ/CMAQ_Project/CCTM/scripts

步骤4 执行以下命令配置运行脚本。

1. 执行以下命令配置运行脚本。

vim run_cctm_Bench_2016_12SE1.csh2. 按“i”进入编辑模式。

修改“compiler”变量值为“gcc”,“compilerVrsn”为“9.3.0”,如:setenv compiler gccsetenv compilerVrsn 9.3.0

修改“NPCOL”和“NPROW”变量值,其值的乘积与并行核心数相等,如:@ NPCOL = 12; @ NPROW = 8

修改INPDIR的路径,如:setenv INPDIR /path/to/CMAQ/CMAQ_Project/data/CMAQv5.3.1_Benchmark_2Day_Input/2016_12SE1

修改OpenMPI运行参数,如:/usr/bin/time -p mpirun -np $NPROCS -x LD_PRELOAD=/path/to/MATH/lib/libmathlib.so --allow-run-as-root --mca btl ^openib $BLD/$EXEC

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令执行测试。

csh -x /path/to/CMAQ/CMAQ_Project/CCTM/scripts/run_cctm_Bench_2016_12SE1.csh 2>&1 | tee -a /path/to/CMAQ/CMAQ_Project/CCTM/scripts/csh.log

步骤6 需要查看“csh.log”日志中的“Total Time”数值,单位是“s”,数值越少性能越优。

输出的结果样例如图3-17所示。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 391

Page 415: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 3-17 结果样例

----结束

3.14.8 故障排除

问题一:编译 CMAQ 时报错

现象描述:

编译CMAQ时报错,报错信息为:Error:Syntax in COMMON statement at (1)STATE3.EXT:174:27:

可能原因:

数据格式错误。

处理步骤:

请参考步骤12,修改“STATE3.EXT”文件。

3.14.9 更多资源CMAQ编译和测试指南:

https://www.huaweicloud.com/kunpeng/software/cmaq.html

3.15 SWAN 41.31 移植指南(CentOS 7.6)

3.15.1 介绍SWAN是第三代波浪模型,用于根据给定的风,谷底和当前条件获得沿海地区,湖泊和河口的波浪参数的实际估计。SWAN可以在与风产生的表面重力波相关的任何规模下使用。该模型基于带有源和汇的波动作用平衡方程。

关于SWAN的更多信息请访问SWAN官网。

语言:Fortran

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 392

Page 416: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

一句话描述:波浪模型。

建议的版本

建议使用版本为“SWAN 41.31”。

3.15.2 环境要求

硬件要求

硬件要求如表3-73所示。

表 3-73 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表3-74所示。

表 3-74 软件要求

项目 版本 下载地址

GNU 9.1.0 https://ftp.gnu.org/gnu/gcc/gcc-9.1.0/

GMP 6.1.0 http://gcc.gnu.org/pub/gcc/infrastructure/

MPC 3.1.4 http://gcc.gnu.org/pub/gcc/infrastructure/

MPFR 1.0.3 http://gcc.gnu.org/pub/gcc/infrastructure/

OPENMPI 4.0.1 https://www.open-mpi.org/software/ompi/v4.0/

HDF5 1.10.5 https://portal.hdfgroup.org/display/support/HDF5+1.10.5#files

PnetCDF 1.11.2 http://cucis.ece.northwestern.edu/projects/PnetCDF/Release/pnetcdf-1.11.2.tar.gz

NetCDF-C 4.7.0 https://github.com/Unidata/netcdf-c/releases/tag/v4.7.0

NetCDF-fortran

4.4.5 https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.5

SWAN 41.31 http://swanmodel.sourceforge.net/download/zip/swan4131.tar.gz

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 393

Page 417: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

项目 版本 下载地址

测试算例( refrac.tar.gz)

- http://swanmodel.sourceforge.net/download/zip/refrac.tar.gz

操作系统要求

操作系统要求如表3-75所示。

表 3-75 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

3.15.3 移植规划数据本章节给出SWAN软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 3-76 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/PNETCDF

PnetCDF的安装规划路径。

4 /path/to/NETCDF

NetCDF-C的安装规划路径。

NetCDF-fortran的安装规划路径。

5 /path/to/SWAN

SWAN的安装规划路径。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 394

Page 418: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.15.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 3-77 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装HDF5 参考3.15.4.1 安装HDF5。

3 安装PnetCDF 参考3.15.4.2 安装PnetCDF。

4 安装NetCDF-C 参考3.15.4.3 安装NetCDF-C。

5 安装NetCDF-fortran 参考3.15.4.4 安装NetCDF-fortran。

3.15.4.1 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令加载编译器和OpenMPI。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤3 执行以下命令解压HDF5安装包。

tar zxvf hdf5-1.10.5.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd hdf5-1.10.1

步骤5 执行以下命令进行配置。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

./configure --prefix=$HDF5 --enable-fortran --enable-static=yes --enable-parallel --enable-shared CC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 395

Page 419: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤6 执行以下命令进行编译安装。

make -j 16

make install

步骤7 执行以下命令加载环境变量。

export PATH=/path/to/HDF5/bin:$PATH

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

3.15.4.2 安装 PnetCDF

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令加载编译器和OpenMPI,若已执行过加载命令可忽略该步骤。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤3 执行以下命令解压PnetCDF安装包。

tar zxvf pnetcdf-1.11.2.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd pnetcdf-1.11.2

步骤5 执行以下命令进行配置。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

./configure --prefix=$PNETCDF CFLAGS="-fPIC -DPIC" CXXFLAGS="-fPIC -DPIC" FCFLAGS="-fPIC" FFLAGS="-fPIC" CC=$MPICC CXX=$MPICXX FC=$MPIFCF77=$MPIFC

步骤6 执行以下命令进行编译安装。

make -j 16

make install

步骤7 执行以下命令加载环境变量。

export PATH=/path/to/PNETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/PNETCDF/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 396

Page 420: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.15.4.3 安装 NetCDF-C

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装依赖软件。

yum install curl libcurl libcurl-devel -y

步骤3 执行以下命令加载编译器和OpenMPI,若已执行过加载命令可忽略该步骤。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤4 执行以下命令解压NetCDF-C安装包。

tar zxvf netcdf-c-4.7.0.tar.gz

yum install curl.aarch64 libcurl.aarch64 libcurl-devel.aarch64 -y

步骤5 执行以下命令进入解压后的目录。

cd netcdf-c-4.7.0

步骤6 执行以下命令进行配置。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

./configure --prefix=$NETCDF --enable-shared --enable-netcdf-4 --enable-dap--with-pic --disable-doxygen --enable-static --enable-pnetcdf --enable-largefile CPPFLAGS=" -I${HDF5}/include -I${PNETCDF}/include" LDFLAGS=" -L${HDF5}/lib -L${PNETCDF}/lib -Wl,-rpath=${HDF5}/lib -Wl,-rpath=${PNETCDF}/lib " CFLAGS=" -L${HDF5}/lib -L${PNETCDF}/lib -I${HDF5}/include-I${PNETCDF}/include " CC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

步骤7 执行以下命令进行编译安装。

make -j 16

make install

步骤8 执行以下命令加载环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 397

Page 421: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

3.15.4.4 安装 NetCDF-fortran

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令加载编译器和OpenMPI,若已执行过加载命令可忽略该步骤。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤3 执行以下命令解压NetCDF-fortran安装包。

tar zxvf netcdf-fortran-4.4.5.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd netcdf-fortran-4.4.5

步骤5 执行以下命令进行配置。

export MPICC=mpicc

export MPICXX=mpicxx

export MPIFC=mpifort

./configure --prefix=$NETCDF --enable-shared --with-pic --disable-doxygen --enable-largefile --enable-static CPPFLAGS=" -I${HDF5}/include -I${NETCDF}/include" LDFLAGS=" -L${HDF5}/lib -L${NETCDF}/lib -Wl,-rpath=${HDF5}/lib -Wl,-rpath=${NETCDF}/lib" CFLAGS="-L${HDF5}/lib -L${NETCDF}/lib -I${HDF5}/include -I${NETCDF}/include" CXXFLAGS=" -L${HDF5}/lib -L${NETCDF}/lib -I${HDF5}/include -I${NETCDF}/include" FCFLAGS=" -L${HDF5}/lib -L${NETCDF}/lib -I${HDF5}/include -I${NETCDF}/include" CC=$MPICC CXX=$MPICXX FC=$MPIFC F77=$MPIFC

步骤6 执行以下命令进行编译安装。

make -j 16

make install

步骤7 执行以下命令加载环境变量。

export PATH=/path/to/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/path/to/NETCDF/lib:$LD_LIBRARY_PATH

----结束

3.15.5 获取源码

操作步骤

步骤1 下载SWAN安装包“swan4131.tar.gz”。

下载地址:http://swanmodel.sourceforge.net/download/zip/refrac.tar.gz。

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 398

Page 422: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 使用SFTP工具将SWAN安装包上传至服务器“/path/to/SWAN”目录。

----结束

3.15.6 编译和安装

操作步骤

步骤1 执行以下命令进入安装目录并解压软件包。

cd /path/to/SWAN

tar -zxvf swan4131.tar.gz

cd swan4131

步骤2 执行以下命令修改“platform.pl”文件。

1. 执行以下命令打开“platform.pl”文件。

vim platform.pl2. 按“i”进入编辑模式,将第788行修改为$compiler = "gfortran";

782 sub getcmpl {783784 my $compiler = $ENV{'FC'};785786 unless ( $compiler ) {787 foreach ('ifort','gfortran','f90','ifc','efc','pgf90','xlf90', 'lf95','g95') {788 $compiler = "gfortran";789 my $path = `which $compiler`;790 last if $path;791 }792 }793794 return $compiler;795 }

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤3 执行以下命令生成配置文件。

make config

步骤4 执行以下命令加载环境变量。

export NETCDFROOT=/path/to/NETCDF

步骤5 执行以下命令生成“swan.exe”可执行文件。

make mpi

----结束

3.15.7 运行验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建算例目录并将算例上传到该目录。

mkdir -p /path/to/SWAN/swan-testcse

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 399

Page 423: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cd /path/to/SWAN/swan-testcse

tar -zxvf refrac.tar.gz

步骤3 执行以下命令进入该目录并创建一个软连接。

cd refract

ln -s /path/to/SWAN/swan4131/swan.exe ./

步骤4 执行以下命令运行算例。

cp a11refr.swn INPUT

time mpirun --allow-run-as-root -np 40 ./swan.exe

输出的CPU运行时间结果样例如图3-18所示。

图 3-18 结果样例

----结束

3.15.8 更多资源

维基百科:

https://www.myroms.org/wiki/Getting_Started

HPC 解决方案移植指南 3 气象

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 400

Page 424: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4 制造

4.1 OpenFOAM 1906 移植指南(CentOS 7.6)

4.2 SU2 移植指南(CentOS 7.6)

4.3 PALABOS 2.1r0 移植指南(CentOS 7.6)

4.4 deal.II 9.1.1 移植指南(CentOS 7.6)

4.5 AMG 1.2 移植指南(CentOS 7.6)

4.6 Code_Saturne 6.0.2 移植指南(CentOS 7.6)

4.7 FDS 6.7.4 移植指南(CentOS 7.6)

4.8 Elmer 8.4 移植指南(CentOS 7.6)

4.1 OpenFOAM 1906 移植指南(CentOS 7.6)

4.1.1 介绍OpenFOAM(Open Source Field Operation and Manipulation,意为开源的场运算和处理软件)是ESI集团下属的OpenCFD公司开发的一款物理场计算软件。该软件能够进行流体、传热、分子动力学、电磁流体、固体应力的解析,能够实现从网格划分到后处理的可视化流程。它可进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域。

OpenFoam安装包https://openfoam.org/有两个版本:

1. OpenFOAM-dev:OpenFOAM的当前开发源码包,包含OpenFOAM的下一个主要版本的源代码。

2. OpenFOAM-7: Linux发行版上的编译源代码,包括所有 新的bug修复。可变动数字指当前主要版本号,即 新版本为当前的OpenFOAM-7。

关于OpenFOAM的更多信息请访问OpenFOAM官网。

语言:C++

一句话描述:分布式内存对象缓存系统。

开源协议:GNU通用公共许可证。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 401

Page 425: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

建议的版本

建议使用版本为“OpenFOAM-v1906”。

4.1.2 环境要求

硬件要求

硬件要求如表1所示。

表 4-1 硬件要求

项目 说明

CPU Kunpeng 920

网络 1*GE以太网口

计算网络 1*单口EDR/HDR IB网卡

操作系统要求

操作系统要求如表2所示。

表 4-2 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0 包含在操作系统镜像中。

4.1.3 移植规划数据本章节给出OpenFOAM软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 4-3 移植规划数据

序号

软件安装规划路径

用途 说明

1 /path/to/GNU GNU9.1的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

2 /path/to/OPENMPI

OpenMPI 4.0.1的安装规划路径。

3 /path/to/OPENFOAM

OpenFOAM-v1906的规划安装路径。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 402

Page 426: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.1.4 配置编译环境

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装系统依赖包。

yum groupinstall -y 'Development Tools'

yum install -y clustershell

yum install -y zlib-devel texinfo gstreamer-plugins-base-devel libXext-devellibGLU-devel libXt-devel libXrender-devel libXinerama-devel libpng-devellibXrandr-devel libXi-devel libXft-devel libjpeg-turbo-devel libXcursor-develreadline-devel ncurses-devel mpfr-devel gmp-devel libmpc*

步骤3 GNU安装及环境变量配置。

请参考《GNU9.1 安装指南》安装GNU9.1编译器。

步骤4 执行以下命令加载环境中已安装的GNU9.1的环境变量。

export PATH=/path/to/GNU/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:$LD_LIBRARY_PATH

说明

此处“/path/to/GNU”的说明请参考表4-3。

步骤5 执行以下命令安装OpenMPI 4.0.1。

yum install libxml2* systemd-devel.aarch64 numa* -y

tar -xvf openmpi-4.0.1.tar.gz

cd openmpi-4.0.1

mkdir -p /path/to/OPENMPI

./configure --prefix=/path/to/OPENMPI --enable-pretty-print-stacktrace --enable-orterun-prefix-by-default --with-knem=/opt/knem-1.1.3.90mlnx1/ --with-hcoll=/opt/mellanox/hcoll/ --with-cma --with-ucx --enable-mpi1-compatibility

make -j 16

make install

说明

此处“/path/to/OPENMPI”的说明请参考表4-3。

步骤6 执行以下命令加载OpenMPI环境变量。

export PATH=/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 403

Page 427: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.1.5 获取源码

步骤1 下载OpenFOAM安装源码“OpenFOAM-v1906.tgz”以及辅助第三方软件安装包“ThirdParty-v1906.tgz”。

下载地址:

https://sourceforge.net/projects/openfoam/files/v1906/OpenFOAM-v1906.tgz

https://sourceforge.net/projects/openfoam/files/v1906/ThirdParty-v1906.tgz

步骤2 使用sftp工具将OpenFOAM源码包和辅助第三方软件安装包复制至服务器/path/to/OPENFOAM目录。

说明

此处“/path/to/OPENFOAM”的说明请参考表4-3。

----结束

4.1.6 编译和安装

步骤1 继续在PuTTY工具中执行以下命令解压OpenFOAM源码包及辅助第三方软件安装包。

tar zxvf OpenFOAM-v1906.tgz

tar zxvf ThirdParty-v1906.tgz

步骤2 执行以下命令修改OpenFOAM安装参数文件。

vi /path/to/OPENFOAM/OpenFOAM-v1906/etc/bashrc

说明

此处“/path/to/OPENFOAM”的说明请参考表4-3。

步骤3 修改OpenFOAM安装参数文件中编译器、MPI设置。export WM_COMPILER_TYPE=systemexport WM_COMPILER=Gccexport WM_MPLIB=SYSTEMOPENMPI

本文中三项参数表示在安装过程中使用系统GNU编译器以及系统已安装的OpenMPI进行编译安装。

步骤4 执行以下命令修改编译参数。

sed -i 's/\-O3/\-O3 \-mtune=tsv110 \-flto/g' /path/to/OPENFOAM/OpenFOAM-v1906/wmake/rules/linux64Gcc/c++Opt

sed -i 's/\-O3/\-O3 \-mtune=tsv110 \-flto/g' /path/to/OPENFOAM/OpenFOAM-v1906/wmake/rules/linux64Gcc/cOpt

步骤5 执行以下命令使OpenFOAM配置文件bashrc生效。

source /path/to/OPENFOAM/OpenFOAM-v1906/etc/bashrc

步骤6 执行以下命令进行编译安装。

cd /path/to/OPENFOAM/OpenFOAM-v1906/

./Allwmake -j 16 -s -k -q

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 404

Page 428: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

● -j使用全部核进行编译,也可指定核数,如-j 8;

● -s不输出log信息;

● -k忽略编译过程中错误;

● -q通过收集子目录进行调度编译,加快编译速度。

步骤7 执行以下命令确认安装完整或查看不完整安装的错误信息。

./Allwmake

----结束

4.1.7 运行和验证步骤1 继续在PuTTY工具中执行以下命令加载环境变量。

export PATH=/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤2 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

说明

● node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

● 该步骤在多节点运行时为必须执行,单节点可跳过。

步骤3 执行以下命令加载OpenFOAM应用程序。

Node_list=$(cat /path/to/HOSTFILE | xargs | tr ' ' ',')

clush -w ${Node_list} "cp /root/.bashrc /root/.bashrc_bak;echo source /path/to/OPENFOAM/OpenFOAM-v1906/etc/bashrc >> /root/.bashrc"

步骤4 在计算环境中任意位置复制算例文件。

cp -r $FOAM_TUTORIALS/incompressible/pisoFoam/LES/motorBike/motorBike ./

步骤5 修改RunFunctions文件。

vi /path/to/OPENFOAM/OpenFOAM-v1906/bin/tools/RunFunctions

● 多节点运行时修改如下:

在mpirun命令后面加上“--allow-run-as-root -x PATH -x LD_LIBRARY_PATH --hostfile /path/to/HOSTFILE”后保存退出。

修改前:$mpirun -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1

修改后:$mpirun --allow-run-as-root -x PATH -x LD_LIBRARY_PATH --hostfile /path/to/HOSTFILE -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1

● 单节点修改如下:

在mpirun命令后面加上“--allow-run-as-root”后保存退出。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 405

Page 429: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

修改前:$mpirun -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1

修改后:$mpirun --allow-run-as-root -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1

步骤6 执行以下命令修改配置文件:

sed -ri "s/8/192/" motorbike/ system/{decomposeParDict,decomposeParDict.hierarchical,decomposeParDict.ptscotch}

sed -ri "s/\(4 2 1\)/\(24 4 2\)/" motorbike/system/{decomposeParDict,decomposeParDict.hierarchical,decomposeParDict.ptscotch}

说明

该步骤在多节点运行时为必须,单节点可省略。

此处以两个节点为例,每个节点96个任务并行,96*2=192,24*4*2=192。

步骤7 进入算例文件夹执行计算脚本。

cd motorbike

./Allrun

步骤8 计算过程中屏幕打印信息如下:Running surfaceFeatureExtract on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Running blockMesh on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Running decomposePar on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Running snappyHexMesh (6 processes) on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Restore 0/ from 0.orig/ for processor directories Running patchSummary (6 processes) on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Running potentialFoam (6 processes) on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Running checkMesh (6 processes) on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Running simpleFoam (6 processes) on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Running reconstructParMesh on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike Running reconstructPar on /storage/softwares/TaiShan/openfoam/OpenFOAM-v1906-gnu9/OpenFOAM-v1906/tutorials/incompressible/simpleFoam/motorBike

步骤9 计算结束正常退出后,生成计算日志文件,执行vi log.simpleFoam打开log.simpleFoam。forceCoeffs forceCoeffs1 execute: Coefficients Cd : 0.413353 (pressure: 0.398578 viscous: 0.0147753) Cs : 0.0100002 (pressure: 0.00999416 viscous: 6.01357e-06) Cl : 0.0683827 (pressure: 0.0683764 viscous: 6.2544e-06) CmRoll : -0.0101679 (pressure: -0.0102318 viscous: 6.39234e-05) CmPitch : 0.15315 (pressure: 0.146948 viscous: 0.00620151) CmYaw : 0.0118663 (pressure: 0.0120074 viscous: -0.000141087) Cd(f) : 0.196509 Cd(r) : 0.216844 Cs(f) : 0.0168664 Cs(r) : -0.00686619

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 406

Page 430: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

Cl(f) : 0.187341 Cl(r) : -0.118959 ensightWrite ensightWrite write: ( k omega p U ) End Finalising parallel run

步骤10 执行以下命令还原“.bashrc”文件

clush -w ${Node_list} "cp /root/.bashrc_bak /root/.bashrc"

----结束

4.1.8 故障排除

问题一:编译过程中提示“.fatal error: boost/config/compiler/gcc.hpp: No suchfile or directory”

现象描述:

在运行Allwmake编译CGAL时编译失败,提示“.fatal error: boost/config/compiler/gcc.hpp: No such file or directory”。

可能原因:

安装过程中因为环境变量或者cmake安装失败导致的CGAL安装失败。如果OpenFOAM某一模块在安装过程中报错,只需单独重复安装出错模块即可。

处理步骤:

步骤1 删除已安装的执行文件及路径。

rm -rf /path/to/OPENFOAM/OpenFOAM-v1906/platform/arch/boost_1_64_0

步骤2 运行Thirdparty-v1906中独立安装脚本。

cd /path/to/OPENFOAM/Thirdparty-v1906

./makeCGAL

----结束

问题二:编译过程中提示“*esmump.h* No such file or directory”

现象描述:

在运行Allwmake编译SCOTCH时编译失败,提示“*esmump.h* No such file ordirectory”。

可能原因:

脚本运行中出现错误,导致esmump没有安装成功。

处理步骤:

步骤1 进入scotch目录,手动编译esmumps。

cd /path/to/OPENFOAM/ThirdParty-v1906/scotch_6.0.6/src

make esmumps

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 407

Page 431: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 重复运行Allwmake脚本继续编译安装。

foam

./Allwmake -j

----结束

问题三:编译过程中提示“cannot stat `../bin/d[agm]*'”现象描述:

在运行Allwmake编译SCOTCH时编译失败,提示:

“cp: cannot stat `../bin/d[agm]*': No such file or directory

make: [install] Error 1 (ignored)”

可能原因:

并非是d[agm]造成的,一般出现在重复运行安装程序时,scotch文件夹没有被清理,可以在scotch源码路径内运行make distclean后再手动安装scotch程序。

处理步骤:

步骤1 删除安装失败的文件路径。

说明

linuxARM64GccDPInt32是根据安装环境的架构及使用的编译器进行命名的,需要在具体安装过程中确认路径名称。

rm -rf /path/to/OPENFOAM/ThirdParty-v1906/platforms/linuxARM64GccDPInt32/scotch_6.0.6/

步骤2 进入scotch源码内手动编译安装。

说明

手动安装scotch需要将安装路径设置为对前面删除的安装路径。

make scotch

make esmumps

make ptscotch

make prefix=/path/to/OPENFOAM/ThirdParty-v1906/platforms/linuxARM64GccDPInt32/scotch_6.0.6/ install

步骤3 再次执行Allwmake脚本继续编译安装。

foam

./Allwmake -j

----结束

问题四:运行算例时不能正常结束“ls: cannot access processor*: No such file ordirectory”

现象描述:

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 408

Page 432: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

算例运行一般需要几分钟,如果在一分钟内结束需要查看日志文件确认计算是否正常运行。如果日志文件中出现错误信息:“mpirun has detected an attempt to run asroot.”。

可能原因:

使用root账户运行mpirun需要增加参数。

处理步骤:

步骤1 执行vi /path/to/OPENFOAM/OpenFOAM-v1906/bin/tools/RunFunctions。

步骤2 在mpirun命令后增加--allow-run-as-root保存退出后重新运行算例:

./Allclean

./Allrun

----结束

4.2 SU2 移植指南(CentOS 7.6)

4.2.1 介绍

SU2是美国斯坦福大学航空航天学院开发的高精度偏微分方程求解器,与NASA的CFL3D不同,它是一款非结构网格求解器,并且是基于C++开发的(这和OpenFOAM类似)。它不仅开展串行计算,还可以进行并行计算。同时具备了变形网格(即动网格)功能和网格自适应功能等。为提高计算效率,该代码采用多重网格来加速收敛。

SU2具有多种空间离散格式和多个通量限制器,可进行从低速不可压流动到高超声速的计算,甚至还可开展诸如多物理场模拟、多组分流动模拟、燃烧模拟、气动噪声模拟、两相流模拟、磁流体模拟、等离子体流动模拟以及优化等。

关于SU2的更多信息请访问SU2官网。

语言:C++

一句话描述:高精度偏微分方程求解器。

开源协议:GPL 2.1

4.2.2 环境要求

硬件要求

硬件要求如表4-4所示。

表 4-4 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 409

Page 433: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表4-5所示。

表 4-5 软件要求

项目 版本 下载地址

SU2 6.0.1 https://su2code.github.io/

7.0.4 https://github.com/su2code/SU2/archive/v7.0.4.tar.gz

HDF5(可选)

1.10.5 https://www.hdfgroup.org/downloads/hdf5/source-code/

测试算例 Inviscid_Bump https://github.com/su2code/su2code.github.io

操作系统要求

操作系统要求如表4-6所示。

表 4-6 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

4.2.3 移植规划数据本章节给出SU2软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 4-7 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HDF5 HDF5的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/SU2 SU2的安装规划路径。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 410

Page 434: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

4 /path/to/CASE SU2的测试算例存放规划路径。

4.2.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 4-8 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装HDF5 参考4.2.4.1 安装HDF5。

4.2.4.1 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar zxvf hdf5-1.10.5.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.5

步骤4 执行以下命令进行配置。

CC=mpicc ./configure --prefix=/path/to/HDF5/ --enable-parallel

步骤5 执行以下命令进行编译安装。

make -j 16

make install

步骤6 执行以下命令设置编译环境。

export HDF5_ROOT=/path/to/HDF5/

----结束

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 411

Page 435: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.2.5 SU2 6.0.1 移植指南(CentOS 7.6)

4.2.5.1 获取源码

操作步骤

步骤1 下载SU2安装包“SU2-6.0.1.tar.gz”。

下载地址:https://su2code.github.io/。

步骤2 使用SFTP工具将SU2安装包上传至服务器“/path/to/SU2”目录。

----结束

4.2.5.2 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装依赖包。

yum install numpy.aarch64 -y

步骤3 执行以下命令解压SU2安装包。

tar zxvf SU2-6.0.1.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd SU2-6.0.1

步骤5 执行以下命令运行bootstrap脚本。

./bootstrap

步骤6 执行以下命令进入SU2的安装目录。

cd /path/to/SU2/

步骤7 执行以下命令进行配置。

SU2-6.0.1/configure --prefix=/path/to/SU2/ CXXFLAGS="-O3 -std=c++11 -march=armv8.2-a -mtune=tsv110" --enable-mpi --with-cc=mpicc --with-cxx=mpicxx --with-HDF5-lib=/path/to/HDF5/lib --with-HDF5-include=/path/to/HDF5/include

步骤8 执行以下命令进行安装编译。

make -j 32

make install

步骤9 执行以下命令添加环境变量。

export SU2_RUN=/path/to/SU2/bin

export SU2_HOME=/path/to/SU2

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 412

Page 436: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export PATH=$PATH:$SU2_RUN

export PYTHONPATH=$PYTHONPATH:$SU2_RUN

----结束

4.2.6 SU2 7.0.4 移植指南(CentOS 7.6)

4.2.6.1 获取源码

操作步骤

步骤1 下载SU2安装包“SU2-7.0.4.tar.gz”。

下载地址:https://github.com/su2code/SU2/archive/v7.0.4.tar.gz。

步骤2 使用SFTP工具将SU2安装包上传至服务器“/path/to/SU2”目录。

----结束

4.2.6.2 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装依赖包。

yum install numpy.aarch64 -y

步骤3 执行以下命令解压SU2安装包。

tar zxvf SU2-7.0.4.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd SU2-7.0.4

步骤5 执行以下命令运行bootstrap脚本。

./bootstrap

步骤6 执行以下命令进入SU2的安装目录。

mkdir ../SU2-7.0.4-gnu-9.3.build

cd ../SU2-7.0.4-gnu-9.3.build

步骤7 执行以下命令进行配置。

../SU2-7.0.4/configure --prefix=/path/to/SU2/ CXXFLAGS="-O3 -std=c++11 -march=armv8.2-a -mtune=tsv110" --enable-mpi --with-cc=mpicc --with-cxx=mpicxx

步骤8 执行以下命令进行安装编译。

make -j 32

make install

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 413

Page 437: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤9 执行以下命令添加环境变量。

export SU2_RUN=/path/to/SU2/bin

export SU2_HOME=/path/to/SU2

export PATH=$PATH:$SU2_RUN

export PYTHONPATH=$PYTHONPATH:$SU2_RUN

----结束

4.2.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 下载测试算例包“su2code.github.io-master.zip”。

须知

SU2 6.X.X 版本与 7.X.X版本用例配置文件参数改动较大,需要在对应源码包中获取相应版本算例配置文件。

步骤3 使用SFTP工具将SU2测试算例包上传至服务器“/path/to/CASE”目录。

步骤4 执行以下命令解压算例包。

unzip su2code.github.io-master.zip

步骤5 执行以下命令进入解压算例包。

cd su2code.github.io-master

步骤6 执行以下命令创建testcase文件夹。

mkdir testcase

步骤7 执行以下命令复制“testcase”文件夹重命名为“Inviscid_Bump”。

cd testcase

cp -rf /path/to/CASE/su2code.github.io-master/testcase /Inviscid_Bump

步骤8 执行以下命令进入Inviscid_Bump算例包中。

cd ../Inviscid_Bump

步骤9 执行以下命令运行SU2。

mpirun --allow-run-as-root -np 16 SU2_CFD inv_channel.cfg

输出的结果示例如下所示。

----------------------- Residual Evolution Summary ----------------------log10[Maximum residual]: -7.391.Maximum residual point 511, located at (3, 0.003).------------------------------------------------------------------------- Iter Time(s) Res[Rho] Res[RhoE] CL(Total) CD(Total)

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 414

Page 438: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

600 0.087015 -9.260167 -3.862403 0.000291 0.000007 601 0.087013 -9.271532 -3.873152 0.000291 0.000007 602 0.087011 -9.282237 -3.883903 0.000291 0.000007 603 0.087010 -9.293729 -3.894743 0.000291 0.000007 604 0.087008 -9.305008 -3.905581 0.000291 0.000007 605 0.087006 -9.316490 -3.916410 0.000291 0.000007 606 0.087006 -9.327466 -3.927381 0.000291 0.000007 607 0.087004 -9.338974 -3.938270 0.000291 0.000007 608 0.087002 -9.350370 -3.949267 0.000291 0.000007 609 0.087000 -9.361588 -3.960211 0.000291 0.000007 610 0.086998 -9.373061 -3.971327 0.000291 0.000007 611 0.086997 -9.384581 -3.982358 0.000291 0.000007-------------------------- File Output Summary --------------------------Writing comma-separated values (CSV) surface files.Loading solution output data locally on each rank.Sorting output data across all ranks.Writing binary SU2 native restart file.-------------------------------------------------------------------------------------------------- Solver Postprocessing -------------------------Deleted CNumerics container.Deleted CIntegration container.Deleted CSolver container.Deleted CIteration container.Deleted CInterpolator container.Deleted CTransfer container.Deleted CGeometry container.Deleted CFreeFormDefBox class.Deleted CSurfaceMovement class.Deleted CVolumetricMovement class.Deleted CConfig container.Deleted COutput class.-------------------------------------------------------------------------Completed in 53.260358 seconds on 16 cores.------------------------- Exit Success (SU2_CFD) ------------------------

----结束

4.2.8 故障排除

问题一:编译 SU2 6.0.1 时报错

现象描述:

编译SU2时报错,报错信息为“error: ‘VALID_REF’ was not declared in this scope;did you mean ‘INVALID_REF’”。

可能原因:

此错误是因为代码本身的bug。

处理步骤:

下载6.0.x的正式release版本可以避免该错误。

问题二:编译 SU2 7.0.4 时报错

现象描述:

编译SU2时报错,报错信息为“configure: error: cannot find python-configfor /usr/bin/python.”。

可能原因:

缺乏依赖python-devel。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 415

Page 439: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

处理步骤:

在configure之前,执行以下命令安装依赖。

yum install python-devel -y

4.2.9 更多资源SU2主页:

https://su2code.github.io/

SU2使用指南:

https://su2code.github.io/docs/Execution/#collapse-3

4.3 PALABOS 2.1r0 移植指南(CentOS 7.6)

4.3.1 介绍Palabos库是通用计算流体动力学(CFD)的框架,其内核基于格子Boltzmann(LB)方法。它既可以用作研究工具,也可以用作工程工具。它的编程界面非常简单,可以相对轻松地进行流体流动模拟。

关于Palabos的更多信息请访问PALABOS官网。

语言:C++

一句话描述:PALABOS是一款流体动力模拟软件。

开源协议:GPL 3.0

建议的版本

建议使用版本为“palabos-v2.1r0”。

4.3.2 环境要求

硬件要求

硬件要求如表4-9所示。

表 4-9 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表4-10所示。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 416

Page 440: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 4-10 软件要求

项目 版本 下载地址

PALABOS v2.1r0 https://gitlab.com/unigespc/palabos/-/tree/v2.1r0

ImageMagick 6.7.8.9-15.el7_2

系统镜像自带RPM包

Python 3.6.3 https://www.python.org/downloads/source/

测试算例 cavity3d 软件自带benchmark算例

操作系统要求

操作系统要求如表4-11所示。

表 4-11 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

4.3.3 移植规划数据本章节给出PALABOS软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 4-12 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

4 /path/to/PALABOS

PALABOS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

5 /path/to/PYTHON3

PYTHON3的安装规划路径

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 417

Page 441: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.3.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 4-13 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装PYTHON3 参考操作步骤。

3 安装ImageMagick 参考4.3.4.2 安装ImageMagick。

4.3.4.1 安装 PYTHON3

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装python所需依赖。

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-develreadline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

步骤3 执行以下命令解压PYTHON3安装包。

tar -xvf Python-3.6.3.tgz

步骤4 执行以下命令进入解压后的目录。

cd Python-3.6.3

步骤5 执行以下命令进行配置。

./configure --prefix=/path/to/PYTHON3

步骤6 执行以下命令进行编译安装。

make -j

make install

步骤7 执行以下命令设置PYTHON3的环境变量。

export PATH=/path/to/PYTHON3/bin:$PATH

export LD_LIBRARY_PATH=/path/to/PYTHON3/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 418

Page 442: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.3.4.2 安装 ImageMagick

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压ImageMagick安装包。

yum install ImageMagick-6.7.8.9-15.el7_2.aarch64 -y

----结束

4.3.5 获取源码

操作步骤

步骤1 下载PALABOS安装包“palabos-v2.1r0.zip”。

下载地址:https://gitlab.com/unigespc/palabos/-/tree/v2.1r0。

步骤2 使用SFTP工具将PALABOS安装包上传至服务器“/path/to/PALABOS”目录。

----结束

4.3.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建主程序安装目录。

mkdir -p /path/to/PALABOS

步骤3 复制安装包至主程序安装目录。

cp palabos-v2.1r0.zip /path/to/PALABOS

步骤4 执行以下命令进入主程序安装目录。

cd /path/to/PALABOS

步骤5 执行以下命令解压安装包。

unzip palabos-v2.1r0.zip

步骤6 执行以下命令进入cavity2d算例目录。

cd /path/to/PALABOS/palabos-v2.1r0/examples/showCases/cavity2d

步骤7 编译根据算例编译安装主程序。

make -j 16

安装成功后,可使用ll命令在当前目录查看生成的“cavity2d”二进制可执行文件。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 419

Page 443: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

Palabos根据算例模型构建二进制可执行文件,此处以cavity2d算例为例。

----结束

4.3.7 运行和验证

4.3.7.1 cavity2d 算例运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令加载环境变量。

export PATH=/path/to/GNU/bin: /path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤3 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

说明

node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

该步骤在多节点运行时为必须执行,单节点可跳过。

步骤4 执行以下命令,进入cavity2d算例目录。

cd /path/to/PALABOS/palabos-v2.1r0/examples/showCases/cavity2d

步骤5 执行以下命令运行测试算例。

time mpirun --allow-run-as-root -mca btl ^openib --hostfile /path/to/HOSTFILE -x OMP_NUM_THREADS=1 -x PATH -x LD_LIBRARY_PATH -N 96 ./cavity2d

说明

单节点运行时执行以下命令运行测试算例:

time mpirun --allow-run-as-root -mca btl ^openib -np 96 ./cavity2d

运行完成后,可使用ll命令在tmp目录查看生成的gif图形文件。

----结束

4.3.7.2 boussinesqThermal3d 算例运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 420

Page 444: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令加载环境变量。

export PATH=/path/to/GNU/bin: /path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤3 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

说明

● node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

● 该步骤在多节点运行时为必须执行,单节点可跳过。

步骤4 执行以下命令,进入cavity2d算例目录。

cd /path/to/PALABOS/palabos-v2.1r0/examples/showCases/boussinesqThermal3d

步骤5 执行以下命令编译安装。

make -j 16

步骤6 执行以下命令运行测试算例。

time mpirun --allow-run-as-root -mca btl ^openib --hostfile /path/to/HOSTFILE -x OMP_NUM_THREADS=1 -x PATH -x LD_LIBRARY_PATH -N 96 ./rayleighBenard3D 100

说明

单节点运行时执行以下命令运行测试算例:

time mpirun --allow-run-as-root -mca btl ^openib -np 96 ./rayleighBenard3D 100

步骤7 运行完成后,可使用ll命令在tmp目录查看生成的vti文件。

显示结果样例如下所示。

图 4-1 结果样例

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 421

Page 445: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

图示中“VTK”为vti文件,后缀不显示。

----结束

4.3.8 更多资源PALABOS官方网站:

https://palabos.unige.ch/

PALABOS安装指导:

https://gitlab.com/unigespc/palabos/-/tree/v2.1r0

4.4 deal.II 9.1.1 移植指南(CentOS 7.6)

4.4.1 介绍deal.II这个名称 初旨在表示它是“微分方程分析库”的后继名称,这是一个C++程序库,旨在使用自适应有限元解决方案偏微分方程的计算问题。它使用 先进的编程技术为您提供所需的复杂数据结构和算法的现代化接口。

Deal.II的主要目的是通过使用自适应网格和有限元程序中经常使用的多种工具类别,来实现现代有限元代码的快速开发。编写此类程序并非易事,成功的程序往往变得非常庞大和复杂。我们认为 好使用程序库来完成此工作,该程序库负责网格处理和细化,自由度的处理,网格的输入以及图形格式结果的输出等细节。同样,一次支持多个空间尺寸的方式使得程序可以独立于空间尺寸编写,而且运行时不会造成内存消耗。

关于deal.II的更多信息请访问deal.II官网。

语言:C++

一句话描述:求解偏微分方程开源有限元软件。

开源协议:GNU Lesser General Public version 2.1

建议的版本

建议使用版本为“deal.II 9.1.1”。

4.4.2 环境要求

硬件要求

硬件要求如表4-14所示。

表 4-14 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 422

Page 446: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表4-15所示。

表 4-15 软件要求

项目 版本 下载地址

deal.II 9.1.1 https://www.dealii.org/download.html

操作系统要求

操作系统要求如表4-16所示。

表 4-16 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

4.4.3 移植规划数据本章节给出deal.II软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 4-17 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/DEAL.II

deal.II的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 423

Page 447: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.4.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 4-18 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

4.4.5 获取源码

操作步骤

步骤1 下载deal.II安装包“dealii-9.1.1.tar.gz”。

下载地址:https://www.dealii.org/download.html。

步骤2 使用SFTP工具将deal.II安装包上传至服务器“/path/to/DEAL.II”目录。

----结束

4.4.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装依赖包。

yum install blas lapack zlib boost -y

步骤3 执行以下命令解压deal.II安装包。

tar -xzvf dealii-9.1.1.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd dealii-9.1.1

步骤5 执行以下命令建立并进入deal.II软件编译目录。

mkdir build

cd build

步骤6 执行以下命令进行编译安装。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 424

Page 448: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

CC=mpicc CXX=mpicxx FC=mpif90 cmake -DDEAL_II_WITH_THREADS=OFF -DDEAL_II_COMPONENT_DOCUMENTATION=ON -DDEAL_II_WITH_MPI=ON -DCMAKE_INSTALL_PREFIX=/path/to/DEALL.II ../

步骤7 执行以下命令修改“build.make”文件。

1. vi tests/quick_tests/CMakeFiles/mpi.debug.run.dir/build.make2. 按“i”进入编辑模式,修改“build.make”文件的52行,添加粗体中的内容。

cd /storage/software/TaiShan/dealii/src/build/tests/quick_tests && /storage/software/TaiShan/openmpi/openmp i-4.0.1-gcc9.1-hcoll/bin/mpiexec --allow-run-as-root -mca btl ^openib -np 2 ./mpi.debug > mpi.debug-OK 2>&1 || ( ec ho mpi.debug:\ RUN\ failed.\ Output: && cat mpi.debug-OK && rm mpi.debug-OK && exit 1 )

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下命令进行检查。

make -j 32

make install

make test

出现“100% tests passed”则说明程序部署成功,如图4-2所示。

图 4-2 结果样例

----结束

4.4.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入算例目录。

cd /path/to/deal.II/examples/step-23

步骤3 执行以下命令编译step-23算例。

cmake .

make

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 425

Page 449: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤4 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

说明

● node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

● 该步骤在多节点运行时为必须执行,单节点可跳过。

步骤5 执行以下命令执行step-23测试。

● 单节点运行方式:

{ time make run ; } 2>&1 |tee -a test.out

● 多节点运行方式:

{ time mpirun --allow-run-as-root -mca btl ^openib --hostfile /path/to/HOSTFILE -x OMP_NUM_THREADS=1 -x PATH -x LD_LIBRARY_PATH -N 2 ./step-23 ; } 2>&1 |tee -a test.out

查看“test.out”日志中的“real”数值,数值越小单核性能越优。

输出的结果样例如图4-3所示。

图 4-3 结果样例

----结束

4.4.8 更多资源deal.II官方安装指南:

https://www.dealii.org/9.1.1/readme.html#optional

4.5 AMG 1.2 移植指南(CentOS 7.6)

4.5.1 介绍AMG是用于处理线性系统的并行代数多重网格求解器非结构化网格上的问题。AMG使用ISO-C编写,用MPI和OpenMP的SPMD代码在MPI任务中进行线程化,通过数据分解实现并行。AMG随附的驱动程序可线性构建各种3D问题的系统,并通过简单细分即可实现将网格分成大小相等的逻辑P × Q × R(以3D形式)。

关于AMG的更多信息请访问AMG官网。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 426

Page 450: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

语言:C语言

一句话描述:用于处理线性系统的并行代数多重网格求解器非结构化网格上的问题。

开源协议:GPL

建议的版本

建议使用版本“AMG AMG-1.2”。

4.5.2 环境要求

硬件要求

硬件要求如表4-19所示。

表 4-19 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表4-20所示。

表 4-20 软件要求

项目 版本 下载地址

AMG AMG-1.2 https://github.com/LLNL/AMG/tree/1.2

操作系统要求

操作系统要求如表4-21所示。

表 4-21 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

4.5.3 移植规划数据本章节给出AMG软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 427

Page 451: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 4-22 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/AMG AMG的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

4.5.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 4-23 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

4.5.5 获取源码

操作步骤

步骤1 下载AMG安装包“AMG-1.2.zip”。

下载地址:https://github.com/LLNL/AMG/tree/1.2

步骤2 使用SFTP工具将AMG安装包上传至服务器目录。

----结束

4.5.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 428

Page 452: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令解压安装包。

unzip AMG-1.2.zip

步骤3 执行以下命令进入解压后的目录。

cd /path/to/AMG/AMG-1.2

步骤4 执行以下命令进行编译。

make

说明

在Makefile.include中,“-DHYPRE_USING_PERSISTENT_COMM”优化MPI,“-DHYPRE_HOPSCOTCH”优化OpenMP。

----结束

4.5.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

说明

● node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

● 该步骤在多节点运行时为必须执行,单节点可跳过。

步骤3 执行以下命令进入“test”目录,编译后会生成“amg”二进制文件。

cd /path/to/AMG/AMG-1.2/test

步骤4 执行以下命令进入运行“amg”二进制文件。

mpirun --allow-run-as-root -mca btl ^openib --hostfile /path/to/HOSTFILE -xOMP_NUM_THREADS=1 -x PATH -x LD_LIBRARY_PATH -N 96 amg -P 4 6 4 -n100 100 100 -printstats

说明

1. -p <Px> <Py> <Pz>:定义每个零件的处理器拓扑,总计MPI流程为Px * Py * Pz。

2. -n <nx> <ny> <nz>:为多维数据集上的问题定义每个处理器的大小。-n选项允许每个MPI进程指定本地问题的大小, 导致<Px> * <nx>和<Py> * <ny>的<Pz> * <nz>的全局问题大小。

3. -printstats:打印出有关AMG预处理器的详细信息和迭代次数。

4. -N为每个节点的任务数,且Px * Py * Pz的值必须等于-N的值乘以节点数的值。

5. 单节点运行时执行以下命令:

mpirun --allow-run-as-root -mca btl ^openib -x OMP_NUM_THREADS=1 -np 96amg -P 4 6 4 -n 100 100 100 -printstats

打印结果样例如下所示:

BoomerAMG SOLVER PARAMETERS: Maximum number of cycles: 1

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 429

Page 453: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

Stopping Tolerance: 0.000000e+00 Cycle type (1 = V, 2 = W, etc.): 1 Relaxation Parameters: Visiting Grid: down up coarse Number of sweeps: 2 2 1 Type 0=Jac, 3=hGS, 6=hSGS, 9=GE: 18 18 9 Point types, partial sweeps (1=C, -1=F): Pre-CG relaxation (down): 0 0 Post-CG relaxation (up): 0 0 Coarsest grid: 0=============================================Problem 1: AMG Setup Time:=============================================PCG Setup: wall clock time = 6.333697 seconds wall MFLOPS = 0.000000 cpu clock time = 6.350000 seconds cpu MFLOPS = 0.000000FOM_Setup: nnz_AP / Setup Phase Time: 4.452531e+08=============================================Problem 1: AMG-PCG Solve Time:=============================================PCG Solve: wall clock time = 34.855871 seconds wall MFLOPS = 0.000000 cpu clock time = 34.860000 seconds cpu MFLOPS = 0.000000Iterations = 23Final Relative Residual Norm = 6.624473e-09FOM_Solve: nnz_AP * Iterations / Solve Phase Time: 1.860870e+09Figure of Merit (FOM_1): 1.506966e+09

----结束

4.6 Code_Saturne 6.0.2 移植指南(CentOS 7.6)

4.6.1 介绍Code_Saturne是一款由EDF开发和发布的免费开源软件,用于解决计算流体动力学(CFD)应用程序。

它用于求解2D、2D轴对称和3D流动的Navier-Stokes方程,稳态或非稳态,层流或者湍流,可不压缩或者弱可膨胀,等温或非恒。

关于Code_Saturne的更多信息请访问Code_Saturne官网。

语言:C语言

一句话描述:一款由EDF开发的免费开源CFD软件。

开源协议:GNU GPL licence

建议的版本

建议使用版本为“Code_Saturne 6.0.2”。

4.6.2 环境要求

硬件要求

硬件要求如表4-24所示。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 430

Page 454: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 4-24 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表4-25所示。

表 4-25 软件要求

项目 版本 下载地址

Code_Saturne v6.0.2 https://github.com/code-saturne/code_saturne/releases

HDF5 1.10.3 https://support. hdfgroup.org/ftp/HDF/releases/hdf5-1.10/hdf5-1.10.3/src/hdf5-1.10.3.tar.gz

MED 4.0.0 https://sources.voidlinux.org/med-4.0.0/

SCOTCH 6.0.9 https://gforge.inria.fr/frs/?group_id=248&release_id=10776#scotch-_6.0.9-title-content

METIS 5.1.0 http://glaros.dtc.umn.edu/gkhome/metis/metis/download

操作系统要求

操作系统要求如表4-26所示。

表 4-26 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

4.6.3 移植规划数据本章节给出Code_Saturne软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 431

Page 455: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 4-27 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/CODE_SATURNE

Code_Saturne的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/HDF5 HDF5的安装规划路径。

4 /path/to/MED MED的安装规划路径。

5 /path/to/SCOTCH

SCOTCH的安装规划路径。

6 /path/to/METIS

METIS的安装规划路径。

4.6.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 4-28 配置流程

序号 配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装BLAS依赖包 参考4.6.4.1 安装BLAS依赖包。

3 安装PyQt4 参考4.6.4.2 安装PyQt4。

4 安装HDF5 参考4.6.4.3 安装HDF5。

5 安装MED 参考4.6.4.4 安装MED。

6 安装SCOTCH 参考4.6.4.5 安装SCOTCH。

7 安装METIS 参考4.6.4.6 安装METIS。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 432

Page 456: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.6.4.1 安装 BLAS 依赖包

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装依赖包。

yum install blas blas-devel -y

----结束

4.6.4.2 安装 PyQt4

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装PyQt4。

yum install PyQt4.aarch64 PyQt4-devel.aarch64 -y

----结束

4.6.4.3 安装 HDF5

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压HDF5安装包。

tar -zxvf hdf5-1.10.3.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd hdf5-1.10.3

步骤4 执行以下命令配置HDF5。

./configure --prefix=/path/to/HDF5 --build=aarch64-unknown-linux-gnu --enable-fortran --enable-static=yes --enable-parallel --enable-shared

步骤5 执行以下命令编译安装HDF5。

make -j

make install

步骤6 执行以下命令设置HDF5的环境变量。

export PATH=/path/to/HDF5/bin:$PATH

export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 433

Page 457: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.6.4.4 安装 MED

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压MED安装包。

tar -zxvf med-4.0.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd med-4.0.0

步骤4 执行以下命令配置MED。

./configure --prefix=/path/to/MED --with-hdf5=/path/to/HDF5 --disable-python

步骤5 执行以下命令编译安装MED。

make -j

make install

步骤6 执行以下命令设置MED的环境变量。

export PATH=/path/to/MED/bin:$PATH

export LD_LIBRARY_PATH=/path/to/MED/lib:$LD_LIBRARY_PATH

----结束

4.6.4.5 安装 SCOTCH

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压SCOTCH安装包。

tar -zxvf scotch_6.0.9.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd scotch_6.0.9

步骤4 执行以下命令创建Makefile.inc软链接。

cd src

ln -s ./Make.inc/Makefile.inc.x86-64_pc_linux2.shlib Makefile.inc

步骤5 执行以下命令编译安装SCOTCH。

make scotch

步骤6 执行以下命令设置SCOTCH的环境变量。

export PATH=/path/to/SCOTCH/bin:$PATH

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 434

Page 458: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export LD_LIBRARY_PATH=/path/to/SCOTCH/lib:$LD_LIBRARY_PATH

----结束

4.6.4.6 安装 METIS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压METIS安装包。

tar -zxvf metis-5.1.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd metis-5.1.0

步骤4 执行以下命令编译安装METIS。

make config prefix=/path/to/METIS

make install

步骤5 执行以下命令设置METIS的环境变量。

export PATH=/path/to/METIS/bin:$PATH

export LD_LIBRARY_PATH=/path/to/METIS/lib:$LD_LIBRARY_PATH

----结束

4.6.5 获取源码

操作步骤

步骤1 下载Code_Saturne安装包“v6.0.2.tar.gz”。

下载地址:https://github.com/code-saturne/code_saturne/releases。

步骤2 使用SFTP工具将Code_Saturne安装包上传至服务器“/path/to/Code_Saturne”目录。

----结束

4.6.6 编译和安装步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Code_Saturne安装包。

tar -xvf v6.0.2.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd code_saturne-6.0.2

步骤4 执行以下命令执行bootstrap。

./sbin/bootstrap

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 435

Page 459: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令进行配置。

CC=mpicc FC=mpifort CXX=mpicxx ./configure --prefix=/path/to/CODE_SATURNE --with-blas-lib=/usr/lib64 --with-hdf5=/path/to/HDF5 --with-scotch=/path/to/SCOTCH --with-metis=/path/to/METIS --with-med=/path/to/MED --enable-shared --with-mpi CXXFLAGS="-O3 -std=c++11 -march=armv8.2-a -mtune=tsv110"

步骤6 执行以下命令进行编译安装。

make -j 32

make install

步骤7 执行以下命令设置Code_Saturne环境变量。

export PATH=/path/to/CODE_SATURNE/bin:$PATH

步骤8 执行以下命令查看成功安装Code_Saturne。

which code_saturne

显示的信息如下,则安装成功。

/path/to/CODE_SATURNE/bin/code_saturne

----结束

4.6.7 运行和验证

4.6.7.1 单节点运行和验证

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建并进入算例目录。

cd /path/to/CODE_SATURNE/

mkdir TESTCASE

cd TESTCASE

步骤3 执行以下命令创建用例。

code_saturne create -s test -c case1

说明

其中,test为自定义的study名称,case1为自定义的case名称,可根据实际情况进行修改。此命令会在当前目录下生成“test”目录,并在“test”目录下生成“case1”、“MESH”和“POST”目录。

步骤4 执行以下拷贝测试用例文件。

cp /path/to/CODE_SATURNE/code_saturne-6.0.2/examples/1-simple_junction/mesh/* test/MESH -rf

cp /path/to/CODE_SATURNE/code_saturne-6.0.2/examples/1-simple_junction/case1/setup.xml test/case1/DATA -rf

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 436

Page 460: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令设置MPI运行参数的环境变量。

export CS_MPIEXEC_OPTIONS="--allow-run-as-root --mca btl ^openib"

步骤6 执行以下命令单节点运行Code_Saturne。

code_saturne run -n 18 --nt=1 --param=/path/to/CODE_SATURNE/TESTCASE/test/case1/DATA/setup.xml --case=/path/to/CODE_SATURNE/TESTCASE/test/case1

表 4-29 参数说明

配置项 说明

-n <nprocs> MPI进程的数量。

--nt=NTHREADS 每个任务的OpenMP线程数。

--param=<param> Parameter文件的路径及名称。

--case=<case> 算例路径。

当运行过程中显示如下信息,则说明初始化成功:

***************************** Post-calculation operations *****************************

步骤7 执行以下命令进入算例执行目录。

cd /path/to/CODE_SATURNE/TESTCASE/test/case1/RESU/year+month+day-hour+minute_round

说明

“RESU”目录下会自动生成每次作业运行的日志,命令规则为“年+月+日-小时+分钟_同一分钟内运行的第x次”,例如“20200330-2104”目录下记录着“2020年03月30日21时04分内第一次运行的作业日志”,“20200330-2104_1”目录下记录着“2020年03月30日21时04分内第二次运行的作业日志”。

步骤8 查看执行结果。

查看“performance.log”日志的指标“Elapsed time: XX s”,时间单位是“s”,数值越少性能越优。

输出的结果样例如图7-1所示。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 437

Page 461: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 4-4 结果样例

----结束

4.6.7.2 多节点运行和验证

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建并进入算例目录。

cd /path/to/CODE_SATURNE/

mkdir TESTCASE

cd TESTCASE

步骤3 执行以下命令创建用例。

code_saturne create -s test -c case1

说明

其中,test为自定义的study名称,case1为自定义的case名称,可根据实际情况进行修改。此命令会在当前目录下生成“test”目录,并在“test”目录下生成“case1”、“MESH”和“POST”目录。

步骤4 执行以下拷贝测试用例文件。

cp /path/to/CODE_SATURNE/code_saturne-6.0.2/examples/1-simple_junction/mesh/* test/MESH -rf

cp /path/to/CODE_SATURNE/code_saturne-6.0.2/examples/1-simple_junction/case1/setup.xml test/case1/DATA -rf

步骤5 执行以下命令设置MPI运行参数的环境变量。

export CS_MPIEXEC_OPTIONS="--allow-run-as-root --mca btl ^openib"

步骤6 执行以下命令运行进行算例初始化。

code_saturne run --initialize --param=/path/to/CODE_SATURNE /TESTCASE/test/case1/DATA/setup.xml --case=/path/to/CODE_SATURNE /TESTCASE/test/case1

当运行过程中显示如下信息,则说明初始化成功:

***************************** Preprocessing calculation *****************************

步骤7 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 438

Page 462: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

步骤8 执行以下命令进入算例执行目录。

cd /path/to/CODE_SATURNE/TESTCASE/test/case1/RESU/year+month+day-hour+minute_round

说明

“RESU”目录下会自动生成每次作业运行的日志,命令规则为“年+月+日-小时+分钟_同一分钟内运行的第x次”,例如“20200330-2104”目录下记录着“2020年03月30日21时04分内第一次运行的作业日志”,“20200330-2104_1”目录下记录着“2020年03月30日21时04分内第二次运行的作业日志”。

步骤9 执行以下命令进行算例的多节点运行。

time mpirun --allow-run-as-root --mca btl ^openib -N 96 -xOMP_NUM_THREADS=1 --hostfile /path/to/HOSTFILE ./cs_solver --mpi

步骤10 查看执行结果。

查看“performance.log”日志的指标“Elapsed time: XX s”,时间单位是“s”,数值越少性能越优。

输出的结果样例如图7-1所示。

图 4-5 结果样例

----结束

4.6.8 更多资源Code_Saturne官网:

https://www.code-saturne.org/cms/documentation

4.7 FDS 6.7.4 移植指南(CentOS 7.6)

4.7.1 介绍FDS由美国商务部国家标准与技术研究院(NIST)与芬兰VTT技术研究中心合作开发,是一种针对低速流动的大涡模拟软件,重点关注火灾产生的烟雾与热量传输,旨在解决消防工程中的实际火灾问题,同时提供研究基本火灾动态和燃烧的工具。

关于FDS的更多信息请访问FDS官网。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 439

Page 463: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

语言:Fortran

一句话描述:火灾产生的烟雾与热量传输模拟工具。

建议的版本

建议使用版本为“FDS 6.7.4”。

4.7.2 环境要求

硬件要求

硬件要求如表4-30所示。

表 4-30 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表4-31所示。

表 4-31 软件要求

项目 版本 下载地址

FDS 6.7.4 https://codeload.github.com/firemodels/fds/tar.gz/FDS6.7.4

测试算例 weak_scaling_test_128

软件自带算例

操作系统要求

操作系统要求如表4-32所示。

表 4-32 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

4.7.3 移植规划数据本章节给出FDS软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 440

Page 464: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 4-33 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划”数据章节。

2 /path/to/FDS FDS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

4.7.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 4-34 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

4.7.5 获取源码

操作步骤

步骤1 下载FDS安装包“fds-FDS6.7.4.tar.gz”。

下载地址:https://codeload.github.com/firemodels/fds/tar.gz/FDS6.7.4。

步骤2 使用SFTP工具将FDS安装包上传至服务器“/path/to/FDS”目录。

----结束

4.7.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 441

Page 465: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤2 执行以下命令加载环境变量。

export PATH=/path/to/GNU/bin:/path/to/OPENMPI/bin:$PATH

export LD_LIBRARY_PATH=/path/to/GNU/lib64:/path/to/OPENMPI/lib:$LD_LIBRARY_PATH

步骤3 执行以下命令解压FDS安装包。

tar zxvf fds-FDS6.7.4.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd fds-FDS6.7.4

步骤5 执行以下命令修改“makefile”文件中的“-m64 -O2”编译选项为“-mabi=lp64 -march=armv8.2-a -mtune=tsv110 -O3 -flto”。

cd /path/to/FDS/fds-FDS6.7.4/Build

sed -i "s/-m64 -O2/-mabi=lp64 -march=armv8.2-a -mtune=tsv110 -O3 -flto/g" ./makefile

修改前的编译选项:

mpi_gnu_linux_64 : FFLAGS = -m64 -O2 -std=f2008

修改后的编译选项:

mpi_gnu_linux_64 : FFLAGS = -mabi=lp64 -march=armv8.2-a -mtune=tsv110 -O3 -flto -std=f2008

步骤6 执行以下命令进入FDS的编译目录。

cd /path/to/FDS/fds-FDS6.7.4/Build/mpi_gnu_linux_64

步骤7 执行以下命令运行自动编译脚本。

./make_fds.sh

步骤8 执行以下命令添加FDS环境变量。

export PATH=/path/to/FDS/fds-FDS6.7.4/Build/mpi_gnu_linux_64:$PATH

----结束

4.7.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 进入到FDS的根目录。

cd /path/to/FDS/fds-FDS6.7.4/

步骤3 执行以下命令创建“testcase”文件夹。

mkdir testcase

步骤4 执行以下命令进入“testcase”文件夹。

cd testcase

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 442

Page 466: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令设置“OpenMP线程数”为“1”。

export OMP_NUM_THREADS=1

步骤6 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

说明

● node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

● 该步骤在多节点运行时为必须执行,单节点可跳过。

步骤7 执行以下命令运行FDS。

● 单节点运行命令如下:

`which mpirun` -np 128 --mca btl ^openib --allow-run-as-root ../../Build/mpi_gnu_linux_64/fds_mpi_gnu_linux_64 ../../Validation/MPI_Scaling_Tests/FDS_Input_Files/weak_scaling_test_032.fds

● 多节点运行命令如下:

`which mpirun` -N 128 -x OMP_NUM_THREADS -x PATH -xLD_LIBRARY_PATH --hostfile=/path/to/HOSTFILE --mca btl ^openib --allow-run-as-root ../../Build/mpi_gnu_linux_64/fds_mpi_gnu_linux_64 ../../Validation/MPI_Scaling_Tests/FDS_Input_Files/weak_scaling_test_032.fds

运行成功, 后输出的结果如下所示。

STOP: FDS completed successfully (CHID: weak_scaling_test_032)

需要查看“fds.log”日志中的“real”数值,单位是“s”,数值越少性能越优。

输出的结果样例如图4-6所示。

图 4-6 结果样例

----结束

4.7.8 故障排除

问题一:FDS 运行时错误

现象描述:

FDS运行时错误,报错打开太多的文件,具体报错信息为:“Fortran runtime error:Cannot open file 'weak_scaling_test_032_0022_04.s3d': Too many open files”。

原因分析:

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 443

Page 467: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

FDS运行的过程中,会读写大量的文件,通常系统默认 大能打开的文件数量是1024,无法满足FDS的运行要求。

处理步骤:

Taishan服务器 大支持同时打开上千万的文件,通过ulimit -n设置 大允许打开的文件数量。

例如执行命令:ulimit -n 10240

4.7.9 更多资源

FDS主页:

https://pages.nist.gov/fds-smv/

FDS使用指南:

https://pages.nist.gov/fds-smv/manuals.html

4.8 Elmer 8.4 移植指南(CentOS 7.6)

4.8.1 介绍

Elmer是用于偏微分方程数值解的有限元软件。Elmer能够处理任何数量的方程式,因此非常适合模拟多物理场问题。它包括例如结构力学,流体动力学,传热和电磁学的模型。用户还可以编写自己的方程式,这些方程式可以与主程序动态链接。

关于Elmer的更多信息请访问Elmer官网。

语言:Fortran,C++,C

一句话描述:多物理场仿真软件。

开源协议:GPL2.0

建议的版本

建议使用版本为“Elmer 8.4”。

4.8.2 环境要求

硬件要求

硬件要求如表4-35所示。

表 4-35 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 444

Page 468: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表4-36所示。

表 4-36 软件要求

项目 版本 下载地址

Elmer 8.4 https://codeload.github.com/ElmerCSC/elmerfem/tar.gz/scc20

cmake 3.8.1 https://cmake.org/download/

openblas 0.3.9 https://github.com/xianyi/OpenBLAS/archive/v0.3.9.tar.gz

官方算例 - http://www.nic.funet.fi/pub/sci/physics/elmer/doc/ElmerTutorialsFiles_nonGUI.tar.gz

操作系统要求

操作系统要求如表4-37所示。

表 4-37 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

4.8.3 移植规划数据本章节给出Elmer软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 4-38 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/ELMER

Elmer的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/CMAKE

Cmake的安装规划路径

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 445

Page 469: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

软件安装规划路径

用途 说明

4 /path/to/OPENBLAS

Openblas的安装规划路径

4.8.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 4-39 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

2 安装cmake 参考4.8.4.1 安装cmake

3 安装openblas 参考4.8.4.2 安装OpenBLAS

4.8.4.1 安装 cmake

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压cmake安装包。

tar zxvf cmake-3.8.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd cmake-3.8.1

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/CMAKE

步骤5 执行以下命令进行编译安装。

make

make install

步骤6 执行以下命令设置cmake环境变量。

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 446

Page 470: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export PATH=/path/to/CMAKE/bin:$PATH

----结束

4.8.4.2 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包:

tar xzvf OpenBLAS-0.3.9.tar.gz

步骤3 执行以下命令进入解压后的目录:

cd OpenBLAS-0.3.9/

步骤4 执行以下命令设置环境变量:

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤5 执行以下命令进行编译安装:

make -j 96

make PREFIX=/path/to/OPENBLAS install

步骤6 执行以下命令设置openblas环境变量:

export LIBRARY_PATH=/path/to/OPENBLAS/lib:$LIBRARY_PATH

export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH

----结束

4.8.5 获取源码

操作步骤

步骤1 下载Elmer源码包“elmerfem-scc20.tar.gz”。

下载地址:https://codeload.github.com/ElmerCSC/elmerfem/tar.gz/scc20。

步骤2 下载官方算例包“ElmerTutorialsFiles_nonGUI.tar.gz”。

下载地址:http://www.nic.funet.fi/pub/sci/physics/elmer/doc/ElmerTutorialsFiles_nonGUI.tar.gz。

步骤3 使用SFTP工具将下载好的软件包上传至服务器“/path/to/ELMER/”目录。

----结束

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 447

Page 471: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

4.8.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Elmer安装包。

tar -xvf elmerfem-scc20.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd elmerfem-scc20

步骤4 执行以下命令新建文件夹。

mkdir build

cd build

步骤5 执行以下命令进行编译。

cmake -DCMAKE_INSTALL_PREFIX=/path/to/ELMER -DCMAKE_C_FLAGS="-O3 -march=armv8.2-a -mtune=tsv110" -DCMAKE_CXX_FLAGS="-O3 -march=armv8.2-a -mtune=tsv110" -DCMAKE_Fortran_FLAGS="-O3 -march=armv8.2-a -mtune=tsv110" ../

步骤6 执行以下命令进行安装。

make -j 32

make install

步骤7 执行以下命令设置环境变量。

export PATH=/path/to/ELMER/bin:$PATH

export ELMER_HOME=/path/to/ELMER

----结束

4.8.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建hostfile文件并添加节点信息。

echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE

说明

● node1、node2、…、nodex分别为各节点的主机名,可通过命令“hostname”查询各主机名,“\n”为换行符。

● 该步骤在多节点运行时为必须执行,单节点可跳过。

步骤3 执行以下命令解压官方算例包。

cd /path/to/ELMER/

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 448

Page 472: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

tar -xvf ElmerTutorialsFiles_nonGUI.tar.gz

步骤4 执行以下命令进入算例。

cd tutorials_files/FlowResistance

说明

● 此处“FlowResistance”是官方提供的算例之一。

● 其他算例的运行请查看官方手册。

步骤5 执行以下命令生成网格。

ElmerGrid 1 2 hole.grd

步骤6 执行以下命令运行算例。

time mpirun --allow-run-as-root -mca btl ^openib --hostfile /path/to/HOSTFILE -x PATH -x LD_LIBRARY_PATH -x ELMER_HOME -N 128 ElmerSolver

说明

单节点时执行以下命令运行算例。

time mpirun --allow-run-as-root -mca btl ^openib -np 128 ElmerSolver

运行完成后命令行将回显以下信息:ElmerSolver: *** Elmer Solver: ALL DONE ***ElmerSolver: The endSOLVER TOTAL TIME(CPU,REAL): 10.23 2.86ELMER SOLVER FINISHED AT: 2020/05/12 17:16:54

----结束

4.8.8 故障排除

问题一:运行 make install 时报错

现象描述:

运行make install时报错,报错信息为:“Error: Array specification at (1) has morethan 7 dimensions”。

可能原因:

● 编译时环境配置问题

处理步骤:

根据报错提示询问同事以及去网络上搜索原因, 终确定是使用的gfortran版本过低,在配置环境变量时加入以下命令重新编译安装即可。

export FC= /path/to/GNU/bin/gfortran

4.8.9 更多资源获取更多资源,请访问Elmer官网:

http://www.csc.fi/elmer

HPC 解决方案移植指南 4 制造

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 449

Page 473: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5 其他

5.1 Hadoop 3.1.2+Spark 2.4.4 移植指南(CentOS 7.6)

5.2 SGE 8.1.9 移植指南(CentOS 7.6)

5.3 Conda 4.3.16 移植指南(CentOS 7.6)

5.4 MiniFE 2.2.0 移植指南(CentOS 7.6)

5.5 NPB 3.4 移植指南(CentOS 7.6)

5.6 MiniDFT 1.1.1 移植指南(CentOS 7.6)

5.7 miniGhost v1.0 移植指南(CentOS 7.6)

5.1 Hadoop 3.1.2+Spark 2.4.4 移植指南(CentOS 7.6)

5.1.1 介绍

Hadoop是一个使用java编写的Apache开放源代码框架,它允许使用简单的编程模型跨大型计算机的大型数据集进行分布式处理。Hadoop框架工作的应用程序可以在跨计算机群集提供分布式存储和计算的环境中工作。Hadoop旨在从单一服务器扩展到数千台机器,每台机器都提供本地计算和存储。

关于Hadoop的更多信息请访问Hadoop官网。

语言:java

一句话描述:开放源代码框架。

开源协议:Apache2.0

5.1.2 环境要求

硬件要求

硬件要求如表5-1所示。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 450

Page 474: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 5-1 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表5-2所示。

表 5-2 软件要求

项目 版本 下载地址

Hadoop 3.1.2 http://mirror.bit.edu.cn/apache/hadoop/common/stable/

Spark 2.4.4 https://spark.apache.org/releases/spark-release-2-4-4.html

Scala 2.12.4 https://www.scala-lang.org/download/2.12.4.html

jdk 1.8.0_171 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

操作系统要求

操作系统要求如表5-3所示。

表 5-3 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

5.1.3 移植规划数据本章节给出Hadoop软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 451

Page 475: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 5-4 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/HADOOP

Hadoop的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

5.1.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 5-5 配置流程

序号

配置项 说明

1 安装java环境 参考5.1.4.1 安装java环境。

5.1.4.1 安装 java 环境

操作步骤

步骤1 获取java包“jdk-8u152-linux-arm64-vfp-hflt.tar.gz”,参见软件清单。

步骤2 使用PuTTY工具,以root用户登录服务器。

步骤3 执行以下命令安装JAVA环境。

mkdir /path/to/HADOOP

cd path/to/HADOOP

tar -zxvf jdk-8u152-linux-arm64-vfp-hflt.tar.gz

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 452

Page 476: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

JRE和JDK区别:

● JRE(Java Runtime Environment Java运行环境)是Java运行所需环境。

● JDK(Java Development Kit Java软件开发工具包)既包括JRE,还包括开发Java所需的工具和类库。

步骤4 配置环境变量,修改“/root/.bashrc”文件。

1. vi /root/.bashrc2. 按“i”进入编辑模式,在“/root/.bashrc”文件末尾添加以下路径。

export JAVA_HOME=path/to/HADOOP/jdk1.8.0_171export JRE_HOME=$JAVA_HOME/jreexport PATH=:$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

----结束

5.1.5 获取源码

操作步骤

步骤1 下载Hadoop安装包“hadoop-3.1.2.tar.gz”。

Hadoop安装包下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/stable/。

步骤2 使用SFTP工具将Hadoop安装包上传至服务器“/path/to/HADOOP”目录。

----结束

5.1.6 编译和安装

5.1.6.1 Hadoop 配置

Hadoop可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的Java进程来运行,节点既作为NameNode也作为DataNode,同时,读取的是HDFS中的文件。

配置文件位于hadoop-3.1.2/etc/hadoop中,伪分布式需要修改2个配置文件core-site.xml和hdfs-site.xml。Hadoop的配置文件是xml格式,每个配置以声明property的name和value的方式来实现。

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入Hadoop安装包所在目录。

cd path/to/HADOOP

步骤3 执行以下命令解压Hadoop安装包。

tar -xvf hadoop-3.1.2.tar.gz

步骤4 执行以下命令进入解压后的目录。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 453

Page 477: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

cd hadoop-3.1.2

步骤5 执行以下命令在hadoop-3.1.2文件夹中创建下面4个文件夹作为hdfs文件路径。

mkdir hdfs

mkdir hdfs/tmp

mkdir hdfs/name

mkdir hdfs/data

步骤6 执行以下命令进入配置文件目录。

cd etc/hadoop/

步骤7 执行以下命令修改“core-site.xml”文件。

1. vi core-site.xml2. 按“i”进入编辑模式,编辑“core-site.xml”文件。

修改前: <configuration> </configuration>

修改后:<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/path/to/HADOOP/hadoop-3.1.2/hdfs/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://armnode2:9000</value> </property> <property> <name>fs.trash.interval</name> <value>1440</value> </property></configuration>

说明

“armnode2”为安装环境的主机名,用户根据实际情况进行配置,可以使用“hostname”查询安装环境的主机名。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤8 执行以下命令修改“hdfs-site.xml”配置文件。

1. vi hdfs-site.xml2. 按“i”进入编辑模式,编辑“hdfs-site.xml”文件。

修改前:<configuration></configuration>

修改后:<configuration> <property><name>dfs.namenode.http-address</name>

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 454

Page 478: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

<value>armnode2:50070</value></property><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/path/to/HADOOP/hadoop-3.1.2/hdfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/path/to/HADOOP/hadoop-3.1.2/hdfs/data</value></property><property><name>dfs.webmnt.enabled</name><value>true</value></property><property><name>dfs.permissions</name><value>false</value></property></configuration>

说明

“armnode2”为安装环境的主机名,用户根据实际情况进行配置,可以使用“hostname”查询安装环境的主机名。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤9 执行以下命令修改“workers”配置文件。

1. vi workers2. 按“i”进入编辑模式,编辑“workers”文件,新增安装环境的主机名。

armnode2

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤10 执行以下命令新建“master”和“slaves”配置文件。

cd /path/to/HADOOP/hadoop-3.1.2/etc/hadoop

cp workers master

cp workers slaves

----结束

5.1.6.2 Spark 配置

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Spark安装包。

tar -xvf spark-2.4.4-bin-hadoop2.7.tgz

步骤3 执行以下命令进入解压后的目录。

cd /path/to/HADOOP/spark-2.4.4-bin-hadoop2.7/conf

步骤4 执行以下命令修改“spark-defaults.conf”配置文件。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 455

Page 479: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

1. mv spark-defaults.conf.template spark-defaults.conf2. vi spark-defaults.conf3. 按“i”进入编辑模式,编辑“spark-defaults.conf”文件,新增以下内容。

spark.master spark://armnode2:7077spark.scheduler.mode FAIRspark.eventLog.enabled truespark.eventLog.dir hdfs://armnode2:9000/sparklogspark.shuffle.consolidateFiles truespark.shuffle.manager SORTspark.sql.hive.convertMetastoreOrc false

说明

“armnode2”为安装环境的主机名,用户根据实际情况进行配置,可以使用“hostname”查询安装环境的主机名。

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令修改“slaves”配置文件。

1. mv slaves.template slaves2. vi slaves3. 按“i”进入编辑模式,编辑“slaves”文件,新增安装环境的主机名。

armnode2

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令修改“spark-env.sh”配置文件。

1. mv spark-env.sh.template spark-env.sh2. vi spark-env.sh3. 按“i”进入编辑模式,编辑“spark-env.sh”文件,新增以下内容。

export JAVA_HOME=/path/to/HADOOP/jdk1.8.0_171export SCALA_HOME=/path/to/HADOOP/scala-2.12.4export SPARK_HOME=/path/to/HADOOP/spark-2.4.4-bin-hadoop2.7export SPARK_MASTER_IP=armnode2export HADOOP_HOME=/path/to/HADOOP/hadoop-3.1.2export HADOOP_CONF_DIR=/path/to/HADOOP/hadoop-3.1.2/etc/hadoopexport SPARK_DIST_CLASSPATH=$(/path/to/HADOOP/hadoop-3.1.2/bin/hadoop classpath)export SPARK_DRIVER_MEMORY=30gexport SPARK_WORKER_INSTANCES=10export SPARK_WORKER_CORES=16export SPARK_WORKER_MEMORY=20gexport SPARK_EXECUTOR_MEMORY=10gexport SPARK_LOCAL_DIRS=/path/to/HADOOP/hadoop-3.1.2/hdfs/spark/tmpexport SPARK_WORKER_DIR=/path/to/HADOOP/hadoop-3.1.2/hdfs/spark/work

说明

“armnode2”为安装环境的主机名,用户根据实际情况进行配置,可以使用“hostname”查询安装环境的主机名。

4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤7 执行以下命令进入配置文件目录。

cd /path/to/HADOOP

步骤8 执行以下命令配置环境变量。

1. vi env.sh2. 按“i”进入编辑模式,新建环境变量文件,添加如下内容。

export JAVA_HOME=/path/to/HADOOP/jdk1.8.0_171export JRE_HOME=$JAVA_HOME/jre

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 456

Page 480: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

export PATH=:$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/libexport HADOOP_HOME=/path/to/HADOOP/hadoop-3.1.2export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexport HDFS_DATANODE_USER=rootexport HDFS_NAMENODE_USER=rootexport HDFS_SECONDARYNAMENODE_USER=rootexport YARN_RESOURCEMANAGER_USER=rootexport YARN_NODEMANAGER_USER=rootexport SCALA_HOME=/path/to/HADOOP/scala-2.12.4export PATH=$SCALA_HOME/bin:$PATHexport SPARK_HOME=/path/to/HADOOP/spark-2.4.4-bin-hadoop2.7export PATH=$SPARK_HOME/bin:$PATH

说明

Hadoop配置文件说明:

Hadoop的运行方式是由配置文件决定的(运行Hadoop时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除core-site.xml中的配置项。

此外,伪分布式虽然只需要配置fs.defaultFS和dfs.replication就可以运行(官方教程如此),不过若没有配置hadoop.tmp.dir参数,则默认使用的临时目录为/tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行format才行。所以我们进行了设置,同时也指定dfs.namenode.name.dir和dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

4. 执行以下命令使环境变量生效。

source env.sh

步骤9 配置完成后,执行NameNode的格式化。

hdfs namenode -format

显示如下内容表示正常结束。

步骤10 执行以下命令开启NameNode和DataNode守护进程。

start-dfs.sh

jps

启动完成后,可以通过命令jps来判断是否成功启动,若成功启动则会列出如图5-1所示进程: “NameNode”、“DataNode”和“SecondaryNameNode”(如果“SecondaryNameNode”没有启动,请运行sbin/stop-dfs.sh关闭进程,然后再次尝试启动尝试)。如果没有“NameNode”或“DataNode”,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。

图 5-1 显示样例

步骤11 执行以下命令进入spark相应路径。

cd /path/to/HADOOP/spark-2.4.4-bin-hadoop2.7/sbin

步骤12 执行以下命令开启spark进程。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 457

Page 481: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

./start-all.sh

jps

启动完成后,可以通过命令jps来判断是否成功启动,若成功启动则会列出多个“Worker”进程,如图5-2所示。

图 5-2 显示样例

----结束

5.1.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令在HDFS中创建用户目录。

cd path/to/HADOOP

./bin/hdfs dfs -mkdir -p /user/hadoop

说明

hdfs dfs的操作创建的目录及文件在HDFS上只有在hadoop模式下才能识别,直接使用本地ls命令不能查看到。

步骤3 执行以下命令创建“input”路径,将“etc/hadoop”中的文件复制到“input”中。

hdfs dfs -mkdir -p input

hdfs dfs -put ./etc/hadoop/*.xml input

步骤4 执行以下命令查看文件列表。

hdfs dfs -ls input

步骤5 执行以下命令关闭Hadoop。

stop-dfs.sh

----结束

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 458

Page 482: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.1.8 故障排除

问题一:运行 hdfs namenode -format 时报错

现象描述:

运行hdfs namenode -format时报错,报错信息为:“Error: JAVA_HOME is not setand could not be found.”。

可能原因:

JAVA_HOME环境变量设置不正确。

处理步骤:

参见配置环境变量设置JAVA_HOME变量。

若JAVA_HOME设置正确,则修改./etc/hadoop/hadoop-env.sh文件。

1. vi ./etc/hadoop/hadoop-env.sh2. 按“i”进入编辑模式,修改环境变量文件,补充以下环境变量。

expect JAVA_HOME=JDK安装路径

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

问题二:运行 hdfs namenode -format 时报错

现象描述:

运行hdfs namenode -format时报错,报错信息为:“Permission denied(publickey,gssapi-keyex,gssapi-with-mic,password)”。

可能原因:

本机免密有问题。

处理步骤:

使用ssh-keygen -t rsa命令重做免密。

问题三:启动 Hadoop 时提示 Could not resolve hostname

现象描述:

启动Hadoop时提示Could not resolve hostname,报错信息为:“ssh: Could notresolve hostname xxx”。

处理步骤:

可通过设置Hadoop环境变量来解决。

步骤1 按键盘的“ctrl + c”中断启动。

步骤2 然后在~/.bashrc中,增加如下两行内容。

1. vi ~/.bashrc2. 按“i”进入编辑模式,编辑“~/.bashrc”文件,增加如下命令。

export HADOOP_HOME=/usr/local/hadoopexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 459

Page 483: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

说明

设置过程与JAVA_HOME变量一样,其中HADOOP_HOME为Hadoop的安装目录。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤3 执行以下命令使变量设置生效。

source ~/.bashrc

步骤4 执行以下命令启动Hadoop。

start-dfs.sh

----结束

5.1.9 更多资源Hadoop安装教程参考地址(仅中文):

https://www.jianshu.com/p/99f3b52a5c54

Hadoop官网:

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html#Prepare_to_Start_the_Hadoop_Cluster

5.2 SGE 8.1.9 移植指南(CentOS 7.6)

5.2.1 介绍SGE全称Sun Grid Engine,是sun公司开发的一款基于网格的资源管理软件,它接受用户提交的作业,并使用资源管理策略安排作业在网格内适当的系统上运行,用户可以向网格提交批处理作业、交互式作业以及并行作业。Grid Engine系统是一种先进的资源管理工具,用于管理不同种类的分布式计算环境。

SGE软件分为三个模块:sge_qmaster、sge_schedd、sge_execd,根据运行的模块不同,服务器在集群中的功能也不同,分别为:主控主机、管理主机、执行主机、提交主机。

关于SGE的更多信息请访问SGE官网。

语言:C/JAVA

一句话描述:基于网格资源管理的调度器软件。

开源协议:Sun Industry Standards Source License(SISSL)

建议的版本

建议使用版本为“SGE 8.1.9”。

5.2.2 环境要求

硬件要求

硬件要求如表5-6所示。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 460

Page 484: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 5-6 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表5-7所示。

表 5-7 软件要求

项目 版本 下载地址

SGE 8.1.9 https://arc.liv.ac.uk/downloads/SGE/releases/8.1.9/

操作系统要求

操作系统要求如表5-8所示。

表 5-8 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

5.2.3 移植规划数据

本章节给出SGE 8.1.9软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明,以及SGE中各个角色节点的介绍。

表 5-9 移植规划路径数据

序号

软件安装规划路径 用途 说明

1 /path/to/SGE SGE源码编译规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

2 /path/to/SGE_ROOT

SGE的安装规划路径。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 461

Page 485: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 5-10 SGE 角色节点介绍

序号 角色名称 说明

1 主控主机 主控主机是所有集群活动的中心。主控主机运行主守护进程sge_qmaster和调度程序守护进程sge_schedd。两个守护进程都控制Grid Engine系统组件,例如队列和作业。守护进程维护着关于组件状态的表格、关于用户访问权限的表格以及其他任务的表格。默认情况下,主控主机也管理主机和提交主机。此文档样例中,主控主机的节点名称为armnode2。

2 管理主机 管理主机有权限运行Grid Engine系统的任何类型的管理操作。

3 提交主机 提交主机只允许用户提交和控制批处理作业。具体地说,用户登录提交主机后,可以使用qsub命令提交作业、使用qstat命令监视作业状态。

4 执行主机 执行主机是有权限执行作业的系统。因此,执行主机具有附加到它的队列实例的功能。执行主机运行执行守护进程sge_execd。此文档样例中,执行主机的名称为armnode4。

5.2.4 配置编译环境

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装相关依赖包。

yum install -y java-1.8.0-openjdk* ant hwloc-devel openssl-devel libdb-develpam-devel junit* javacc* libXt-devel motif-devel ncurses-devel

说明

此处yum源为CentOS7.6镜像本地源,可自行根据需要在“/etc/yum.repos.d”路径下修改文件配置。

步骤3 执行以下命令加载环境中已安装的JAVA 1.8.0的环境变量。

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.aarch64

export PATH=$JAVA_HOME/bin:$PATH

步骤4 创建arm64的JRE库的软链接。

cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.aarch64/jre/lib

ln -s aarch64 arm64

----结束

5.2.5 获取源码

步骤1 下载SGE源码文件“sge-8.1.9.tar.gz”。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 462

Page 486: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

下载地址:https://arc.liv.ac.uk/downloads/SGE/releases/8.1.9/。

步骤2 使用sftp工具将SGE安装包上传至服务器“/path/to/SGE”目录。

----结束

5.2.6 编译和安装

5.2.6.1 SGE 软件编译

步骤1 使用PuTTY工具,以root用户登录SGE主控主机。

步骤2 在PuTTY工具中执行以下命令解压SGE安装包。

cd /path/to/SGE

tar -xvf sge-8.1.9.tar.gz

cd sge-8.1.9/source

步骤3 执行以下命令运行bootstrap.sh脚本。

sh scripts/bootstrap.sh

步骤4 执行以下命令修改“aimk”文件。

1. vi aimk2. 按“i”进入编辑模式,分别在“aimk”文件的330行、1852行和2664行的“-

lpthread”内容后添加“-L/usr/lib64 -lcurses”。330: set LIBS = "-lm -lpthread -L/usr/lib64 -lcurses"1852:set LIBS - "-lsocket -lnsl -lm -lpthread -L/usr/lib64 -lcurses -lthread -lkstat"2664:set SGE_LIBS = "-lsge -lpthread -L/usr/lib64 -lcurses"

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令设置SGE_ROOT环境变量。

export SGE_ROOT=/path/to/SGE_ROOT

步骤6 执行以下命令编译软件。

./aimk -parallel 32

echo y | ./scripts/distinst -all -local -noexit

----结束

5.2.6.2 主控主机安装

步骤1 执行以下命令安装NIS服务包。

yum install ypserv -y

步骤2 执行以下命令配置NIS域。

nisdomainname huawei

说明

此处“huawei”是集群的域名,请根据实际情况进行修改。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 463

Page 487: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤3 执行以下命令修改“/etc/sysconfig/network”配置文件。

1. vi /etc/sysconfig/network2. 按“i”进入编辑模式,修改以下内容。

HOSTNAME=主控节点主机名NETWORKING=yesNISDOMAIN=huawei

说明

此处“HOSTNAME”是主控节点的主机名,请根据实际情况进行修改。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤4 执行以下命令增加新用户。

useradd -d /path/test test

说明

此处以“test”用户名为例,且“/path”目录是共享目录,集群中所有节点都挂载到同一个“/path”目录下,请根据实际情况进行修改。

步骤5 执行以下命令修改新增用户test的密码为“Huawei12#$”。

echo "Huawei12#$" | passwd --stdin test

步骤6 执行以下命令重启ypserv服务更新数据库。

systemctl start ypserv

systemctl enable ypserv

cd /var/yp

make

步骤7 执行以下命令启动安装。

cd /path/to/SGE_ROOT

./install_qmaster

步骤8 在“Welcome to the Grid Engine installation”页面中,按“Enter”进入下一步。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 464

Page 488: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤9 在“Choosing Grid Engine admin user account”页面中,先输入“n”,然后按两次“Enter”进入下一步。

步骤10 在“Checking $SGE_ROOT directory”目录选择页面中,使用环境中已定义的目录,然后按两次“Enter”进入下一步。

步骤11 在“Grid Engine TCP/IP communication service”页面中,选择第二种方式,输入“2”并按“Enter”进入下一步。

步骤12 在“Grid Engine TCP/IP service”页面中,按“Enter”进入下一步。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 465

Page 489: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤13 在“Grid Engine TCP/IP communication service”页面中,选择第二种方式,输入“2”并按“Enter”进入下一步。

步骤14 在“Grid Engine TCP/IP communication service”页面中,按“Enter”进入下一步。

步骤15 在“Grid Engine cells”页面中,使用默认的cell name,然后按两次“Enter”进入下一步。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 466

Page 490: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤16 在“Unique Cluster name”页面中,输入自定义的集群名称后,然后按两次“Enter”进入下一步。

步骤17 在“Gird Engine qmaster spool directory”页面中,可自定义spool的目录,推荐使用默认目录,然后按两次“Enter”进入下一步。

步骤18 在“Windows Execution Host Support”页面中,输入“n”并按“Enter”进入下一步。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 467

Page 491: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤19 在“Verifying and setting file permissions”页面中,输入“y”,然后按两次“Enter”进入下一步。

步骤20 在“Select default Grid Engine hostname resolving method”页面中,输入“y”,然后按两次“Enter”进入下一步。

步骤21 在“Grid Engine JMX MBean server”页面中,输入“n”,然后按两次“Enter”进入下一步。

步骤22 在“Setup spooling”页面中,输入“classic”,然后按“Enter”进入下一步。

步骤23 在“Grid Engine group id range”页面中,使用默认配置,然后按两次“Enter”进入下一步。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 468

Page 492: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤24 在“Grid Engine cluster configuration”页面中,使用默认配置,按“Enter”进入下一步。

步骤25 在“Grid Engine cluster configuration(continued)”页面中,使用默认配置,按“Enter”进入下一步。

步骤26 在“The following parameters for the cluster configuration were conigured”页面中,输入“n”,然后按“Enter”进入下一步。

步骤27 在“Creating local configuration”页面中,按“Enter”进入下一步。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 469

Page 493: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤28 在“qmaster startup script”页面中,输入“y”,然后按两次“Enter”进入下一步。

步骤29 在“Grid Engine qmater startup”页面中,按“Enter”进入下一步。

步骤30 在“Adding Grid Engine hosts”页面中,输入“n”,然后按“Enter”进入下一步。

步骤31 在“Adding admin and submit hosts”页面中,按两次“Enter”进入下一步。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 470

Page 494: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤32 在“Shadow host”页面中,输入“n”并按“Enter”进入下一步。

步骤33 在“Creating the default queue and hostgroup”页面中,按“Enter”进入下一步。

步骤34 在“Scheduler Tuning”页面中,先输入“1”,按“Enter”,再输入“y”,然后按“Enter”进入下一步。

步骤35 在“Using Gird Engine”页面中,按“Enter”进入下一步。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 471

Page 495: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤36 在“Grid Engine messages”页面中,输入“n”并按“Enter”进入下一步。

步骤37 在“Qmaster installation is now completed”页面中,按“Enter”完成安装。

步骤38 执行以下命令加载SGE环境变量。

source /path/to/SGE_ROOT/default/common/settings.sh

步骤39 执行以下命令添加SGE环境变量到“.bashrc”中从而永久生效。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 472

Page 496: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

echo "source /path/to/SGE_ROOT/default/common/settings.sh" >> /root/.bashrc

步骤40 执行以下命令将主控主机添加为提交主机。

qconf -as armnode2

步骤41 执行以下命令将执行主机添加为管理主机。

qconf -ah armnode4

----结束

5.2.6.3 执行主机安装

步骤1 执行以下命令在执行主机上安装NIS客户端安装包ypbind。

yum install ypbind -y

说明

此处yum源为CentOS7.6镜像本地源,可自行根据需要在“/etc/yum.repos.d”路径下修改文件配置。

步骤2 执行以下命令编辑执行主机的“/etc/sysconfig/network”文件。

1. vi /etc/sysconfig/network2. 按“i”进入编辑模式,修改以下内容。

HOSTNAME=执行主机主机名NETWORKING=yesNISDOMAIN=huawei

说明

其中“HOSTNAME”是执行主机的主机名,“huawei”是集群的域名,请根据实际情况进行修改。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤3 执行以下命令编译执行节点的“/etc/yp.conf”文件。

1. vi /etc/yp.conf2. 按“i”进入编辑模式,在文件 后添加一行内容。

domain huawei server 192.168.40.50

说明

其中“192.168.40.50”是主控主机的IP信息,请根据实际情况进行修改。

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤4 执行以下命令修改“/etc/nsswitch.conf”文件。

1. vi /etc/nsswitch.conf2. 按“i”进入编辑模式,修改以下内容。

passwd: files nis shadow: files nis group: files nis hosts: files nis dns

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令启动ypbind服务。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 473

Page 497: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

systemctl start ypbind

systemctl enable ypbind

步骤6 执行以下命令安装hwloc。

yum install hwloc* -y

说明

此处yum源为CentOS7.6镜像本地源,可自行根据需要在“/etc/yum.repos.d”路径下修改文件配置。

步骤7 执行以下命令设置SGE_ROOT环境变量。

export SGE_ROOT=/path/to/SGE_ROOT

步骤8 执行以下命令加载SGE环境变量。

source /path/to/SGE_ROOT/default/common/settings.sh

步骤9 执行以下命令添加SGE环境变量到.bashrc中从而永久生效。

echo "source /path/to/SGE_ROOT/default/common/settings.sh" >> /root/.bashrc

步骤10 执行以下命令启动执行主机的execd进程。

/path/to/SGE_ROOT/default/common/sgeexecd

步骤11 执行以下命令设置开机自启动execd进程。

echo "/path/to/SGE_ROOT/default/common/sgeexecd" >> /etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local

----结束

5.2.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录主控主机。

步骤2 执行以下命令添加执行主机。

qconf -as armnode4

步骤3 执行以下命令查看默认主机组的名称。

qconf -shgrpl

@allhosts

步骤4 执行以下命令修改主机组信息,将执行主机添加到主机组中。

1. qconf -mhgrp @allhosts2. 按“i”进入编辑模式,修改以下内容。

group_name @allhostshostlist armnode4

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 474

Page 498: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤5 执行以下命令切换到非test用户。

su - test

步骤6 执行以下命令在test用户下加载SGE环境变量。

source /path/to/SGE_ROOT/default/common/settings.sh

步骤7 添加SGE环境变量到test用户的“.bashrc”中从而永久生效。

echo "source /path/to/SGE_ROOT/default/common/settings.sh" >> /path/test/.bashrc

步骤8 执行以下命令创建一个样例执行脚本“run.sh”。

1. vi run.sh

2. 按“i”进入编辑模式,添加以下内容。#!/bin/bash#$ -S /bin/bashnodeinfo=`hostname`echo "This is the SGE test from $nodeinfo" >> sge-test.log

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤9 执行以下命令提交作业任务。

qsub -V -cwd -o stdout.txt -e stderr.txt run.sh

命令参数说明如表5-11所示。

表 5-11 qsub 命令常用参数说明

参数 说明

-V 将当前shell中的环境变量输出到本次提交的任务中。

-cwd 在当前工作目录下运行程序。默认设置下,程序的运行目录是当前用户在其计算节点的家目录。

-o 将标准输出添加到指定文件尾部。默认输出文件名是$job_name.o$job_id。

-e 将标准错误输出添加到指定文件尾部。默认输出文件名是$job_name.e$job_id。

-q 指定投递的队列,若不指定,则会尝试寻找 小负荷且有权限的队列开始任务。

-S 指定运行run.sh中命令行的软件,默认是tcsh。推荐使用bash,设置该参数的值为/bin/bash即可,或者在run.sh文件首部添加一行#$ -S /bin/bash。若不设置为bash,则会在标准输出中给出警告信息:Warning:no access to tty (Bad file descriptor)。

-hold_jid 后接多个使用逗号分隔的job_id,表示只有在这些job运行完毕后,才开始运行此任务。

-N 设置任务名称。默认的job name为qsub的输入文件名。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 475

Page 499: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

参数 说明

-p 设置任务优先级。其参数值范围为 -1023~1024 ,该值越高,越优先运行。但是该参数设置为正数需要较高的权限,系统普通用户不能设置为正数。

-j y|n 设置是否将标准输出和标准错误输出流合并到 -o参数结果中。

-pe 设置并行化环境。

步骤10 任务提交后的管理如表5-12所示。

表 5-12 任务提交后的常用命令参数说明

参数 说明

qstat -f 查看当前用户在当前节点提交的所有任务,任务的状态有6种情况:

● qw,等待状态。刚提交任务的时候是该状态,一旦有计算资源了会马上运行;

● hqw,该任务依赖于其它正在运行的job,待前面的job执行完毕后再开始运行,qsub提交任务的时候使用-hold_jid参数则会是该状态;

● Eqw,投递任务出错;

● r,任务正在运行;

● s,被暂时挂起,往往是由于优先级更高的任务抢占了资源;

● dr,节点异常退出后,删除任务就会出现这个状态,只有节点重启后,任务才会消失。

qstat jobID 按照任务id查看。

qstat -u user 按照用户查看。

qdel jobID 删除任务。

----结束

5.2.8 SGE 常用命令说明

表 5-13 SGE 常用命令说明

参数 说明

qconf -ae hostname 添加执行主机

qconf -de hostname 删除执行主机

qconf -sel 显示执行主机列表

qconf -ah hostname 添加管理主机

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 476

Page 500: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

参数 说明

qconf -dh hostname 删除管理主机

qconf -sh 显示管理主机列表

qconf -as hostname 添加提交主机

qconf -ds hostname 删除提交主机

qconf -ss 显示提交主机列表

qconf -ahgrp groupname 添加主机用户组

qconf -mhgrp groupname 修改主机用户组

qconf -shgrp groupname 显示主机用户组成员

qconf -shgrpl 显示主机用户组列表

qconf -aq queuename 添加集群队列

qconf -dq queuename 删除集群队列

qconf -mq queuename 修改集群队列配置

qconf -sq queuename 显示集群队列配置

qconf -sql 显示集群队列列表

qconf -ap PE_name 添加并行化环境

qconf -mp PE_name 修改并行化环境

qconf -dp PE_name 删除并行化环境

qconf -sp PE_name 显示并行化环境

qconf -spl 显示并行化环境名称列表

qstat -f 显示执行主机状态

qstat -u user 查看用户的作业

qhost 显示执行主机资源信息

5.3 Conda 4.3.16 移植指南(CentOS 7.6)

5.3.1 介绍Conda是一个可在Linux、macOS和Windows上运行的开源软件包管理和环境管理系统。Conda可快速安装、运行和升级软件包及其依赖包。Conda可在本地计算机上轻松地进行创建、保存、加载和切换环境。它是为Python程序创建的,但是也可以打包和分发适用于任何语言的软件。

Conda作为软件包管理器,可以帮助您查找和安装软件包。如果您需要一个使用其他版本的Python的软件包,无需切换到其他环境管理器,因为conda也是环境管理器,

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 477

Page 501: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

仅需几个命令,您就可以设置一个完全独立的环境来运行该不同版本的Python,同时继续在正常环境中运行您通常的Python版本。

关于Conda的更多信息请访问Conda官网。

语言:Python

一句话描述:开源软件包管理和环境管理系统。

开源协议:3-clause BSD License

建议的版本

建议使用版本为“Conda 4.3.16”。

5.3.2 环境要求

硬件要求

硬件要求如表5-14所示。

表 5-14 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表5-15所示。

表 5-15 软件要求

项目 版本 下载地址

Python 2.7.16 https://www.python.org/downloads/release/python-2716/

操作系统要求

操作系统要求如表5-16所示。

表 5-16 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 478

Page 502: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.3.3 移植规划数据

本章节给出Conda软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 5-17 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/PYTHON

Python 2.7.16的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

5.3.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

配置流程

序号 配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

2 安装依赖包 参考5.3.4.1 安装依赖包。

3 安装Python 参考5.3.4.2 安装Python。

4 安装PIP 参考5.3.4.3 安装PIP。

5.3.4.1 安装依赖包

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装依赖包。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 479

Page 503: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-develreadline-devel tk-devel

----结束

5.3.4.2 安装 Python

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压Python安装包。

tar zxvf Python-2.7.16.tgz

步骤3 执行以下命令进入解压后的目录。

cd Python-2.7.16

步骤4 执行以下命令进行配置。

CXX=g++ ./configure --prefix=/path/to/PYTHON

步骤5 执行以下命令进行编译。

make

make install

步骤6 执行以下命令设置PYTHON的环境变量。

export PATH=/path/to/PYTHON/bin:$PATH

export LD_LIBRARY_PATH=/path/to/PYTHON/lib:$LD_LIBRARY_PATH

步骤7 执行以下命令验证Python安装是否成功。

python -V

显示类似如下信息,说明安装成功。

Python 2.7.16

----结束

5.3.4.3 安装 PIP

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令下载PIP的分发文件。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

步骤3 执行以下命令安装PIP。

python get-pip.py

步骤4 执行以下命令验证PIP安装是否成功。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 480

Page 504: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

which pip

显示类似如下信息,说明安装成功。

/path/to/PYTHON/bin/pip

----结束

5.3.5 获取源码

操作步骤

步骤1 Conda软件包是通过pip命令指定链接进行下载和安装,无需单独下载源码包。

下载地址:https://pypi.tuna.tsinghua.edu.cn/simple。

----结束

5.3.6 编译和安装

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令安装Conda。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple conda

步骤3 执行以下命令查看成功安装Conda。

pip list

显示的信息中如果存在“conda”,则安装成功,如图5-3所示。

图 5-3 结果样例

----结束

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 481

Page 505: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.4 MiniFE 2.2.0 移植指南(CentOS 7.6)

5.4.1 介绍

MiniFE是非结构化隐式有限元代码的代理应用程序。它类似于HPCCG和pHPCCG,但提供了此类应用程序中各个步骤的更完整的垂直介绍。

关于MiniFE的更多信息请访问MiniFE。

语言:C++

一句话MiniFE述:非结构化隐式有限元代码的代理应用程序。

开源协议:LGPL-3.0

建议的版本

建议使用版本“MiniFE miniFE-2.2.0”。

5.4.2 环境要求

硬件要求

硬件要求如表5-18所示。

表 5-18 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表5-19所示。

表 5-19 软件要求

项目 版本 下载地址

MiniFE miniFE-2.2.0 https://github.com/Mantevo/miniFE/archive/2.2.0.tar.gz

操作系统要求

操作系统要求如表5-20所示。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 482

Page 506: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 5-20 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

5.4.3 移植规划数据本章节给出MiniFE软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 5-21 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/MINIFE MiniFE的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

5.4.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 5-22 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 483

Page 507: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.4.5 获取源码

操作步骤

步骤1 下载MiniFE安装包“miniFE-2.2.0.tar.gz”。

下载地址:https://github.com/Mantevo/miniFE/archive/2.2.0.tar.gz

步骤2 使用SFTP工具将MiniFE安装包上传至服务器“/path/to/MINIFE”目录。

----结束

5.4.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

tar -xvf miniFE-2.2.0.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd /path/to/miniFE/miniFE-2.2.0/ref/src

步骤4 执行以下命令进行编译。

make

----结束

5.4.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令运行“miniFE.x”会生成“yaml”文件。

mpirun --allow-run-as-root -n 96 ./miniFE.x nx=300 verify_solution=1

说明

以上命令中,nx 表示<X问题>。

在生成的“yaml”查看“Total CG Mflops: 34377.9”和“Total Program Time:29.567”两项结果。

Iterations: 200Final Resid Norm: 0.00247174WAXPY Time: 1.36617WAXPY Flops: 4.8762e+10WAXPY Mflops: 35692.6DOT Time: 1.10191DOT Flops: 2.16e+10DOT Mflops: 19602.3MATVEC Time: 8.12439MATVEC Flops: 2.94036e+11MATVEC Mflops: 36191.7

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 484

Page 508: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

Total:Total CG Time: 10.5998Total CG Flops: 3.64398e+11Total CG Mflops: 34377.9Time per iteration: 0.0529988Global All-RSS (kB): 15019072Global Max-RSS (kB): 166592Total Program Time: 29.567

----结束

5.4.8 更多资源

Mantevo官网:

http://www.mantevo.org/

5.5 NPB 3.4 移植指南(CentOS 7.6)

5.5.1 介绍

NPB(NAS Parallel Benchmarks)是一套针对高并行超级计算机性能评估的基准测试。它们由NASA高级超级计算机(NAS)部门(前身是NASA数值空气动力学模拟程序)开发和维护,该部门位于NASA艾姆斯研究中心。基准来自计算流体力学(CFD)应用程序,由原始“铅笔和纸”规范(NPB1)中的五个内核和三个伪应用程序组成。该基准套件已扩展为包括针对非结构化自适应网格,并行I/O,多区域应用程序和计算网格的新基准。NPB中的问题大小是预定义的,并表示为不同的类别。NPB的参考实现在MPI和OpenMP(NPB 2和NPB 3)等常用编程模型中可用。

关于NPB的更多信息请访问NPB官网。

语言:C/Fortran

一句话描述:NPB是一套针对高并行超级计算机性能评估的基准测试。

开源协议:NOSA

建议的版本

建议使用版本为“NPB 3.4”。

5.5.2 环境要求

硬件要求

硬件要求如表5-23所示。

表 5-23 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 485

Page 509: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表5-24所示。

表 5-24 软件要求

项目 版本 下载地址

NPB 3.4 https://www.nas.nasa.gov/publications/npb.html

操作系统要求

操作系统要求如表5-25所示。

表 5-25 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

5.5.3 移植规划数据本章节给出NPB软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 5-26 移植规划数据

序号

软件安装规划路径

用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/NPB NPB的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 486

Page 510: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.5.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 5-27 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

5.5.5 获取源码

操作步骤

步骤1 下载NPB安装包“NPB3.4.tar.gz”。

下载地址:https://www.nas.nasa.gov/publications/npb.html。

步骤2 使用SFTP工具将NPB安装包上传至服务器“/path/to/NPB”目录。

----结束

5.5.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令创建主程序安装目录。

mkdir -p /path/to/NPB

步骤3 复制安装包至主程序安装目录。

cp NPB3.4.tar.gz /path/to/NPB

步骤4 执行以下命令进入主程序安装目录。

cd /path/to/NPB

步骤5 执行以下命令解压安装包。

tar -xvf NPB3.4.tar.gz

步骤6 执行以下命令进入解压后路径。

cd NPB3.4

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 487

Page 511: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

步骤7 执行以下命令生成相关配置文件。

cd NPB3.4-MPI

cp config/make.def.template config/make.def

步骤8 加载OPENMPI和GNU的环境变量。

export PATH=/path/to/OPENMPI/bin:/path/to/GNU/bin:$PATH

export LD_LIBRARY_PATH=/path/to/OPENMPI/lib:/path/to/GNU/lib64:$LD_LIBRARY_PATH

步骤9 执行以下命令开始编译。

make EP CLASS=D NPROCS=96

说明

以上命令中:

● “EP”表示基准,NPB具有12种基准:IS、EP、CG、MG、FT、BT、BT-10、SP、LU、UA、DC和DT;

● “CLASS=D”表示问题规模,NPB具有8种问题规模:S、W、A、B、C、D、E和F。

● “NPROCS=96”表示核数。

用户根据实际需求去选择基准,问题规模和核数去测试,详细参数介绍请参考5.5.8 更多资源。

----结束

5.5.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令进入测试目录。

cd /path/to/NPB/NPB3.4/NPB3.4-MPI/bin

步骤3 执行以下命令开始测试,如下图显示表示运行成功。

mpirun --allow-run-as-root --mca btl ^openib -np 96 ep.D.x

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 488

Page 512: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

图 5-4 结果样例

----结束

5.5.8 更多资源● NPB简易安装配置(仅中文):

https://blog.csdn.net/qq_34149581/article/details/103870318● NPB的12种基准:

表 5-28 NPB 的基准

基准 全称 说明

IS Integer Sort 用于求解基于桶排序的二维大整数排序,要求打量全交换通信。

EP Embarrassingly Parallel 繁杂并行,用于计算Gauss伪随机数,主要执行浮点数计算,EP的显著特点是不执行任何处理器间的通信,因此用不同的互相连接得到的结果显示同样的执行特点。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 489

Page 513: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

基准 全称 说明

CG Conjugate Gradient 用于求解大型稀疏对称正定矩阵的 小特征值的近似值。

MG MultiGrid 多栅格基准测试,监测短距和长距离通信。MG是一个简化的多栅格核心。

FT 快速Fourier转换 检测长距离通信,利用快速傅里叶变换来解决3维的偏微分方程。

BT Block Tri-Diagonal 用于求解3对角线方程组 。

BT-IO Block Tri-Diagonal-IO 测试不同的并行I/O技术。

SP Scalar Penta-diagonal 用于求解5对角线方程组 。

LU Lower Upper Triangular 用于基于对称超松弛法求解块稀疏方程组。

UA Unstructured Adaptive 测试非结构化自适应网络,动态和不规则内存访问。

DC Data Cube 测试数据移动。

DT Data Traffic

● NPB的8种问题规模:

表 5-29 NPB 的问题规模

问题规模 说明

S S(Sample)类是样例程序

W W(Workstation)类通常用于工作站。

A~F A类规模 小,规模依次递增。

5.6 MiniDFT 1.1.1 移植指南(CentOS 7.6)

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 490

Page 514: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.6.1 介绍MiniDFT是用于对材料进行建模的平面波密度泛函理论(DFT)微型应用程序,是从Quantum Espresso (QE)中提取出来的。

关于MiniDFT的更多信息请访问MiniDFT官网。

语言:Fortran

一句话描述:是一个材料建模微型应用程序。

开源协议:GPL

建议的版本

建议使用版本“MiniDFT MiniDFT-1.1.1”。

5.6.2 环境要求

硬件要求

硬件要求如表5-30所示。

表 5-30 硬件要求

项目 说明

CPU Kunpeng 920

软件要求

软件要求如表5-31所示。

表 5-31 软件要求

项目 版本 下载地址

MiniDFT 1.1.1 https://github.com/NERSC/MiniDFT/releases

OpenBLAS 0.3.6 https://github.com/xianyi/OpenBLAS/tree/v0.3.6

fftw 3.3.8 http://www.fftw.org/download.html

scalapack 2.1.0 http://www.netlib.org/scalapack/

测试算例 small.in 软件自带测试算例

操作系统要求

操作系统要求如表5-32所示。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 491

Page 515: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

表 5-32 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

5.6.3 移植规划数据

本章节给出MiniDFT软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 5-33 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/OPENBLAS

OpenBLAS的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

3 /path/to/FFTW fftw的安装规划路径。

4 /path/to/SCALAPACK

scalapack的安装规划路径。

5 /path/to/MINIDFT MiniDFT的安装规划路径。

5.6.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

配置流程

表 5-34 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“单机场景环境搭建”章节。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 492

Page 516: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

序号

配置项 说明

2 安装OpenBLAS 参考5.6.4.1 安装OpenBLAS。

3 安装fftw 参考5.6.4.2 安装fftw。

4 安装scalapack 参考5.6.4.3 安装scalapack。

5.6.4.1 安装 OpenBLAS

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令使用yum安装BLAS LAPACK。

yum install blas64.aarch64 blas64-devel.aarch64 lapack64.aarch64 lapack64-devel.aarch64 -y

说明

如果使用非系统默认的编译器安装OpenBLAS,请下载OpenBLAS使用指定编译器安装,在编译安装中指定编译安装的OpenBLAS路径。

步骤3 执行以下命令解压OpenBLAS安装包。

tar -xvf OpenBLAS-0.3.6.tar.gz

步骤4 执行以下命令进入解压后的目录。

cd OpenBLAS-0.3.6

步骤5 执行以下命令进行配置。

export CC=`which gcc`

export CXX=`which g++`

export FC=`which gfortran`

步骤6 执行以下命令进行编译安装。

make

make PREFIX=/path/to/OPENBLAS/install

----结束

5.6.4.2 安装 fftw

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压fftw安装包。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 493

Page 517: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

tar -zxvf fftw-3.3.8.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd fftw-3.3.8

步骤4 执行以下命令进行配置。

./configure --prefix=/path/to/FFTW CC=gcc FC=gfortran F77=gfortran --enable-openmp --enable-threads --enable-threads --enable-shared=yes

步骤5 执行以下命令进行编译安装。

make -j

make install

----结束

5.6.4.3 安装 scalapack

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压scalapack安装包。

tar -xvf scalapack-2.1.0.tgz

步骤3 执行以下命令进入解压后的目录。

cd scalapack-2.1.0

步骤4 执行以下命令进行粘贴复制。

cp SLmake.inc.example SLmake.inc

步骤5 执行以下命令进行修改“SLmake.inc”文件。

1. vim SLmake.inc2. 按“i”进入编辑模式,新增算例文件。

BLASLIB = -L/path/to/OPENBLAS/lib -lopenblas LAPACKLIB = -L/path/to/OPENBLAS/lib -lopenblas

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令进行编译。

make

步骤7 执行以下命令将生成的链接库拷贝到安装目录。

cp libscalapack.a /path/to/SCALAPACK

步骤8 执行以下命令加载环境变量。

export LD_LIBRARY_PATH=/path/to/SCALAPACK:$LD_LIBRARY_PATH

----结束

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 494

Page 518: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.6.5 获取源码

操作步骤

步骤1 下载MiniDFT安装包“MiniDFT-MiniDFT-1.1.1.tar.gz”。

下载地址:https://github.com/NERSC/MiniDFT/releases。

步骤2 使用SFTP工具将MiniDFT安装包上传至服务器“/path/to/MINIDFT”目录。

----结束

5.6.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压MiniDFT安装包。

tar -xzvf MiniDFT-MiniDFT-1.1.1.tar.gz

步骤3 执行以下命令进入解压后的目录。

cd MiniDFT-MiniDFT-1.1.1/src

步骤4 执行以下命令修改“Makefile”文件。

1. vi Makefile2. 按“i”进入编辑模式,修改Makefile文件中粗体部分。

FFTW_INCL = -I/path/to/FFTW/includeFFTW_LIBS = /path/to/SCALAPACK/libscalapack.a -Wl,--start-group /path/to/FFTW /lib/libfftw3.a /path/to/FFTW/lib/libfftw3_threads.a /path/to/OPENBLAS/lib/libopenblas.a -Wl,--end-group

OPENBLAS_INC = -I/path/to/OPENBLAS/includeOPENBLAS_LIB = /path/to/OPENBLAS/lib

SCALAPACK_LIBS = /path/to/SCALAPACK/libscalapack.a

CC = mpicc

CFLAGS = -D__FFTW3 -D_para11e1 -D_SCALAPACK

FC = mpifortFFLAGS = -cpp -no-pie

LD = mpifort

DFLAGS += -D__OPENMP

FFLAGS += -fopenmpLDFLAGS += -fopenmp

include Makefile.base

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤5 执行以下命令进行安装编译。

make

----结束

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 495

Page 519: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.6.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令并行执行。

1. 执行以下命令进入算例文件夹。

cd /path/to/MINIDFT/MiniDFT-MiniDFT-1.1.1/benchmark2. 执行以下命令设置线程。

export OMP_NUM_THREADS=13. 在root用户下,执行以下命令进行测试:

mpirun -np 96 --allow-run-as-root -mca btl ^openib ../src/mini_dft -insmall.in -nbgrp 4 > small.log查看“small.log”日志中的“Benchmark_Time”的值,单位是“s”,数值越小性能越优。

输出的结果样例如图5-5所示。

图 5-5 结果样例

----结束

5.6.8 故障排除

问题一:编译 MiniDFT 时报错

现象描述:

编译MiniDFT时报错,报错信息为:“pwscf.f90:(.text+0x20): undefined reference to`dfftw_init_threads”。

可能原因:

fftw没有threads模块。

处理步骤:

重新编译fftw,编译时添加--enable-threads参数,详细操作请参考步骤4。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 496

Page 520: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

问题二:运行 MiniDFT 时报错

现象描述:

运行large.in时报错,报错信息为:“mpirun noticed that process rank 84 with PID0 on node XA320V2-48 exited on signal 11 (Segmentation fault)”。

可能原因:

软件对容量要求太高,导致内存资源不够。

处理步骤:

更换比较小的small.in测试算例或者增加内存容量。

5.6.9 更多资源MiniDFT官方安装指南:

https://github.com/NERSC/MiniDFT

5.7 miniGhost v1.0 移植指南(CentOS 7.6)

5.7.1 介绍miniGhost表示在许多HPC代码中存在三维近邻halo-exchange通信。科学计算的范围很广,需要使用不同的模板。在并行计算环境中,这种计算通常通过分解空间域来实现,从而生成过程中产生的边界数据的“halo-exchange”,这种方法遵循大容量同步并行( BSP )模型。由于相对于延迟成本,常见可用的架构提供了强大的节点间带宽,因此许多代码通过将数据聚合到一个信息中,从而减少信息的数量。

关于miniGhost的更多信息请访问miniGhost官网。

语言:Fortran

一句话描述:miniGhost表示在许多HPC代码中存在三维近邻halo-exchange通信。

开源协议:LGPL-3.0

建议的版本

建议使用版本“miniGhost v1.0”。

5.7.2 环境要求

硬件要求

硬件要求如表5-35所示。

表 5-35 硬件要求

项目 说明

CPU Kunpeng 920

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 497

Page 521: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

软件要求

软件要求如表5-36所示。

表 5-36 软件要求

项目 版本 下载地址

miniGhost miniGhost v1.0 https://github.com/Mantevo/miniGhost

操作系统要求

操作系统要求如表5-37所示。

表 5-37 操作系统要求

项目 版本 下载地址

CentOS 7.6 https://www.centos.org/download/

Kernel 4.14.0-115.el7a.0.1 https://www.centos.org/download/

5.7.3 移植规划数据本章节给出miniGhost软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

表 5-38 移植规划数据

序号

软件安装规划路径 用途 说明

1 - 基础环境搭建中的各安装包安装路径。

参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。

2 /path/to/MINIGHOST

miniGhost的安装规划路径。

这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。

5.7.4 配置编译环境

前提条件

使用SFTP工具将各安装包上传至服务器对应目录下。

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 498

Page 522: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

配置流程

表 5-39 配置流程

序号

配置项 说明

1 基础环境搭建 参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。

5.7.5 获取源码

操作步骤

步骤1 下载miniGhost安装包“miniGhost-master.zip”。

下载地址:https://github.com/Mantevo/miniGhost

步骤2 使用SFTP工具将miniGhost安装包上传至服务器“/path/to/MINIGHOST”目录。

----结束

5.7.6 编译和安装

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令解压安装包。

unzip miniGhost-master.zip

步骤3 执行以下命令进入解压后的目录。

cd /path/to/MINIGHOST/miniGhost-master/ref

步骤4 执行以下命令创建新Makeflie文件。

mv Makefile Makefile.bak

cp makefile.mpi.gnu Makefile

步骤5 执行以下命令修改“Makeflie”文件。

1. vi Makeflie2. 按“i”进入编辑模式,修改如下内容。

PROTOCOL = -D_MG_MPIMPI_LOC = /path/TO/OPENMPIMPI_INCLUDE = -I$(MPI_LOC)/include# State precision: -D_REAL4 and/or -D_REAL8.REAL_PRECISION = -D_MG_REAL8# Integer precision: -D_INT4 and/or -D_INT8.INT_PRECISION = -D_MG_INT4# CompilersFC=$(MPI_LOC)/bin/mpif90CC=$(MPI_LOC)/bin/mpiccCFLAGS = $(PROTOCOL) $(REAL_PRECISION) $(INT_PRECISION)

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 499

Page 523: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

# C main calling Fortran subroutine:CFLAGS += -Df2c_ -fsigned-charCFLAGS += $(MPI_INCLUDE)FFLAGS = $(PROTOCOL) $(REAL_PRECISION) $(INT_PRECISION)# OptimizationOPT_F =-O3FFLAGS += $(OPT_F)#FFLAGS += $(MPI_INCLUDE)# Free-form Fortran source code:FFLAGS += -ffree-form -ffree-line-length-none# Array bounds checking: (expensive!)#FFLAGS += -fbounds-check# Compile to include checkpointing capability.FFLAGS += -D_MG_CHECKPTNCPATH=LNCDF=-L$(NCPATH)/libLD=$(CC)LDFLAGS=$(CFLAGS) $(FFLAGS) -L/path/to/GNU/gcc9.1/lib64/ -lgfortran -L/path/to/OPENMPI/openmpi-4.0.1-gcc9.1/lib -lmpi_mpifh#LDFLAGS=$(CFLAGS) $(FFLAGS)#LDFLAGS=$(FFLAGS)LIBS=include make_targets

3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

步骤6 执行以下命令进行编译。

make

说明

编译时不支持并行编译make -j,直接使用make进行编译。

----结束

5.7.7 运行和验证

操作步骤

步骤1 使用PuTTY工具,以root用户登录服务器。

步骤2 执行以下命令运行miniGhost.x。

mpirun -mca btl ^openib -x LD_LIBRARY_PATH --allow-run-as-root -np 96 ./miniGhost.x

查看结果生成“results.yaml”中查看各项值。

结果样例如图5-6所示。

图 5-6 结果样例

----结束

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 500

Page 524: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

5.7.8 更多资源Mantevo官网:

http://www.mantevo.org/

HPC 解决方案移植指南 5 其他

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 501

Page 525: 移植指南 - Huawei · hpc解决方案 移植指南 文档版本 01 发布日期 2020-03-20 华为技术有限公司

6 修订记录

发布日期 修订记录

2020-03-20 第一次正式发布。

HPC 解决方案移植指南 6 修订记录

文档版本 01 (2020-03-20) 版权所有 © 华为技术有限公司 502