开源量子模拟引擎: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.pswp.cn/news/908215.shtml

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

相关文章

PVE 虚拟机安装 Ubuntu Server V24 系统 —— 一步一步安装配置基于 Ubuntu Server 的 NodeJS 服务器详细实录1

前言 最近在基于 NodeJS V22 写一个全栈的项目,写好了,当然需要配置服务器部署啦。这个过程对于熟手来说,还是不复杂的,但是对于很多新手来说,可能稍微有点困难。所以,我把整个过程全部记录一下。 熟悉我…

【JUC】深入解析 JUC 并发编程:单例模式、懒汉模式、饿汉模式、及懒汉模式线程安全问题解析和使用 volatile 解决内存可见性问题与指令重排序问题

单例模式 单例模式确保某个类在程序中只有一个实例,避免多次创建实例(禁止多次使用new)。 要实现这一点,关键在于将类的所有构造方法声明为private。 这样,在类外部无法直接访问构造方法,new操作会在编译…

2. 库的操作

2.1 创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name # 字符集: 存储编码 [DEFAULT] COLLATE collation_name # 校验集: 比较/选择/读…

道可云人工智能每日资讯|北京农业人工智能与机器人研究院揭牌

道可云人工智能&元宇宙每日简报(2025年6月3日)讯,今日人工智能&元宇宙新鲜事有: 北京农业人工智能与机器人研究院揭牌 5月30日,北京市农业农村局、北京市海淀区人民政府、北京市农林科学院共同主办北京农业人…

【JSON-to-Video】设置背景视频片断

目录 设置bgVideo字段 1. 设置bgVideo.videoList字段 2. 设置randomPlay字段 3. 设置complete字段 4. 调用API,制作视频 欢迎来到JSON转视频系列教程。今天要教大家如何添加背景视频片断,在视频制作中,巧妙运用背景视频,能为…

星闪开发之Server-Client 指令交互控制红灯亮灭案例解析(SLE_LED详解)

系列文章目录 星闪开发之Server-Client 指令交互控制红灯亮灭的全流程解析(SLE_LED详解) 文章目录 系列文章目录前言一、项目地址二、客户端1.SLE_LED_Client\inc\SLE_LED_Client.h2.SLE_LED_Client\src\SLE_LED_Client.c头文件与依赖管理宏定义与全局变…

Linux shell练习题

Shell 1. 判断~/bigdata.txt 是否存在,若已存在则打印出”该文件已存在“,如不存在,则输出打印:”该文件不存在“ if [ -f ./bigdata.txt ];then echo "文件存在" else echo "文件不存在" fi2. 判断~/bigd…

Linux基本指令(三)

接上之前的文章,咱继续分享Linux的基本指令,Linux指令比较多,很难全部记住需要做笔记对常用的指令进行记录,方便以后复习查找,做笔记也可以对知识理解更加深刻。 目录 时间相关指令 date显示 时间戳 cal指令 ​编…

WebRTC中sdp多媒体会话协议报文详细解读

sdp介绍 在WebRTC(Web实时通信)中,SDP(Session Description Protocol)是用来描述和协商多媒体会话的协议。它定义了会话的参数和媒体流的信息,如音视频编码格式、传输方式、网络地址等。SDP是WebRTC中一个…

【MySQL】 约束

一、约束的定义 MySQL 约束是用于限制表中数据的规则,确保数据的 准确性 和 一致性 。约束可以在创建表时定义,也可以在表创建后通过修改表结构添加。 二、常见的约束类型 2.1 NOT NULL 非空约束 加了非空约束的列不能为 NULL 值,如果可以…

【.net core】【watercloud】树形组件combotree导入及调用

源码下载:combotree: 基于layui及zTree的树下拉框组件 链接中提供了组件的基本使用方法 框架修改内容 1.文件导入(路径可更具自身情况自行设定) 解压后将文件夹放在图示路径下,修改文件夹名称为combotree 2.设置路径(设置layu…

ES101系列07 | 分布式系统和分页

本篇文章主要讲解 ElasticSearch 中分布式系统的概念,包括节点、分片和并发控制等,同时还会提到分页遍历和深度遍历问题的解决方案。 节点 节点是一个 ElasticSearch 示例 其本质就是一个 Java 进程一个机器上可以运行多个示例但生产环境推荐只运行一个…

CppCon 2015 学习:3D Face Tracking and Reconstruction using Modern C++

1. 3D面部追踪和重建是什么? 3D面部追踪(3D Face Tracking): 实时检测并追踪人脸在三维空间中的位置和姿态(如转头、点头、表情变化等),通常基于摄像头捕获的视频帧。3D面部重建(3D…

代码中的问题及解决方法

目录 YOLOX1. AttributeError: VOCDetection object has no attribute cache2. ValueError: operands could not be broadcast together with shapes (8,5) (0,)3. windows远程查看服务器的tensorboard4. AttributeError: int object has no attribute numel YOLOX 1. Attribu…

【JVM】Java类加载机制

【JVM】Java类加载机制 什么是类加载? 在 Java 的世界里,每一个类或接口在经过编译后,都会生成对应的 .class 字节码文件。 所谓类加载机制,就是 JVM 将这些 .class 文件中的二进制数据加载到内存中,并对其进行校验…

vue的监听属性watch的详解

文章目录 1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景 1. 监听属性 watch watch 是一个对象,键是需要观察的表达式,用于观察 Vue 实例上的一个表达式或者一个函数计算结果的变化。回调函数的参数是新值和旧值。值也可以是方法名&am…

如何在 Ubuntu 24.04 服务器上安装 Apache Solr

Apache Solr 是一个免费、开源的搜索平台,广泛应用于实时索引。其强大的可扩展性和容错能力使其在高流量互联网场景下表现优异。 Solr 基于 Java 开发,提供了分布式索引、复制、负载均衡及自动故障转移和恢复等功能。 本教程将指导您如何在 Ubuntu 24.…

Linux内核中TCP三次握手的实现机制详解

TCP三次握手是建立可靠网络连接的核心过程,其在内核中的实现涉及复杂的协议栈协作。本文将深入分析Linux内核中三次握手的实现机制,涵盖客户端与服务端的分工、关键函数调用、协议号验证及数据包处理流程。 一、三次握手的整体流程 三次握手分为三个阶段,客户端与服务端通过…

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…

优化 Spring Boot API 性能:利用 GZIP 压缩处理大型有效载荷

引言 在构建需要处理和传输大量数据的API服务时,响应时间是一个关键的性能指标。一个常见的场景是,即使后端逻辑和数据库查询已得到充分优化,当API端点返回大型数据集(例如,数千条记录的列表)时&#xff0…