当前位置: 首页 > article >正文

开源量子模拟引擎:Quantum ESPRESSO本地部署教程,第一性原理计算轻松入门!

一、介绍

Quantum ESPRESSO 是一个用于电子结构计算和纳米尺度材料建模的开源计算机代码集成套件,专门用于进行第一性原理(第一性原理)计算,涵盖了电子结构、晶体学和材料性能的模拟。

Quantum ESPRESSO GPU 版本支持GPU加速,该部署版本为q-e-7.4.1

源码下载:发布 · QEF - Quantum ESPRESSO Foundation / q-e · GitLab

二、部署流程

需要环境为:ubuntu 22.04;cuda12.8;NVIDIA HPC SDK

1.安装NVIDIA HPC SDK

NVIDIA HPC SDK提供了使用标准的C/C++和Fortran的编译器以及OpenACC指令和CUDA实现HPC建模和模拟应用的GPU加速。此工具能够让代码人员对源代码进行快速移植、并行和优化GPU加速,可以更大限度地提高科学和工程吞吐量,更大限度地减少编码时间。

下载网址:NVIDIA HPC SDK 当前版本下载 | NVIDIA 开发者 --- NVIDIA HPC SDK Current Release Downloads | NVIDIA Developer

官方文档:NVIDIA 高性能计算软件开发工具包版本 25.3 文档 — HPC SDK 25.3 文档 --- NVIDIA HPC SDK Version 25.3 Documentation — HPC SDK 25.3 documentation

到下载网址查看CUDA对应的HPC SDK 安装;

wget https://developer.download.nvidia.com/hpc-sdk/25.3/nvhpc_2025_253_Linux_x86_64_cuda_multi.tar.gz
tar xpzf nvhpc_2025_253_Linux_x86_64_cuda_multi.tar.gz
nvhpc_2025_253_Linux_x86_64_cuda_multi/install

环境配置

echo 'export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/25.3/compilers/bin:$PATH' >> ~/.bashrc
echo 'export MANPATH=/opt/nvidia/hpc_sdk/Linux_x86_64/25.3/compilers/man:$MANPATH' >> ~/.bashrc
source ~/.bashrc 

验证安装情况

nvfortran
pgcc -V 
pgfortran -V

2. Quantum ESPRESSO GPU 安装

Quantum ESPRESSO GPU 加速需要 Nvidia HPC SDK 的 nvfortran 编译器,首先确认安装并配置好 NVIDIA HPC SDK

wget https://gitlab.com/QEF/q-e/-/archive/qe-7.4.1/q-e-qe-7.4.1.tar.gz
tar -zxvf qe-7.4.1.tar.gz
cd qe-7.4.1
./configure --with-cuda=/usr/local/cuda-12.4/ --with-cuda-runtime=12.4 --with-cuda-cc=89 --enable-openmp  --with-scalapack=no --with-cuda-mpi=yes
make all -j 16
  • --with-cuda=/usr/local/cuda-12.4/ CUDA 的安装路径
  • --with-cuda-runtime=12.4 CUDA 的版本
  • --with-cuda-cc=89 GPU 的算力,通过 nvaccelinfo 查看,在 Default Target: cZZ 中看到对应的值。
  • --enable-openmp 启用 OpenMP 并行计算支持
  • --with-scalapack=no 可选参数,设置是否使用 ScaLAPACK 库,一般禁用
  • --with-cuda-mpi=yes 可选参数,启用 CUDA-aware MPI 支持

将编译好的模块配置到系统环境

echo 'export PATH="/root/q-e-qe-7.4.1/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

http://www.lryc.cn/news/2402132.html

相关文章:

  • 算法blog合集
  • 每日八股文6.3
  • Kubernetes (k8s)版本发布情况
  • QT 5.9.2+VTK8.0实现等高线绘制
  • CppCon 2015 学习:3D Face Tracking and Reconstruction using Modern C++
  • Three.js进阶之音频处理与展示
  • 4.2 HarmonyOS NEXT分布式AI应用实践:联邦学习、跨设备协作与个性化推荐实战
  • 兼容老设备!EtherNet/IP转DeviceNet网关解决储能产线通讯难题
  • 健康检查:在 .NET 微服务模板中优雅配置 Health Checks
  • 【Pytorch学习笔记】模型模块08——AlexNet模型详解
  • LabVIEW自感现象远程实验平台
  • AppTrace 视角下 App 一键拉起:提升应用转化率的高效方案​
  • 梯度下降:机器学习优化的核心算法
  • Vue-6-前端框架Vue之基于Plotly.js绘制曲线
  • Python----目标检测(《YOLOv3:AnIncrementalImprovement》和YOLO-V3的原理与网络结构)
  • Redux:不可变数据与纯函数的艺术
  • 算法篇 八大排序(冒泡 插入 选择 堆 希尔 快排 归并 计数)
  • 技术文档写作全攻略
  • 网络安全全景解析
  • 音视频之视频压缩编码的基本原理
  • IDEA 包分层显示设置
  • 书籍将正方形矩阵顺时针转动90°(8)0605
  • 【docker】容器技术如何改变软件开发与部署格局
  • C#抽象类深度解析 _ 核心特性与实战指南
  • 时序数据库IoTDB的UDF Sample算法在数据监控、故障预防的应用
  • Flask-SQLAlchemy使用小结
  • 深度学习和神经网络 卷积神经网络CNN
  • 用 NGINX 构建高效 POP3 代理`ngx_mail_pop3_module`
  • 解决:如何在Windows adb使用dmesg | grep检查内核日志
  • PlayWright | 初识微软出品的 WEB 应用自动化测试框架