用intel的oneapi包编译cp2k最终make报错(dbcsr的问题)

在ubuntu22上安装cp2k,gcc默认版本gcc-11, cp2k使用版本2022.1

cp2k安装方法采用tool/toolchain内install_cp2k_toolchain.sh

安装前准备:已经安装intel oneapi的base(包含c和c++以及mkl等)和hpc(包含fortran编译器)的2023.2版本,自从2024年后,intel提供oneapi内c编译器为icx, c++为icpx,fortran为ifx,后者不再提供ifort,因此编译安装openmpi等包时,仅需提供CC=icx CXX=icpx FC=ifx等即可编译安装,但是测试后发现会和其它平台版本匹配上有很多错误,所以这里依旧安装了带有ifort的intel oneapi版本,即2023.2的base和hpc包。并以此安装了openmpi。

安装cp2k: 在tool/toolchain内

./install_cp2k_toolchain.sh --math-mode=mkl 

会识别当前系统的gcc等,以及mip环境,还有intel的mkl等

随后安装一系列包,最后按照提示,使用 make命令后,会编译错误,如

compilation aborted for dbcsr_machine.F90 (code 1)

make[] : ***[...dbcsr_machine.o] 错误1

发现问题可能是exts/下的dbcsr的问题,会导致并行版本的cp2k如psmp等报错。发现只要使用oneapi mkl,则无法解决。

因此,最终使用openblas和不用intel编译器的openmpi成功安装cp2k。

./install_cp2k_toolchain.sh --math-mode=openblas

其中openblas安装错误,可以更换版本,个别包安装报错,一般都是gcc版本问题,对cp2k2022.1,建议使用gcc-12,个别报错可用gcc-11,最终make用gcc-12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值