计算化学公社

标题: 离线机器的Ubuntu22.04中编译cp2k2023.1 [打印本页]

作者
Author:
sigma-jlu    时间: 2023-6-8 17:14
标题: 离线机器的Ubuntu22.04中编译cp2k2023.1
主要参考:http://bbs.keinsci.com/thread-33603-1-1.html
跟冰释与钟成两位分享的已有经验相比,没有特别大的信息量更新,
略微有一点值得发个帖子分享的内容包括:
1、由于是离线安装,必须先为Ubuntu22系统离线预装gcc等编译环境,本人使用另一台联网机器通过以下命令平行安装了编译环境,
如果这一步提示错误,需要运行 sudo apt --fix-broken install ,再尝试,我这边试过ok。


  1. sudo apt install aptitude
  2. sudo rm -rf /var/cache/apt/archives/*
  3. sudo aptitude install gcc-11
  4. ....
  5. cp /var/cache/apt/archives/* ~/udisk
复制代码
其中省略点表示安装toolchains过程中碰到哪个需要更新与下载的,都aptitude依赖性安装包缓存。


2、在安装过程中累计安装关键apt以及依赖包,一共合计100个。
链接:https://pan.baidu.com/s/1r-JI2puF6zuCKjJoszsdIQ 提取码:9jmv

3、在离线机器上安装u盘拷过来的预备包。
  1. sudo dpkg -i *.deb
复制代码
3、制备工具链过程跟冰释帖子中介绍的大同小异,略微需要提一下的是,generic如果换成本地处理器的指令集更好(我第一次在虚拟机闪退,更换成指定的x86_64后ok),以免结果程序运行效率不如意,或编译过程中就闪退。
  1. cd  ~/cp2k-2023.1/tools/toolchain
  2. ./install_cp2k_toolchain.sh --with-openmpi=install --with-cmake=system --with-gcc=system  --with-sirius=no  --target-cpu=generic
复制代码
4、剩下的过程也差异不大,本人只是根据官方的介绍,在make之前增加了source,本人指定了8核、只取psmp。(https://www.cp2k.org/_media/docs:cp2k_tools_2022.pdf
  1. cp ~/cp2k-2023.1/tools/toolchain/install/arch/* ~/cp2k-2023.1/arch/
  2. cd ~/cp2k-2023.1
  3. source ~/cp2k-2023.1/tools/toolchain/install/setup
  4. make -j 8 ARCH=local VERSION=psmp
复制代码
5、运行测试,用本人近期正在优化的氧化铁,运行时间从单核版本需要的近半个小时,到8核减少到6分钟,自认为很满意;此外,Setting real_kernel for ELPA failed的近一百个warning提示,但自洽场计算的最后两步能量收敛跟官方公布的单核版本相比一致性很好,只在第10位有效数字后有变化,可以接受,该warning原因及强迫症需要消除的方法djj148网友已经做了详解(比如 &GLOBAL中设置PREFERRED_DIAG_LIBRARY SL) http://bbs.keinsci.com/thread-34676-1-1.html ,不赘述。


Appx、如果发现第5步结果较慢、出错或闪退,需要重新make+link,可以在重复3-4步之前删除~/cp2k-2023.1/tools/toolchain/install/下的所有文件夹、~/cp2k-2023.1/var与~/cp2k-2023.1/exe/local下的所有文件,否则会有git:888bd8错误而中止编译过程。




i hope it helps somebody.





作者
Author:
sigma-jlu    时间: 2023-6-8 17:20
由于不是老手,近一周的时间一有兴致和空闲就鼓捣一下,碰到不少坑,尤其是gcc离线安装的招数,涉及到鸡-蛋循环难题,网上查的资料95%尝试不管用。
对于有人评价cp2k是量子化学计算软件中最有野性的手动挡跑车,一般人连编译都怕,在Ubuntu22中对2023.1进行离线安装还没见人干过,我算胆肥的吧,也算是领教了,感觉过程有些意思也有收获。
作者
Author:
sigma-jlu    时间: 2023-6-8 17:30
如有表述不对的地方,请老司机指教,非常感谢。
作者
Author:
乐平    时间: 2023-6-8 18:10
cp2k toolchain 里很贴心地给 Ubuntu 系统准备了 install_requirements_ubuntu.sh,先运行它能自动更新很多依赖包。

离线的话,也可以按 install_requirements_ubuntu.sh 里列出的清单手动下载

  1. #!/bin/bash -e

  2. # author: Ole Schuett

  3. # Install Ubuntu packages required for the toolchain.
  4. #!/bin/bash -e

  5. # author: Ole Schuett

  6. # Install Ubuntu packages required for the toolchain.

  7. echo "Installing Ubuntu packages..."

  8. export DEBIAN_FRONTEND=noninteractive
  9. export DEBCONF_NONINTERACTIVE_SEEN=true

  10. apt-get update -qq

  11. apt-get install -qq --no-install-recommends \
  12.   autoconf \
  13.   autogen \
  14.   automake \
  15.   autotools-dev \
  16.   bzip2 \
  17.   ca-certificates \
  18.   g++ \
  19.   gcc \
  20.   gfortran \
  21.   git \
  22.   less \
  23.   libtool \
  24.   libtool-bin \
  25.   make \
  26.   nano \
  27.   patch \
  28.   pkg-config \
  29.   python3 \
  30.   unzip \
  31.   wget \
  32.   xxd \
  33.   zlib1g-dev

  34. rm -rf /var/lib/apt/lists/*

  35. #EOF
复制代码


上述内容我早在一年前就发过……
http://bbs.keinsci.com/thread-28171-1-1.html
作者
Author:
sigma-jlu    时间: 2023-6-8 19:48
乐平 发表于 2023-6-8 18:10
cp2k toolchain 里很贴心地给 Ubuntu 系统准备了 install_requirements_ubuntu.sh,先运行它能自动更新很多 ...

多谢提供参考信息。
尽管需要用户一个个去下载(我发帖子时只是多做了一点打包工作),Ole Schuett总结的很好,今天阅读他的硕士和博士学位论文,Parallel Global Geometry Optimization of Molecular Clusters,2014(https://www.cp2k.org/_media/docs:cs_diploma_thesis_schuett.pdf) & Enabling Large Scale DFT Simulation with GPU Acceleration and Machine Learning, 2016 (https://dx.doi.org/10.3929%2Fethz-a-010819495) 均是非常值得参考的学习资料。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3