【CP2K学习】-在Ubuntu上安装CP2K的全过程(包括gcc,gfortran,MKL等配置)

在Ubuntu中安装CP2K

  • CP2K的安装
    • 检查系统是否安装gcc,gfortran
    • MKL数学库的安装
    • CP2K安装包下载
    • CP2K的编译
    • CP2K的测试
      • ssmp版本测试
      • popt版本测试

在这里插入图片描述
CP2K是第一性原理计算程序中发展迅速的程序之一,因其开源性、速度性等优点,是广大计算化学研究者的选择。

本文档用于记录安装CP2K的全过程,主要参考来源为卢天老师的博文[CP2K第一性原理程序在CentOS中的简易安装方法],本文在此博文的指导下,将某些安装过程细化。

注:本系统中的Ubuntu版本为20.04.1,本次安装CP2K的版本为2023.2

CP2K的安装

检查系统是否安装gcc,gfortran

在安装CP2K前,需要检查系统中是否安装了gcc,gfortran,以及其版本是否高于5.5版

gcc -v
gfortran -v

如果没有安装,则需要使用root权限安装

sudo apt install gcc
sudo apt install gfortran

MKL数学库的安装

  1. 首先进入MKL的官网
    在这里插入图片描述
  2. 选择linux系统-Offline Installer(离线安装)-2023.2.0(版本号)
    在这里插入图片描述
    在这个页面的下方可以看到下载的链接以及安装指导
    在这里插入图片描述
    这里提示可以通过以下这两行代码在linux系统上分别下载、安装
    在这里插入图片描述
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/992857b9-624c-45de-9701-f6445d845359/l_BaseKit_p_2023.2.0.49397_offline.sh
#注意需要进入安装包所在目录,在运行以下命令,如果没有权限,也可以用bash运行
sudo sh ./l_BaseKit_p_2023.2.0.49397_offline.sh

注意:此处的安装会使系统页面变成需要自己在系统上选择下一步的样子,注意别选错了。
3. 获取MKL安装所在目录,如:/home/phd-chen.yirong5/intel/oneapi
4. 回到主目录(cd ~),添加以下命令到.bashrc文件中(vi .bashrc):

source /home/phd-chen.yirong5/intel/oneapi/mkl/2023.2.0/env/vars.sh

注:此处要根据自己机子的实际目录进行修改
5. 保存并退出(按Esc停止输入,按shift+:,输入wq),执行:source .bashrc,检查是否安装成功:which mkl_link_tool
6. 结果输出为:/home/phd-chen.yirong5/intel/oneapi/mkl/2023.2.0/bin/intel64/mkl_link_tool因此MKL安装成功

CP2K安装包下载

  1. 进入CP2K官网,点击“download”.
    在这里插入图片描述
  2. 找到github指示入口,下载安装包(以tar.bz2为结尾的包)
    在这里插入图片描述
    在这里插入图片描述
  3. 在linux系统中解压安装包:tar -xf cp2k-2023.2.tar.bz2,解压安装包后的目录为:/home/phd-chen.yirong5/software/cp2k202302,这里每个人的安装目录有所差异,因此要学会改成自己系统的实际目录,这一点适用于本文全部涉及路径的地方。
  4. 进入toolchain所在目录(如,/home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/),并执行下载库的命令(参考来源及解析https://github.com/cp2k/cp2k/blob/master/tools/toolchain/README.md):
cd /home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/
./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=system --with-plumed=install -j 48

注意:此处48为机子的核数,其他参数的设置需要参考卢天老师博文的解释以及原网站的说明。

CP2K的编译

  1. 以上命令顺利运行后,将/home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/install/arch下的所有文件复制到/home/phd-chen.yirong5/software/cp2k202302/arch
  2. 接着依次运行以下命令:
source /home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/install/setup
cd /home/phd-chen.yirong5/software/cp2k202302
make -j 48 ARCH=local VERSION="ssmp sdbg psmp pdbg"
  1. 编译成功。
    在这里插入图片描述
  2. 回到主目录(cd ~),将以下内容添加到.bashrc文件中(vi .bashrc)
source /home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/install/setup
export PATH=$PATH:/home/phd-chen.yirong5/software/cp2k202302/exe/local
  1. 添加这两行内容到.bashrc文件后,保存并退出(按Esc停止输入,按shift+:,输入wq),执行:source .bashrc
  2. 检查是否安装成功:cp2k.ssmp -v
    在这里插入图片描述

CP2K的测试

使用卢天老师提供的测试文件:http://sobereva.com/attach/586/test.inp
分别测试CP2K的ssmp,popt版本。

ssmp版本测试

进入测试文件所在目录,执行:cp2k.ssmp test.inp |tee test.out
软件正常运行,输出:
在这里插入图片描述

popt版本测试

进入测试文件所在目录,执行:mpirun -np 12 cp2k.popt test.inp |tee test.out
软件正常运行,输出:
在这里插入图片描述
以上便是本次安装CP2K的记录,使用一个晚上专心安装即可安装成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/108932.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据通信——传输层(UDP)

引言 我们上网观看比赛的时候,一旦网络信号出现问题,那可就太难受了,这意味着卡顿的时间内,你会错过这段时间内的内容。这种特性要归功于UDP(User Datagram Protocol)用户数据报协议。 无连接性 一般的&am…

上海亚商投顾:创业板指反弹大涨1.26% 核污染概念股午后全线走强

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日集体反弹,沪指午后冲高回落,创业板指盘中涨超2%,尾盘涨幅也有所收…

53 个 CSS 特效 2

53 个 CSS 特效 2 这里是第 17 到 32 个,跟上一部分比起来多了两个稍微大一点的首页布局,上篇:53 个 CSS 特效 1,依旧,预览地址在 http://www.goldenaarcher.com/html-css-js-proj/,git 地址: …

XSS攻击是怎么回事?记录一下

title: XSS攻击 date: 2023-08-27 19:15:57 tags: [XSS, 网络安全] categories: 网络安全 今天学习了一个网络攻击的手段,XSS攻击技术,大家自建网站的朋友,记得看看是否有此漏洞。 🎈 XSS 攻击 全称跨站脚本攻击 Cross Site Sc…

《机器学习核心技术》分类算法 - 决策树

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 决策树 1、决策树API2、决策时实际应用2.1、获取数据集2.2、划分数据集2.3、决策…

数据库表结构导出为word、html、markdown【转载,已解决,已验证,开源】

注&#xff1a;本文为gitcode代码验证&#xff0c;转载gitcode gitcode&#xff1a;https://gitcode.net/mirrors/pingfangushi/screw?utm_sourcecsdn_github_accelerator 整理数据库文档&#xff1a;https://mp.weixin.qq.com/s/Bo_U5_cl82hfQ6GmRs2vtA <!--数据库文档核…

数据结构--树4.1

目录 一、树的定义 二、结点的分类 三、结点间的关系 四、结点的层次 五、树的存储结构 一、树的定义 树&#xff08;Tree&#xff09;是n&#xff08;n>0&#xff09;个结点的有限集。当n0时称为空树&#xff0c;在任意一个非空树中&#xff1a; ——有且仅有一个特定的…

AI时代,程序员需要焦虑吗?

原文来自 微信公众号"互联网技术人进阶之路". 目录 前言一、程序员会被 AI 取代么&#xff1f;二、服务端开发尚难被 AI 取代三、服务端开发何去何从&#xff1f;四、业界首部体系化、全景式解读服务端开发的著作第一部分&#xff1a;服务端开发的技术和方法第二部分…

nginx-获取客户端IP地址

上有服务器与客户端中间是有nginx代理服务器的&#xff0c;上游服务器如何获取客户端真实ip地址&#xff1f; nginx代理服务器设置X-Forwarded-For的header参数&#xff0c;代理服务器通过remote_addr获取客户端ip地址&#xff0c;将ip地址写入nginx代理服务器的X-Forwarded-Fo…

python编写四画面同时播放swap视频

当代技术让我们能够创建各种有趣和实用的应用程序。在本篇博客中&#xff0c;我们将探索一个基于wxPython和OpenCV的四路视频播放器应用程序。这个应用程序可以同时播放四个视频文件&#xff0c;并将它们显示在一个GUI界面中。 C:\pythoncode\new\smetimeplaymp4.py 准备工作…

sql数据库怎么备份,sql 实时备份

在当今互联网时代&#xff0c;数据已经成为企业的核心资产。然而&#xff0c;数据的安全性和完整性面临硬件问题、软件故障、人工操作错误等各种威胁。为了保证数据的安全&#xff0c;实时备份已经成为公司必须采取的重要措施之一。下面我们就重点介绍SQL实时备份的重要实施方法…

百亿补贴通用H5导航栏方案 | 京东云技术团队

背景 在移动端页面中&#xff0c;由于屏幕空间有限&#xff0c;导航条扮演着非常重要的角色&#xff0c;提供了快速导航到不同页面或功能的方式。用户也通常会在导航条中寻找他们感兴趣的内容&#xff0c;因此导航条的曝光率较高。在这样的背景下&#xff0c;提供一个动态灵活…

你不知道的宝藏合金:高熵合金

高熵合金&#xff08;High-entropy alloys&#xff09;简称HEA&#xff0c;是由五种或五种以上等量或大约等量金属形成的合金。由于高熵合金可能具有许多理想的性质&#xff0c;因此在材料科学及工程上相当受到重视。 传统合金是以1~2种金属为主&#xff0c;并通过添加特定的少…

基于PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

兄弟,王者荣耀的段位排行榜是通过Redis实现的?

目录 一、排行榜设计方案1、数据库直接排序2、王者荣耀好友排行 二、Redis实现计数器1、什么是计数器功能&#xff1f;2、Redis实现计数器的原理&#xff08;1&#xff09;使用INCR命令实现计数器&#xff08;2&#xff09;使用INCRBY命令实现计数器 三、通过Redis实现“王者荣…

Java注解与反射

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Java注解与反射 Java注解和反射是Java语言中两个强大的特性&#xff0c;它们可以一起使用以实现动态的、灵活的编程和元数据处理 注解 Java注解&#xff08;Annotatio…

c语言六子棋(Alpha-Beta剪枝算法)

c语言Alpha-Beta剪枝算法六子棋介绍 Alpha-Beta剪枝算法是一种用于优化博弈树搜索的算法&#xff0c;可以在搜索过程中减少不必要的计算&#xff0c;从而提高搜索效率。该算法常用于博弈游戏&#xff0c;如六子棋。 六子棋是一种类似于五子棋的棋类游戏&#xff0c;在一个六边形…

ubuntu20.04 编译安装运行emqx

文章目录 安装依赖编译运行登录dashboard压力测试 安装依赖 Erlang/OTP OTP 24 或 25 版本 apt-get install libncurses5-dev sudo apt-get install erlang如果安装的erlang版本小于24的话&#xff0c;可以使用如下方法自行编译erlang 1.源码获取 wget https://github.com/erla…

【大模型AIGC系列课程 3-2】国产开源大模型:ChatGLM

1. GLM https://arxiv.org/pdf/2103.10360.pdf GLM是General Language Model的缩写,是一种通用的语言模型预训练框架。它的主要目标是通过自回归的空白填充来进行预训练,以解决现有预训练框架在自然语言理解(NLU)、无条件生成和有条件生成等任务中表现不佳的问题。 具体来…

WPF网格拖动自动布局效果

WPF网格拖动自动布局效果 使用Canvas和鼠标相关事件实现如下的效果: XAML代码: <Window x:Class="CanvasTest.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns: