1.[Chem RISC-V] 在全志 D1 上玩 xTB
2.Visual Studio配置C++中Armadillo矩阵库的源码方法
3.OpenBLAS下载与安装
4.在Expanse上编译最新版的CP2K 2024.01(cpu+gpu)
[Chem RISC-V] 在全志 D1 上玩 xTB
在计算化学领域,xTB是编译Grimme课题组开发的一款紧结合子半经验量化软件,其性能在半经验模型领域中处于领先地位。源码本文以Mango Pi MQ-Pro开发板搭载的编译全志D1处理器为例,详细介绍了如何将xTB软件移植至RISC-V架构上,源码并进行安装与测试。编译新sar指标源码
在移植过程中,源码考虑到全志D1处理器的编译特性,选择使用GNU编译器代替Intel编译器。源码关于数学库的编译选择,Ubuntu ..2 LTS riscv版本通过apt安装的源码OpenBLAS无法在全志D1上正常使用,故选择Netlib的编译BLAS库作为备选方案。
为确保移植成功,源码作者从GitHub上获取了xTB软件最新版本6.5.1,编译并进行编译。源码源码共享论坛宗旨值得注意的是,由于xTB不能安装在源码目录下,因此需要对源码目录进行重命名,并设置安装目录为xtb-6.5.1。经过长时间的编译过程,最终软件成功安装。
为了验证移植的可行性,本文以苯的结构优化与频率计算为例,展示了一段实际操作流程。结果显示,软件运行稳定,测试全部通过。
通过上述介绍,可以发现xTB软件在全志D1处理器上移植与运行是挪车源码1.5.8可行的。尽管移植过程中存在一些技术挑战,如数学库的兼容性问题,但在使用Netlib的BLAS库作为解决方案后,这些问题得到了妥善解决。未来,随着RISC-V架构的普及与发展,相信会有更多计算化学软件能够成功移植至RISC-V平台,为相关领域带来更高效、更具竞争力的计算解决方案。
Visual Studio配置C++中Armadillo矩阵库的方法
在Visual Studio中配置C++环境下的Armadillo矩阵库的步骤如下:
首先,访问Armadillo官网 (arma.sourceforge.net),下载最新源代码。点击下载链接后,库的c util uuid源码源代码将自动下载。
在Visual Studio中,新建一个空项目,设置项目名称和存储位置,建议选择易于访问的文件夹。然后,将下载的Armadillo源代码解压到项目文件夹中。
打开Visual Studio,进入“生成”->“配置管理器”,确保配置为x,且Debug模式已选中。接着,右键项目选择“属性”,在“VC++”栏中,分别添加包含目录和库目录,博客源码下指向Armadillo的include和lib_win\examples文件夹。
如果“C/C++”一栏未显示,可以通过编写代码并运行来使其出现。在“附加包含目录”和“附加库目录”中,分别添加包含和库路径。
在“链接器”中,添加“附加依赖项”:libopenblas.lib。生成解决方案后,将libopenblas.lib文件复制到项目目录的x\Debug文件夹。
将Armadillo库的example1.cpp中的示例代码复制到项目源文件,运行代码。如果遇到找不到libopenblas.dll的问题,需确保该库文件已复制到正确位置。
如果调试控制台显示正常信息,恭喜你,Armadillo矩阵库已成功配置在Visual Studio中。至此,配置完成。
OpenBLAS下载与安装
在进行 OpenBLAS 的下载与安装时,首先需要访问 GitHub 平台,找到 OpenBLAS 的源码仓库。具体地址为:github.com/xianyi/OpenBLAS。在该页面,选择你想要下载的版本,本文将以最新的 develop 版本为例进行演示。
下载完成之后,需要将下载的文件解压至指定目录。例如,使用 unzip 命令将开发版本的文件解压至当前目录下。
解压完成之后,使用 cd 命令进入解压后的目录,确保你已经定位到 OpenBLAS 的开发版本文件夹。
接下来,执行编译命令。在终端中输入 "make j8",这里的 "j8" 表示并行编译的线程数,你可以根据你的硬件情况调整这个值。编译命令会将源代码编译成可执行文件。
编译完成后,执行安装命令。使用 "make PREFIX=/usr/Tool/OpenBLAS-develop install" 命令进行安装。这里 "/usr/Tool/OpenBLAS-develop" 是你希望安装 OpenBLAS 的路径,可以根据自己的需求进行修改。
在执行安装命令后,OpenBLAS 会被安装至指定的路径。确保这个路径被你的系统加入到环境变量中,这样你就可以在其他程序中使用 OpenBLAS 的功能了。至此,OpenBLAS 的下载与安装流程就完成了。
在Expanse上编译最新版的CP2K .(cpu+gpu)
在 Expanse 集群上编译最新版的 CP2K .,需以下步骤:
使用 oneAPI toolkits(base, hpc)进行编译,mkl 已集成于 toolkit 内。
建议离线安装编译器套件,详情请参考 intel.com 的指南。
安装完成套件后,通过 source /home/account/intel/oneapi/setvars.sh 加载环境,包含 icx, ifx, mpiifort 等。
进入存放程序的目录(如 ~/bin),下载 cp2k 源码并解压。
通过 wget 和 tar 命令获取并解压 cp2k-.1.tar.bz2。
采用 toolchain 进行编译 cp2k。
解压后进入 cp2k-.1/tools/toolchain 目录,使用 install_cp2k_toolchain.sh 脚本进行编译配置。
需添加 expanse 集群上 GPU(V)和 CPU(Zen2 架构 AMD 芯片)的参数(--gpu-ver=V 和 --target-cpu=core-avx2)。
注意使用 -O3 的优化等级以充分利用 AVX2 指令集,或使用-O2 保证程序稳定性。
加载 cuda 环境以支持 GPU 编译。
执行 toolchain 脚本安装所需插件,提供自定义安装命令。
安装过程可能耗时,建议作业投至集群并 SSH 到节点进行安装,安装后需重新加载环境。
尽管未单独编译 openblas,脚本会安装 openblas 以检测系统架构。
安装插件后,加载 setup 环境并使用 make 命令编译 CP2K(分 CPU 和 GPU 版本两次编译)。
安装完成后,将 exe/local/ 添加至 ~/.bashrc 或在作业脚本中 source 以使用编译结果。
感谢 wll 老师提供的计算资源和 xc 师兄的支持。