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

开源量子模拟引擎: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.xdnf.cn/news/10663.html

相关文章:

  • PostgreSQL数据库备份
  • 【Oracle】视图
  • 3. 简述node.js特性与底层原理
  • 基于Halcon深度学习之分类
  • SpringBoot系列之RabbitMQ 实现订单超时未支付自动关闭功能
  • AI+3D 视觉重塑塑料袋拆垛新范式:迁移科技解锁工业自动化新高度
  • Neo4j 数据导入:原理、技术、技巧与最佳实践
  • 深入理解Android进程间通信机制
  • uniapp 开发企业微信小程序,如何区别生产环境和测试环境?来处理不同的服务请求
  • SOC-ESP32S3部分:28-BLE低功耗蓝牙
  • Rust 学习笔记:使用自定义命令扩展 Cargo
  • 8.RV1126-OPENCV 视频中添加LOGO
  • 鸿蒙生态再添翼:身份证银行卡识别引领智能识别技术新篇章
  • Python数据可视化科技图表绘制系列教程(一)
  • 20250603在荣品的PRO-RK3566开发板的Android13下的命令行查看RK3566的温度
  • MS1023/MS1224——10MHz 到 80MHz、10:1 LVDS 并串转换器(串化器)/串并转换器(解串器)
  • 深度解析 Qt 最顶层类 QObject:继承关系与内存生命周期管理
  • ERP、OA、CRM三个企业管理软件的区别与联系
  • # [特殊字符] Unity UI 性能优化终极指南 — LayoutGroup篇
  • 微软推出 Bing Video Creator,免费助力用户轻松创作 AI 视频
  • 03.搭建K8S集群
  • 【计算机网络 第8版】谢希仁编著 第六章应用层 题型总结1 编码
  • 使用glide 同步获取图片
  • 5.Nginx+Tomcat负载均衡群集
  • SQL思路解析:窗口滑动的应用
  • 结合 AI 生成 mermaid、plantuml 等图表
  • 【开源工具】超全Emoji工具箱开发实战:Python+PyQt5打造跨平台表情管理神器
  • Hadoop复习(九)
  • 让AI弹琴作曲不再是梦:Python+深度学习玩转自动化音乐创作
  • HA: Wordy靶场