-
【现象描述】GPU上网络运行过程中出现内存申请大小为0的错误,报错日志中有如下信息:The memory alloc size is 0【原因分析】该错误出现是由于内存申请的时候调用接口时传入的申请size为0,因此报错,碰到场景非常少,一般原因是数据集读取的数据是空导致size为0【排查步骤和解决方法】步骤1:排查数据集中读取的数据是否有问题,可以通过context.set_context(save_graphs=True)保存图,然后观察*_validate*.ir这一类ir是否生成,如果未生成则说明图还未执行就报错了,基本上就确认了数据集读取数据出现问题了,可以自行排查或者联系MindData开发人员确认。步骤2:如果前面步骤确认没有问题的话,需要MindSpore开发人员详细分析了,context.set_context(save_graphs=True)同时export GLOG_v=1保存执行日志,将保存的图和日志打包发给开发人员排查确认。【建议与总结】无【相关参考文档】无
-
【现象描述】按照官网正确安装mindspore 执行GPU训练,提示“Failed to create CUDA stream | Error Number: 0”【原因分析】此处error number 0不代表错误码为0,只是代表分配流操作失败,具体cuda返回的错误码可以在上文日志中看到,可能提示:cudaStreamCreate failed, ret[XXX], "cuda error string".一般来说GPU流失败很有可能是由于Nvidia驱动和cuda版本不匹配,nvidia驱动版本需要高于cuda版本官方给出的版本配套要求:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html【解决方法】根据官方版本配套要求,重新安装对应版本的Nvidia驱动,即可启动训练。
-
【现象描述】在GPU环境上安装MindSpore,运行后报错提示设卡失败,如"SetDevice for id: 7 failed......"这类错误。【原因分析】此类错误一般原因:设卡的device id越界,超出了可用GPU卡总数。【解决方法】设卡失败后,MindSpore会有ERROR日志提示:"SetDevice for id: index failed,... Please make sure that the 'device_id' set in context is in the range:[0, total number of GPU). If the environment variable 'CUDA_VISIBLE_DEVICES' is set, the total number of GPU will be the number set in the environment variable 'CUDA_VISIBLE_DEVICES'. For example, if export CUDA_VISIBLE_DEVICES=4,5,6, the 'device_id' can be 0,1,2 at the moment, 'device_id' starts from 0, and 'device_id'=0 means using GPU of number 4.日志中给出了设卡样例,提示MindSpore需要的逻辑device id和物理卡号的对应关系。- 如果是执行单卡脚本遇到设卡失败,请确保 context中设置的device_id 小于环境中GPU卡的总数(如果export了 CUDA_VISIBLE_DEVICES环境变量,则GPU卡的总数修正为CUDA_VISIBLE_DEVICES变量中设置的GPU卡的总数),例如, export CUDA_VISIBLE_DEVICES=4,5,6,则可用的卡为3张,分别对应物理环境中的4号5号和6号卡,如果在context中设置了device_id,则需要确保其小于3,可以取值0,1,2,如果设置为0,则表示使用4号GPU卡。- 如果是执行多卡训练遇到设卡失败,请确保脚本期望执行的分布式并行数不超过物理环境中GPU卡的总数(如果export了 CUDA_VISIBLE_DEVICES环境变量,则需要保证环境变量中设置的GPU卡数不少于分布式并行数),例如执行单机8卡训练,则需要确保物理环境中至少有8张卡(如果export 了CUDA_VISIBLE_DEVICES环境变量,则需要保证CUDA_VISIBLE_DEVICES中设置的卡数不少于8张,例如, 可以export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 )。
-
### 【现象描述】 按照官网正确安装mindspore 以及cuda驱动和库文件后,运行[官网加法示例](https://www.mindspore.cn/install),输出结果全零。 或者执行matmul算子时报 cuBLAS Error: cublasGemmEx failed等情况。 相关案例:https://bbs.huaweicloud.com/forum/thread-149034-1-1.html ### 【原因分析】 一般是因为当前使用的GPU设备算力不够引起。 当前mindspore限制显卡算力为最低5.3,显卡算力的可在[Nivida官网查询](https://developer.nvidia.com/zh-cn/cuda-gpus#compute)。 ### 【解决方法】 在mindspore-1.6版本之后,mindspore对使用者的GPU显卡进行了算力识别,如使用者的GPU算力小于5.3,会有相应的日志提醒。 ` The device with Cuda compute capability 5.2 is lower than the minimum required capability 5.3, this may cause some unexpected problems and severely affect the results. Eg: the outputs are all zeros. Device with a compute capability > 5.3 is required, and it is recommended to use devices with a compute capability >= 7 ` 由于是算力由硬件设备决定,暂无法通过软件方式规避,因此直接的解决方式是升级显卡设备。 或者使用CPU设备进行mindspore的使用。
-
【功能模块】MindSpore Lite 1.6 版本中的 Release Note 中重点讲到【6.1 通过异构并行技术,深度挖掘硬件算力提升推理性能】。个人对该特性比较感兴趣,现有如下问题想请教交流:官方中提到:MindSpore Lite在当前版本实现了GPU与CPU的异构并行,使用Mobilenet-V1网络实测验证,有5%左右的性能提升。请问这个如何复现?是否可以提供复现步骤,及如上测试是在哪个设备上运行的?5%的性能提升,对应的baseline是?该特性指出:将无依赖的分支分别在CPU和GPU上并行执行,然后汇集数据。这一过程需要CPU-GPU之间的交互调度和同步操作,如果这个开销较大,那加速效果也会受到影响吧。这时,为何不采用将整个模型都放在GPU上执行呢?该特性对应的代码段是?可以提供下对应链接吗?我自学阅读下。期待您的回复,谢谢!
-
1 介绍NWChem是运行在高性能并行超级计算机和通常工作站集群上的计算化学软件。NWChem使用标准量子力学描述电子波函或密度,计算分子和周期性系统的特性,还可以进行经典分子动力学和自由能模拟。2 环境要求硬件要求项目说明CPUKunpeng 920GPUNVIDIA Tesla A100 软件要求项目版本下载地址NWChem6.8.1https://codeload.github.com/nwchemgit/nwchem/tar.gz/refs/tags/6.8.1-release鲲鹏GCC9.3.1https://mirrors.huaweicloud.com/kunpeng/archive/compiler/kunpeng_gcc/gcc-9.3.1-2021.03-aarch64-linux.tar.gzHMPI1.1.0https://mirrors.huaweicloud.com/hmpi/Hyper-MPI_1.1.0_openEuler-aarch64.tar.gzNvidia A100驱动470.57.02包含在cuda tookit中Nvidia CUDA组件11.4.1https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux_sbsa.run操作系统要求项目版本下载地址麒麟OS麒麟V10 SP2https://www.kylinos.cnKernel4.19.90-24.4.v2101.ky10.aarch64操作系统自带3 配置编译环境3.1 禁用nouveau驱动步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令查看nouveau驱动是否已禁用 lsmod |grep nouveau步骤 3 执行以下命令禁用nouveau驱动 新建文件/etc/modprobe.d/disable-nouveau.conf 添加如下两行: blacklist nouveau options nouveau modeset=0步骤 4 备份并生成新的initramfs文件 cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img dracut -f /boot/initramfs-$(uname -r).img $(uname -r)步骤 5 重启机器 reboot----结束3.2 安装NVIDIA-CUDA组件(含GPU驱动)步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令确认nouveau驱动已禁用(回显为空) lsmod |grep nouveau步骤 3 执行以下命令安装NVIDIA-CUDA组件: wget https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux_sbsa.run sh cuda_11.4.1_470.57.02_linux_sbsa.run 根据提示安装所有组件。步骤 4 配置环境变量: export PATH=/usr/local/cuda-11.4/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH步骤 5 执行以下命令验证: nvcc -V----结束4 编译和安装 步骤 1 使用PuTTY工具,以root用户登录服务器。 步骤 2 执行以下命令进入主程序安装目录: cd /path/to/nwchem 步骤 3 执行以下命令解压安装包: tar -xvf nwchem-6.8.1-release.tar.gz 步骤 4 执行以下命令修改配置文件: cp ga-5.6.5.tar.gz nwchem-6.8.1-release/src/tools 步骤 5 执行以下命令进入解压后路径: cd nwchem-6.8.1-release/src 步骤 6 执行以下命令进行配置: export NWCHEM_TOP=/path/to/nwchem/nwchem-6.8.1-release export LARGE_FILES=TRUE export NWCHEM_TARGET=LINUX64 export NWCHEM_MODULES=all export ARMCI_NETWORK=MPI-PR export USE_MPI=y export USE_MPIF=y export USE_MPIF4=y export USE_INTERNALBLAS=y export TCE_CUDA=y export CUDA_LIBS="-L/usr/local/cuda/lib64 -lcudart -lcublas" export CUDA_FLAGS="-arch sm_80" export CUDA_INCLUDE="-I. -I/usr/local/cuda/include" export CUDA=nvcc 步骤 7 执行以下命令开始编译: make nwchem_config make 步骤 8 执行以下命令查看是否生成可执行文件: ls -l /path/to/nwchem/nwchem-6.8.1-release/bin/LINUX64/nwchem 步骤 9 执行以下命令设置环境变量: export PATH=/path/to/nwchem/nwchem-6.8.1-release/bin/LINUX64:$PATH----结束
-
【功能模块】【操作步骤&问题现象】1、查询显卡(mindspore_py37) root@ubuntu1804:~# lspci | grep -i vga03:00.0 VGA compatible controller: Huawei Technologies Co., Ltd. Hi1710 [iBMC Intelligent Management system chip w/VGA support] (rev 01)2、服务器是TaiShan 200 (Model 2280) Kunpeng 920 (48核)。请问硬件平台如何选择?可以选择GPU版本吗?【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【功能模块】在训练时报错,提示算子不支持gpu类型【操作步骤&问题现象】1、开始训练,加载数据,走到train时就报错【截图信息】[EXCEPTION] DEVICE(35811,7f3f576f62c0,python):2022-03-03-07:28:44.866.790 [mindspore/ccsrc/runtime/device/gpu/kernel_info_setter.cc:83] SupportedTypeList] Unsupported op [Ceil] on GPUTraceback (most recent call last): File "train.py", line 477, in <module> train(train_paths, s3Client, trainlog, valid_paths) File "train.py", line 373, in train train_model(train_x, train_y) File "/root/miniconda3/envs/py3/lib/python3.7/site-packages/mindspore/nn/cell.py", line 407, in __call__ out = self.compile_and_run(*inputs) File "/root/miniconda3/envs/py3/lib/python3.7/site-packages/mindspore/nn/cell.py", line 734, in compile_and_run self.compile(*inputs) File "/root/miniconda3/envs/py3/lib/python3.7/site-packages/mindspore/nn/cell.py", line 721, in compile _cell_graph_executor.compile(self, *inputs, phase=self.phase, auto_parallel_mode=self._auto_parallel_mode) File "/root/miniconda3/envs/py3/lib/python3.7/site-packages/mindspore/common/api.py", line 551, in compile result = self._graph_executor.compile(obj, args_list, phase, use_vm, self.queue_name)RuntimeError: mindspore/ccsrc/runtime/device/gpu/kernel_info_setter.cc:83 SupportedTypeList] Unsupported op [Ceil] on GPU【日志信息】(可选,上传日志内容或者附件)
-
1.1 介绍NAMD(NAnoscale Molecular Dynamics)是用于分子动力学模拟的计算机软件,使用Charm++并行编程模型编写。它以其并行效率而著称,通常用于模拟大型系统(数百万个原子)。NAMD是由伊利诺伊大学厄巴纳香槟分校的理论和计算生物物理学组(TCB)和并行编程实验室(PPL)合作开发的。关于NAMD的更多信息请访问NAMD官网。语言:C++。一句话描述:分子动力学模拟的开源程序包。开源协议:自定义开源协议。建议的版本建议使用的版本为“NAMD 2.14 ”。1.2 环境要求硬件要求硬件要求如表4-1所示。表1-1 硬件要求项目说明CPU鲲鹏920处理器。 软件要求软件要求如表4-2所示。表1-2 软件要求项目版本下载地址NAMD2.14https://www.ks.uiuc.edu/Research/namdFFTW3.3.8http://www.fftw.org/fftw-3.3.8.tar.gz毕昇编译器1.3.3https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-1.3.3-aarch64-linux.tar.gzHyper MPI1.1.1https://support.huaweicloud.com/usermanual-kunpenghpcs/userg_huaweimpi_0010.htmlNVIDIA CUDA组件11.4https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run测试算例stmv_nve_cudahttps://www.ks.uiuc.edu/Research/namd/utilities/stmv.tar.gz 操作系统要求操作系统要求如表4-3所示。表1-3 操作系统要求项目版本下载地址CentOS8.2https://vault.centos.org/8.2.2004/isos/aarch64/CentOS-8.2.2004-aarch64-dvd1.isoKernel4.18.0-193https://vault.centos.org/8.2.2004/BaseOS/Source/SPackages/kernel-4.18.0-193.el8.src.rpm 1.3 移植规划数据本章节给出NAMD软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。表1-4 移植规划数据序号软件安装规划路径用途说明1-基础环境搭建中的各安装包安装路径。参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。2/path/to/FFTWFFTW的安装规划路径。这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。3/path/to/NAMDNAMD的安装规划路径。4/path/to/CASENAMD的测试规划路径。 1.4 配置编译环境前提条件使用SFTP工具将各安装包上传至服务器对应目录下。配置流程表1-5 配置流程序号配置项说明1基础环境搭建参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。2安装FFTW和TCL参考1.4.1 安装FFTW和TCL。3禁用nouveau驱动参考1.4.2 禁用nouveau驱动。4安装NVIDIA CUDA组件参考1.4.3 安装NVIDIA CUDA组件。5安装毕昇编译器参考1.4.4 安装毕昇编译器。 1.4.1 安装FFTW和TCL操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令安装FFTW、TCL安装包。yum -y install fftw-devel tcl-devel----结束1.4.2 禁用nouveau驱动操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令查看nouveau驱动是否已禁用。lsmod |grep nouveaul 若有回显信息,表示nouveau驱动未禁用,则执行步骤3。l 若无回显信息,表示nouveau驱动已禁用,则结束操作。步骤 3 执行以下命令禁用nouveau驱动。1. 新建文件“disable-nouveau.conf”。vi /etc/modprobe.d/disable-nouveau.conf2. 按“i”进入编辑模式,添加如下内容。blacklist nouveauoptions nouveau modeset=03. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。步骤 4 执行以下命令备份并生成新的“initramfs”文件cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.imgdracut -f /boot/initramfs-$(uname -r).img $(uname -r)步骤 5 执行以下命令重启机器。reboot----结束1.4.3 安装NVIDIA CUDA组件操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令获取NVIDIA CUDA组件。wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run步骤 3 执行以下命令安装NVIDIA CUDA组件。sudo shcuda_11.4.0_470.42.01_linux_sbsa.run步骤 4 执行以下命令进行验证。ls -l /usr/local/cuda-11.4/步骤 5 执行以下命令配置CUDA的环境变量。export CUDA_HOME=/usr/local/cuda-11.4export PATH=/usr/local/cuda-11.4/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH----结束1.4.4 安装毕昇编译器操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令获取毕昇编译器软件包。wget https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-1.3.3-aarch64-linux.tar.gz步骤 3 执行以下命令创建毕昇编译器安装目录(这里以/opt/compiler为例)。mkdir -p /opt/compiler步骤 4 执行以下命令将毕昇编译器压缩包拷贝到安装目录下。cp -r bisheng-compiler-1.3.3-aarch64-linux.tar.gz /opt/compiler步骤 5 执行以下命令进入压缩包目录。cd /opt/compiler步骤 6 执行以下命令解压缩软件包。tar -zxvf bisheng-compiler-1.3.3-aarch64-linux.tar.gz步骤 7 执行以下命令配置毕昇编译器的环境变量。export PATH=/opt/compiler/bisheng-compiler-1.3.3-aarch64-linux/bin:$PATHexport LD_LIBRARY_PATH=/opt/compiler/bisheng-compiler-1.3.3-aarch64-linux/lib:$LD_LIBRARY_PATHexport CC=clang CXX=clang++ FC=flang步骤 8 执行以下命令验证。clang -v若返回结果已包含毕昇编译器版本信息,说明安装成功。----结束1.5 获取源码操作步骤 步骤 1 下载NAMD安装包,需要注册账号。下载地址:https://www.ks.uiuc.edu/Research/namd步骤 2 使用SFTP工具将NAMD安装包上传至服务器“/path/to/NAMD”目录。----结束1.6 编译和安装操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入主程序安装目录。cd /path/to/NAMD步骤 3 执行以下命令解压NAMD安装包。tar -xvf NAMD_2.14_Source.tar.gz步骤 4 执行以下命令进入解压后的NAMD_2.14_Source目录。cd NAMD_2.14_Source步骤 5 执行以下命令解压charm-6.10.2.tar安装包。tar xvf charm-6.10.2.tar步骤 6 执行以下命令进入解压后的charm-6.10.2目录。cd charm-6.10.2步骤 7 执行以下命令进行配置。./build charm++ multicore-arm8 clang flang --with-production步骤 8 执行以下命令进入解压后路径。cd multicore-arm8-flang-clang/tests/charm++/megatest/步骤 9 执行以下命令安装组件。make pgm./pgm +p4步骤 10 执行以下命令修改FFTW、TCL配置项。1. 复制FFTW3的模板。cd /path/to/NAMDcp arch/Linux-x86_64.fftw3 arch/Linux-ARM64.fftw2. 打开arch/Linux-ARM64.fftw文件。vi arch/Linux-ARM64.fftw3. 按“i”进入编辑模式,修改将路径FFTDIR修改为/usr。FFTDIR=/usr4. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。5. 打开arch/Linux-ARM64.tcl文件。vi arch/Linux-ARM64.tcl6. 按“i”进入编辑模式,将路径TCLDIR修改为/usr,库文件版本修改为-ltcl8.6。TCLDIR=/usrTCLLIB=-L$(TCLDIR)/lib -ltcl8.6 -ldl -lpthread7. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。步骤 11 执行以下命令编译NAMD。./config Linux-ARM64-g++ --charm-arch multicore-arm8-flang-clang --with-cuda --cxx clang++ --cc clangcd Linux-ARM64-g++/make编译完成后在当前目录下生成namd2执行程序。----结束1.7 运行和验证操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令创建工作目录。mkdir -p path/to/CASE步骤 3 执行以下命令进入工作目录。cd /path/to/CASE步骤 4 执行以下命令获取算例和二进制文件。wget https://www.ks.uiuc.edu/Research/namd/utilities/stmv.tar.gzwget https://www.ks.uiuc.edu/Research/namd/2.13/benchmarks/stmv_nve_cuda.namd步骤 5 执行以下命令解压stmv.tar.gz。tar xvf stmv.tar.gz步骤 6 执行以下命令把“stmv_nve_cuda.namd”文件拷贝到stmv目录下。cp stmv_nve_cuda.namd stmv步骤 7 执行以下命令运行算例, 开始测试。cd stmv/path/to/NAMD/NAMD_2.14_Source/Linux-ARM64-g++/namd2 +p96 +setcpuaffinity +maffinity +isomalloc_sync +devices 0,1 stmv_nve_cuda.namd需要查看日志中的“day/ns”数值,数值越小性能越优。----结束
-
1 介绍VMD 是一个分子可视化程序,用于使用 3-D 图形和内置脚本显示、动画和分析大型生物分子系统。VMD 支持运行 MacOS X、Unix 或 Windows 的计算机,免费分发,包括源代码。VMD 专为蛋白质、核酸、脂质双层组装等生物系统的建模、可视化和分析而设计。它可用于查看更通用的分子,因为 VMD 可以读取标准蛋白质数据库 (PDB) 文件并显示包含的结构。VMD 提供了多种用于渲染和着色分子的方法:简单的点和线、CPK 球体和圆柱体、甘草键、骨架管和丝带、卡通画等。VMD 可用于动画和分析分子动力学 (MD) 模拟的轨迹。特别是,VMD 可以作为外部 MD 程序的图形前端,通过在远程计算机上显示和动画化正在模拟的分子。一句话描述:VMD是用于3-D 图形和内置脚本显示、动画和分析大型生物分子系统的分子可视化程序语言:C开源协议:UIUC Open Source License建议的版本建议使用版本为“vmd 1.9.4a55”。2 环境要求硬件要求硬件要求如表2-1所示。表2-1 硬件要求项目说明CPUKunpeng 920GPUNVIDIA Tesla A100 软件要求软件要求如表2-2所示。表2-2 软件要求项目版本下载地址VMD1.9.4https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMDNvidia CUDA组件11.4https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run 操作系统要求操作系统要求如表2-3所示。表2-3 操作系统要求项目版本下载地址CentOS8.2https://www.centos.org/download/Kernel4.18.0-193.el8.aarch64https://www.centos.org/download/3 移植规划数据本章节给出VMD软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。表3-1 移植规划数据序号软件安装规划路径用途说明1-基础环境搭建中的各安装包安装路径。参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。2/path/to/vmdvmd的安装规划路径。这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。3/path/to/rpmtcl、tk的RPM包的存放规划路径4 配置编译环境前提条件使用SFTP工具将各安装包上传至服务器对应目录下。配置流程表4-1 配置流程序号配置项说明1基础环境搭建参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。1禁用nouveau驱动参考4.1禁用nouveau驱动。2安装NVIDIA-CUDA组件参考4.2安装NVIDIA-CUDA组件。 4.1 禁用nouveau驱动操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令查看nouveau驱动是否已禁用lsmod |grep nouveau步骤 3 执行以下命令禁用nouveau驱动新建文件/etc/modprobe.d/disable-nouveau.confvim /etc/modprobe.d/disable-nouveau.conf添加如下两行:blacklist nouveauoptions nouveau modeset=0步骤 4 备份并生成新的initramfs文件cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img dracut -f /boot/initramfs-$(uname -r).img $(uname -r)步骤 5 重启机器reboot----结束4.2 安装NVIDIA-CUDA组件操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令确认nouveau驱动已禁用(回显为空)lsmod |grep nouveau步骤 3 执行以下命令安装NVIDIA-CUDA组件:wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.runsudo sh cuda_11.4.0_470.42.01_linux_sbsa.run步骤 4 配置环境变量:export PATH=/usr/local/cuda-11.4/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH步骤 5 执行以下命令验证nvcc --version----结束 5 获取源码操作步骤步骤 1 下载vmd安装包“vmd-1.9.4a55.src.tar.gz”。下载地址:https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD。步骤 2 使用SFTP工具将VMD安装包上传至服务器“/path/to/VMD”目录。----结束6 编译和安装操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入主程序安装目录:cd /path/to/VMD步骤 3 执行以下命令解压安装包:tar -xvf vmd-1.9.4a55.src.tar.gz步骤 4 执行以下命令进入解压后路径:cd vmd-1.9.4a55步骤 5 执行以下命令安装fltk:yum install fltk fltk-devel步骤 6 执行以下命令安装actc:1. 执行以下命令创建、进入actc目录mkdir -p /path/to/VMD/vmd-1.9.4a55/lib/actccd /path/to/VMD/vmd-1.9.4a55/lib/actc2. 在https://sourceforge.net/projects/actc/下载actc安装包3. 执行以下命令解压安装包tar xvf actc-1.1.tar.gz4. 执行以下命令编译actcmv actc-1.1/* ./make如果有libactc.a出现则算是编译成功了。需要额外信息请查看README。步骤 7 执行以下命令安装stride:1. 执行以下命令进入actc目录cd /path/to/VMD/vmd-1.9.4a55/lib/stride2. 在http://webclu.bio.wzw.tum.de/stride/stride.tar.gz下载stride安装包3. 执行以下命令解压安装包tar xvf stride.tar.gz4. 执行以下命令安装stridemake5. 执行以下命令创建软连接ln -s /path/to/VMD/vmd-1.9.4a55/lib/stride/stride /path/to/VMD/vmd-1.9.4a55/lib/stride/stride_LINUXARM64步骤 8 执行以下命令安装surf:1. 执行以下命令进入surf目录cd /path/to/VMD/vmd-1.9.4a55/lib/surf2. 执行以下命令解压安装包tar xvf surf.tar.Z3. 执行以下命令安装surfyum install imakemake dependmake surf4. 执行以下命令创建软连接ln -s /path/to/VMD/vmd-1.9.4a55/lib/stride/surf /path/to/VMD/vmd-1.9.4a55/lib/stride/surf_LINUXARM64步骤 9 执行以下命令安装vrpn:1. 执行以下命令进入vrpn目录mkdir -p /path/to/VMD/vmd-1.9.4a55/lib/vrpncd /path/to/VMD/vmd-1.9.4a55/lib/vrpn2. 在https://github.com/vrpn/vrpn下载vrpn安装包3. 执行以下命令解压安装包unzip vrpn-master.zip4. 执行以下命令安装vrpnmv vrpn-master/* ./mkdir buildcd buildyum install cmake libarchivecmake ../ -DCMAKE_INSTAL_PREFIX=/path/to/vmd/vmd-1.9.4a55/lib/vrpn/make && make install 步骤 10 执行以下命令安装tachyon:1. 执行以下命令进入tachyon目录cd /path/to/VMD/vmd-1.9.4a55/lib/tachyon2. 在https://ftp.sudhip.com/archlinux/other/community/tachyon/tachyon-0.99b6.tar.gz下载tachyon安装包3. 执行以下命令解压安装包tar xvf tachyon-0.99b6.tar.gz4. 执行以下命令进入安装包unix目录cd tachyon/unix5. 执行以下命令修改配置vim Make-config 将支持JPEG和PNG部分全部注释掉169 #USEJPEG=170 #JPEGINC=171 #JPEGLIB=…189 #USEPNG=190 #PNGINC=191 #PNGLIB= 修改前:169 USEJPEG=170 JPEGINC=171 JPEGLIB=…189 USEPNG=190 PNGINC=191 PNGLIB=执行以下命令去除-m64编译参数sed -i "s/-m64//" Make-archcd ../ demosrc修改spaceball.c第35行,将port改为serialport;修改109行的括号,源码漏掉几个括号vim spaceball.c35 if (serialport != NULL) {…109 if (((buttonchanged & SBALL_BUTTON_PICK) && (buttons & SBALL_BUTTON_PICK)) ||110 ((buttonchanged & SBALL_BUTTON_1) && (buttons & SBALL_BUTTON_1)) ||111 ((buttonchanged & SBALL_BUTTON_LEFT) && (buttons & SBALL_BUTTON_LEFT)) ) { 修改前:35 if (port != NULL) {…109 if ((buttonchanged & SBALL_BUTTON_PICK) && (buttons & SBALL_BUTTON_PICK)) ||110 (buttonchanged & SBALL_BUTTON_1) && (buttons & SBALL_BUTTON_1)) ||111 (buttonchanged & SBALL_BUTTON_LEFT) && (buttons & SBALL_BUTTON_LEFT)) ) { 6. 执行以下命令安装tachyoncd ../unixmake linux-64-thr7. 执行以下命令创建软连接ln –s /path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/compile/linux-64-thr/tachyon /path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon_LINUXARM64 步骤 11 执行以下命令安装tcl/tk 8.5:1. 使用SFTP工具将tcl、tk的rpm包上传至服务器“/path/to/rpm”目录2. 执行以下命令安装tcl、tkcd /path/to/rpmrpm –ivh tcl-8.5.13-8.el7.aarch64.rpmrpm –ivh tcl-devel-8.5.13-8.el7.aarch64.rpmrpm –ivh tk-8.5.13-6.el7.aarch64.rpmrpm –ivh tk-devel-8.5.13-6.el7.aarch64.rpm步骤 12 执行以下命令编译plugins:1. 执行以下命令进入plugins目录 cd /path/to/VMD/plugins2. 执行命令设置tcl头文件和库文件环境变量export TCL_INCLUDE_DIR=/usr/share/tcl8.5export TCL_LIBRARY_DIR=/usr/lib64/tcl8.53. 执行以下命令编译make LINUXARM64mkdir /path/to/vmd/vmd-1.9.4a55/pluginsexport PLUGINDIR=/path/to/vmd/vmd-1.9.4a55/pluginsmake distrib 步骤 13 执行以下命令编译vmd:1. 执行以下命令进入vmd-1.9.4a55目录 cd /path/to/vmd/vmd-1.9.4a55/2. 执行命令修改配置文件vim configure设置安装路径信息$install_bin_dir="/path/to/vmd/ vmd-1.9.4a55/bin";$install_library_dir="/path/to/vmd/ vmd-1.9.4a55/lib/vmd"; 设置tachyon环境变量$libtachyon_dir="/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon";$libtachyon_include="-I/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/src";$libtachyon_library="-L"/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/compile/linux-64-thr; 修改LINUXARM64的$arch_nvccflags参数注释掉"-gencode arch=compute_30,code=compute_30 " .s 16 $install_bin_dir="/path/to/vmd/vmd-1.9.4a55/bin";1718 # Directory where VMD files and executables are installed19 $install_library_dir="/path/to/vmd/vmd-1.9.4a55/lib/vmd";…1354 $libtachyon_dir = "/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon";1355 $libtachyon_include = "-I/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/src";1356 $libtachyon_library = "-L/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/compile/linux-64-thr";…2627 #"-gencode arch=compute_30,code=compute_30 " . 修改前:16 $install_bin_dir="/usr/local/bin";1718 # Directory where VMD files and executables are installed19 $install_library_dir="/usr/local/lib/$install_name";…1354 $libtachyon_dir = "$vmd_library_dir/tachyon";1355 $libtachyon_include = "-I$libtachyon_dir/include";1356 $libtachyon_library = "-L$libtachyon_dir/lib_$config_arch";…2627 "-gencode arch=compute_30,code=compute_30 " . 3. 执行以下命令编译./configure LINUXARM64 EGLPBUFFER CUDA IMD LIBTACHYON ZLIB COLVARS TCL PTHREADS SILENTcd src && make verycleanmake如果出现“No resource compiler required on this platform”,说明编译顺利,然后安装make install当看到"Make sure /Projects/vmd/ vmd-1.9.4a55/bin is in your path.VMD installation complete. Enjoy!"说明安装成功。 ----结束7 运行和验证操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入bin目录:cd /path/to/vmd/vmd-1.9.4a55/bin步骤 3 执行以下命令运行:./vmd ----结束8 更多资源vmd 官网:http://www.ks.uiuc.edu/Research/vmd/
-
1 介绍单颗粒冷冻电镜是结构生物学研究的重要手段之一,冷冻电镜的模型重构通常需要对几万甚至几十万张投影图片进行分析、组装和优化,计算量巨大,这需要先进的计算架构配合有效的算法才能实现。Relion是专门为低温电子显微镜(cryo-EM)设计的图像处理软件。由MRC分子生物学实验室的Sjors Scheres组开发的Relion框架正在革新冷冻电磁领域。该软件在通过电子冷冻显微镜数据的单颗粒分析来优化大分子结构。Relion采用经验贝叶斯方法对多个3D重建或2D类平均值进行细化。借助GPU CUDA并行计算架构,改进了算法,GPU解决了Cryo-EM中计算量最大的过程,例如粒子自动选取,2D和3D图像分类以及高分辨率图像细化。关于RELION的更多信息请访问RELION官网。语言:C++/CUDA一句话描述:Relion 是由 MRC 的 Scheres 在 2012 年发布的针对单颗粒冷冻电镜图片进行处理的框架。开源协议:GPLv3建议的版本建议使用版本为“RELION 3.1.2”。2 环境要求硬件要求硬件要求如表2-1所示。表2-1 硬件要求项目说明CPUKunpeng 920GPUNVIDIA Tesla A100 软件要求软件要求如表2-2所示。表2-2 软件要求项目版本下载地址RELION3.1.2https://github.com/3dem/relion/archive/refs/tags/3.1.2.tar.gz毕昇编译器1.3.3https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-1.3.3-aarch64-linux.tar.gzHMPI21.0https://support.huaweicloud.com/usermanual-kunpenghpcs/userg_huaweimpi_0011.htmlFFTW3.3.8https://fftw.org/pub/fftw/fftw-3.3.8.tar.gzcmake3.8.1https://cmake.org/files/v3.8/cmake-3.8.1.tar.gzNvidia CUDA组件11.4https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run测试算例relion_benchmark.tar.gzftp://ftp.mrc-lmb.cam.ac.uk/pub/scheres/relion_benchmark.tar.gz 操作系统要求操作系统要求如表2-3所示。表2-3 操作系统要求项目版本下载地址CentOS8.2https://www.centos.org/download/Kernel4.18.0-193.el8.aarch64https://www.centos.org/download/3 移植规划数据本章节给出RELION软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。表3-1 移植规划数据序号软件安装规划路径用途说明1-基础环境搭建中的各安装包安装路径。参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章节。2/path/to/bisheng-1.3.3毕昇编译器的安装规划路径。这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。3/path/to/HMPIHMPI的安装规划路径4/path/to/ NVIDIA-CUDANVIDIA-CUDA组件的安装规划路径。5/path/to/FFTWFFTW的安装规划路径。6/path/to/CMAKECMAKE的安装规划路径。7path/to/wxWidgetswxWidgets的安装规划路径。8path/to/CTFFINDCTFFIND的安装规划路径。9/path/to/RELIONRELION的安装规划路径。10/path/to/CASERELION的算例文件存放规划路径。4 配置编译环境前提条件使用SFTP工具将各安装包上传至服务器对应目录下。配置流程表4-1 配置流程序号配置项说明1基础环境搭建参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。2安装毕昇编译器参考《毕昇编译器》中“安装毕昇编译器”章3安装HMPI参考《源码安装Hyper MPI》中“毕昇编译Hyper MPI软件包”章节 。4禁用nouveau驱动参考4.1禁用nouveau驱动。5安装NVIDIA-CUDA组件参考4.2安装NVIDIA-CUDA组件。6安装FFTW参考4.3 安装FFTW。7安装cmake参考4.4 安装cmake。8安装wxWidgets参考4.5 安装wxWidgets。9安装CTFFIND参考4.6 安装CTFFIND。4.1 禁用nouveau驱动4.2 安装NVIDIA-CUDA组件4.3 安装FFTW4.4 安装cmake4.5 安装wxWidgets4.6 安装CTFFIND4.1 禁用nouveau驱动操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令查看nouveau驱动是否已禁用lsmod |grep nouveau步骤 3 执行以下命令禁用nouveau驱动新建文件/etc/modprobe.d/disable-nouveau.confvim /etc/modprobe.d/disable-nouveau.conf添加如下两行:blacklist nouveauoptions nouveau modeset=0步骤 4 备份并生成新的initramfs文件cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img dracut -f /boot/initramfs-$(uname -r).img $(uname -r)步骤 5 重启机器reboot----结束4.2 安装NVIDIA-CUDA组件操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令确认nouveau驱动已禁用(回显为空)lsmod |grep nouveau步骤 3 执行以下命令安装NVIDIA-CUDA组件:wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.runsudo sh cuda_11.4.0_470.42.01_linux_sbsa.run步骤 4 配置环境变量:export PATH=/usr/local/cuda-11.4/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH步骤 5 执行以下命令验证nvcc --version----结束 4.3 安装FFTW操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令下载FFTW安装包wget https://fftw.org/pub/fftw/fftw-3.3.8.tar.gz步骤 3 执行以下命令解压FFTW安装包tar –zxvf fftw-3.3.8.tar.gz步骤 4 执行以下命令进入FFTW安装包 cd fftw-3.3.8步骤 5 执行以下命令安装FFTW:export CC=clang CXX=clang++ FC=flang./bootstrap.sh./configure --prefix=/path/to/FFTW --enable-single --enable-float --enable-neon --enable-shared --enable-threads --enable-openmp --enable-mpi CFLAGS="-O3 -fomit-frame-pointer -fstrict-aliasing"make -j && make installmake clean./configure --prefix=/path/to/FFTW --enable-long-double --enable-shared --enable-threads --enable-openmp --enable-mpi CFLAGS="-O3 -fomit-frame-pointer -fstrict-aliasing"make -j && make installmake clean./configure --prefix=/path/to/FFTW --enable-shared --enable-threads --enable-openmp --enable-mpi CFLAGS="-O3 -fomit-frame-pointer -fstrict-aliasing"make -j && make install步骤 6 执行以下命令配置环境变量:export PATH=/path/to/FFTW/bin:$PATHexport LD_LIBRARY_PATH=/path/to/FFTW/lib:$LD_LIBRARY_PATH4.4 安装cmake操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令安装cmake:wget https://cmake.org/files/v3.8/cmake-3.8.1.tar.gztar -zxvf cmake-3.8.1.tar.gzcd cmake-3.8.1./configure --prefix=/path/to/CMAKEmake -j64make install步骤 3 执行以下命令配置环境变量:export PATH=/path/to/CMAKE/bin:$PATH4.5 安装wxWidgets操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令安装wxWidgets:wget https://github.com/wxWidgets/wxWidgets/archive/refs/tags/v3.0.5.tar.gz tar -zxvf v3.0.5.tar.gzcd wxWidgets-3.0.5./configure --disable-guimake -j16make install步骤 3 执行以下命令配置环境变量:ldconfig步骤 4 执行以下命令进行验证:wx-config --version4.6 安装CTFFIND操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令解压ctffind:wget https://grigoriefflab.umassmed.edu/system/tdf?path=ctffind-4.1.14.tar.gz&file=1&type=node&id=26 tar -zxvf ctffind-4.1.14.tar.gzcd ctffind-4.1.14步骤 3 执行以下命令修改文件:vim src/core/matrix.cpp修改第7行的代码7 #define _AL_SINCOS(x, s, c) s = sinf(x); c = cosf(x);原始内容:7 #define _AL_SINCOS(x, s, c) __asm__ ("fsincos" : "=t" (c), "=u" (s) : "0" (x))步骤 4 执行以下命令进行编译安装:yum install -y libjpeg* libtiff* fftw*autoreconf -f -i./configure --prefix=/path/to/ctffind --disable-mkl --enable-openmp --enable-debugmodevim Makefile将CFLAGS CPPFLAGS CXXFLAGS中的-O2改成-O0296 CFLAGS = -g –O0297 CPP = clang -E298 CPPFLAGS = -O0 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG299 CXX = clang++300 CXXCPP = clang++ -E301 CXXDEPMODE = depmode=gcc3302 CXXFLAGS = -O0 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG -fopenmp 原始内容:296 CFLAGS = -g -O2297 CPP = clang -E298 CPPFLAGS = -O2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG299 CXX = clang++300 CXXCPP = clang++ -E301 CXXDEPMODE = depmode=gcc3302 CXXFLAGS = -O2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG -fopenmpmake & make install步骤 5 执行以下命令配置环境变量:export PATH=/path/to/install/ctffind/bin:$PATH----结束 5 获取源码操作步骤步骤 1 下载RELION安装包“RELION-3.1.2.tar.gz”。下载地址:https://github.com/3dem/relion/archive/refs/tags/3.1.2.tar.gz。步骤 2 使用SFTP工具将RELION安装包上传至服务器“/path/to/RELION”目录。----结束6 编译和安装操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入主程序安装目录:cd /path/to/RELION步骤 3 执行以下命令解压安装包:tar -xvf 3.1.2.tar.gz步骤 4 执行以下命令进入解压后路径:cd relion-3.1.2mkdir build步骤 5 执行以下命令进行配置:yum install -y libtiff-* fltk* fltk-devel*yum -y install xorg-x11-xauthcd buildexport FFTW_HOME=/path/to/FFTWexport FFTW_LIB=$FFTW_HOME/libexport FFTW_INCLUDE=$FFTW_HOME/includecmake -DBUILD_SHARED_LIBS=OFF -DCUDA=ON -DCudaTexture=ON -DCUDA_ARCH=80 -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/path/to/install/RELION ..(-DCUDA_ARCH的值要对应显卡的计算能力,最低35,如A100为80,V100为70,具体可通过Nvidia网页进行查看)步骤 6 执行以下命令开始编译:make -j40 make -j40 install步骤 7 执行以下命令查看RELION版本:/path/to/install/RELION/bin/relion_refine_mpi --help步骤 8 执行以下命令设置环境变量:export PATH=/path/to/install/RELION/bin:$PATH----结束7 运行和验证操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入测试目录:cd /path/to/CASE步骤 3 执行以下命令解压算例文件:tar xvf relion_benchmark.tar.gz步骤 4 执行以下命令进入解压后的目录:cd relion_benchmark步骤 5 执行以下命令运行RELION测试:mkdir class3dyum -y install timetime -p mpirun --allow-run-as-root -n 4 relion_refine_mpi --j 24 --gpu 0 --pool 100 --dont_combine_weights_via_disc --i Particles/shiny_2sets.star --ref emd_2660.map:mrc --firstiter_cc --ini_high 60 --ctf --ctf_corrected_ref --iter 25 --tau2_fudge 4 --particle_diameter 360 --K 6 --flatten_solvent --zero_mask --oversampling 1 --healpix_order 2 --offset_range 5 --offset_step 2 --sym C1 --norm --scale --random_seed 0 --maxsig 500 --fast_subsets --o class3d/test01----结束8 更多资源RELION Github:https://github.com/3dem/relionRELION 官网:https://relion.readthedocs.io/en/latest/Installation.html#download-relion
-
去年都是在华为云上买linux服务器配置gpu版本的mindspore跑程序,也明显比cpu的快很多但是今年用modelarts上这个ascend跑同样的代码,发现速度和cpu差不多,而且好像也没有gpu的版本正常的话ascend应该是用这个npu跑深度学习的是吗?这个npu一般是会比gpu快一些的吧?有没有相关的介绍和链接可以分享一下呢 谢谢~
-
【操作步骤&问题现象】专家您好,我遇到了跟该版主类似的问题:动态图模式下,求grads报错未显式调用的算子Transpose_MindSpore_昇腾论坛_华为云论坛 (huaweicloud.com)我报错信息为:PrintUnsupportedTypeException] Select GPU kernel op[Mul] fail! Incompatible data type!而且调试中间还出现了warning: Fail to find bprop function for Multinomial. fn: None Fail to find bprop function for UniformReal. fn: None我使用专家给出的生成计算图的方式,观察到生成的计算图中的确出现了bool类型,但是在产生bool类型的算子上下文中都没有使用bool类型的算子,这个产生bool类型的算子就像是凭空出现的。希望您能不吝赐教,帮助我解决这个问题,谢谢您!【截图信息】【日志】
-
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-1所示。表1-1 硬件要求项目说明CPUKunpeng 920GPUNVIDIA Tesla A100 软件要求软件要求如表2-2所示。表1-2 软件要求项目版本下载地址GROMACS2019.3http://ftp.gromacs.org/pub/gromacs/gromacs-2019.3.tar.gz毕昇编译器1.3.3https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-1.3.3-aarch64-linux.tar.gzHMPI21.0https://support.huaweicloud.com/usermanual-kunpenghpcs/userg_huaweimpi_0010.htmlOpenBLAS0.3.6https://github.com/xianyi/OpenBLAS/archive/refs/tags/v0.3.6.tar.gzFFTW3.3.8https://fftw.org/pub/fftw/fftw-3.3.8.tar.gzcmake3.8.1https://cmake.org/files/v3.8/cmake-3.8.1.tar.gzNvidia CUDA组件11.4https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run测试算例water_GMX50_barehttps://ftp.gromacs.org/pub/benchmarks/ 操作系统要求操作系统要求如表2-3所示。表1-3 操作系统要求项目版本下载地址CentOS8.2https://www.centos.org/download/Kernel4.18.0-193.el8.aarch64https://www.centos.org/download/3 编译安装依赖库3.1 禁用nouveau驱动操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令查看nouveau驱动是否已禁用 lsmod |grep nouveau步骤 3 执行以下命令禁用nouveau驱动 新建文件/etc/modprobe.d/disable-nouveau.conf 添加如下两行: blacklist nouveau options nouveau modeset=0步骤 4 备份并生成新的initramfs文件 cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img dracut -f /boot/initramfs-$(uname -r).img $(uname -r)步骤 5 重启机器 reboot----结束3.2 安装NVIDIA-CUDA组件操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令确认nouveau驱动已禁用(回显为空) lsmod |grep nouveau步骤 3 执行以下命令安装NVIDIA-CUDA组件: wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run sudo sh cuda_11.4.0_470.42.01_linux_sbsa.run步骤 4 配置环境变量: export PATH=/usr/local/cuda-11.2/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH步骤 5 执行以下命令验证 nvcc -v----结束3.3 安装毕昇编译器操作步骤参考《毕昇编译器用户指南》中“安装毕昇编译器”章节----结束3.4 安装HMPI操作步骤参考《华为高性能通信库用户指南》中“源码安装Hyper MPI”章节----结束3.5 安装OPENBLAS操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令解压OpenBLAS安装包: tar -zxvf OpenBLAS-0.3.6.tar.gz步骤 3 执行以下命令进入解压后的目录: cd OpenBLAS-0.3.6步骤 4 执行以下命令编译安装OpenBLAS: make make PREFIX=/path/to/OPENBLAS install步骤 5 执行以下命令设置OpenBLAS的环境变量: export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH----结束3.6 安装FFTW操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令安装FFTW: wget https://fftw.org/pub/fftw/fftw-3.3.8.tar.gz tar –zxvf fftw-3.3.8.tar.gz cd fftw-3.3.8 ./bootstrap.sh ./configure --prefix=/path/to/FFTW --enable-single --enable-float --enable-neon --enable-shared --enable-threads --enable-openmp --enable-mpi CFLAGS="-O3 -fomit-frame-pointer -fstrict-aliasing" make -j && make install make clean ./configure --prefix=/path/to/FFTW --enable-long-double --enable-shared --enable-threads --enable-openmp --enable-mpi CFLAGS="-O3 -fomit-frame-pointer -fstrict-aliasing" make -j && make install make clean ./configure --prefix=/path/to/FFTW --enable-shared --enable-threads --enable-openmp --enable-mpi CFLAGS="-O3 -fomit-frame-pointer -fstrict-aliasing" make -j && make install步骤 3 执行以下命令配置环境变量: export PATH=/path/to/FFTW/bin:$PATH export LD_LIBRARY_PATH=/path/to/FFTW/lib:$LD_LIBRARY_PATH3.7 安装cmake操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令安装cmake: wget https://cmake.org/files/v3.8/cmake-3.8.1.tar.gz tar -zxvf cmake-3.8.1.tar.gz cd cmake-3.8.1 ./configure --prefix=/path/to/CMAKE make -j64 make install步骤 3 执行以下命令配置环境变量: export PATH=/path/to/CMAKE/bin:$PATH4 编译安装主程序操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入主程序安装目录: cd /path/to/GROMACS步骤 3 执行以下命令解压安装包: tar -xvf gromacs-2019.3.tar.gz步骤 4 执行以下命令进入解压后路径: cd gromacs-2019.3 mkdir build步骤 5 执行以下命令修改配置文件: vim cmake/gmxManageNvccConfig.cmake #注释第116、117、120、121行步骤 6 执行以下命令进行配置: sed -i '212s/return fftw_version;/return 0;/g' src/gromacs/utility/binaryinformation.cpp sed -i '214s/return fftwf_version;/return 0;/g' src/gromacs/utility/binaryinformation.cpp sed -i '457s/int fftwflags = FFTW_DESTROY_INPUT;/int fftwflags = 0;/g' src/gromacs/fft/fft5d.cpp sed -i '587s/FFTWPREFIX(cleanup)();/fftwf_cleanup_threads();/g' src/gromacs/fft/fft_fftw3.cpp cd build FLAGS="-march=armv8.2-a -mcpu=tsv110"; CFLAGS=$FLAGS CXXFLAGS=$FLAGS LDFLAGS="-fuse-ld=lld" CC=mpicc CXX=mpicxx \ cmake -DCMAKE_INSTALL_PREFIX=/path/to/GROMACS \-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/lib/libopenblas.a \-DGMX_LAPACK_USER=/path/to/OPENBLAS/lib/libopenblas.a \-DFFTWF_LIBRARY=/path/to/FFTW/lib/libfftw3f.so \-DFFTWF_INCLUDE_DIR=/path/to/FFTW/include \-DGMX_GPU=on \-DGMX_OPENMP=on \-DGMX_X11=off \-DGMX_MPI=on \-DHWLOC_LIBRARIES=/usr/lib64 \-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \../步骤 7 执行以下命令开始编译: make -j40 V=1 make -j40 install步骤 8 执行以下命令查看是否生成可执行文件: ll /path/to/GROMACS/bin/gmx_mpi步骤 9 执行以下命令设置环境变量: export PATH=/path/to/GROMACS/bin:$PATH----结束
-
AlexNet模型AlexNet中包含了几个比较新的技术点,也首次在CNN中成功应用了ReLU、Dropout和LRN等Trick。同时AlexNet也使用了GPU进行运算加速。AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下:(1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。虽然ReLU激活函数在很久之前就被提出了,但是直到AlexNet的出现才将其发扬光大。(2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。Dropout虽有单独的论文论述,但是AlexNet将其实用化,通过实践证实了它的效果。在AlexNet中主要是最后几个全连接层使用了Dropout。(3)在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。(4)提出了LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。(5)使用CUDA加速深度卷积网络的训练,利用GPU强大的并行计算能力,处理神经网络训练时大量的矩阵运算。AlexNet使用了两块GTX 580 GPU进行训练,单个GTX 580只有3GB显存,这限制了可训练的网络的最大规模。因此作者将AlexNet分布在两个GPU上,在每个GPU的显存中储存一半的神经元的参数。因为GPU之间通信方便,可以互相访问显存,而不需要通过主机内存,所以同时使用多块GPU也是非常高效的。同时,AlexNet的设计让GPU之间的通信只在网络的某些层进行,控制了通信的性能损耗。 (6)数据增强,随机地从256*256的原始图像中截取224*224大小的区域(以及水平翻转的镜像),相当于增加了2*(256-224)^2=2048倍的数据量。如果没有数据增强,仅靠原始的数据量,参数众多的CNN会陷入过拟合中,使用了数据增强后可以大大减轻过拟合,提升泛化能力。进行预测时,则是取图片的四个角加中间共5个位置,并进行左右翻转,一共获得10张图片,对他们进行预测并对10次结果求均值。同时,AlexNet论文中提到了会对图像的RGB数据进行PCA处理,并对主成分做一个标准差为0.1的高斯扰动,增加一些噪声,这个Trick可以让错误率再下降1%。
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签