OpenMP和MPI环境配置

目录

  • OpenMP和MPI环境配置
    • OpenMP环境配置
    • MPI环境配置(Windows)
    • MPI环境配置(Ubuntu)
  • 参考资料

OpenMP和MPI环境配置

OpenMP环境配置

  1. 首先创建项目,选择C++ 控制台应用。
    在这里插入图片描述
  2. 选择项目,属性。
    在这里插入图片描述
  3. 在C/C++ —— 语言中,将符合模式选择 ,OpenMP支持选择
    在这里插入图片描述
  4. 配置完毕,可以开始编写代码了。

MPI环境配置(Windows)

  1. 下载安装MPI,下载链接:https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi?redirectedfrom=MSDN
    在这里插入图片描述
    这两个都需要下载
    在这里插入图片描述
    下载完毕后把这俩东西都安装了,安装位置无要求,但是要记住你装在哪了。
    在这里插入图片描述
    地址一为.msi文件安装完毕的样子
    在这里插入图片描述
    地址二为.exe文件安装完毕的样子
    在这里插入图片描述

  2. 创建项目,选择C++ 控制台应用。
    在这里插入图片描述

  3. 选择项目,属性。
    在这里插入图片描述

  4. 配置属性,注意在配置属性时每一步都要点一次应用!!!!
    VC++目录 —— 包含目录,在包含目录中添加地址一(地址一见上文)中的Include文件夹的路径
    在这里插入图片描述
    库目录,同上,找到地址一的Lib里面的X64文件夹,确定。
    在这里插入图片描述
    然后C\C++ —— 预处理器 —— 预处理器定义,加上下面这行

MPICH_SKIP_MPICXX

在这里插入图片描述
代码生成 —— 运行库,选择多线程调试MTd
在这里插入图片描述
链接器 —— 输入 —— 附加依赖项,添加以下内容(这三个就是Lib中的X64文件夹里的三个文件)

msmpi.lib
msmpifec.lib
msmpifmc.lib

在这里插入图片描述

  1. 选择x64
    在这里插入图片描述
  2. 配置完毕,以下是测试代码
#include<stdio.h>
#include<mpi.h>
int main(int argc, char* argv[]) {int myid, numprocs;MPI_Init(&argc, &argv);MPI_Comm_rank(MPI_COMM_WORLD, &myid);MPI_Comm_size(MPI_COMM_WORLD, &numprocs);printf("%d helle from %d", numprocs, myid);MPI_Finalize();return 0;
}
  1. 运行多线程,因为vs2019中只能显示一个线程的程序,所以我们要到cmd中实现多线程程序。
    保存一下你的代码,到项目中找到exe程序,如下图。(一定是项目目录x64下的Debug中)
    在这里插入图片描述
    在路径栏中输入cmd打开dos窗口,输入下面这句话
mpiexec -n 8 demo.exe

8代表8个线程,后面是我的文件名,需要替换为你自己的文件名,回车运行即可。
在这里插入图片描述

MPI环境配置(Ubuntu)

  1. 配置基础编译环境
    为了正常编译MPI代码,需要安装C, C++与Fortran的编译环境。
//apt-get命令的 -y 选项默认安装过程中同意所有的默认选择。
sudo apt-get install -y build-essential//下载与安装完成后,可键入下面的命令观察gcc版本信息。
gcc -v
  1. MPICH的安装
//软件包中包含了mpich,可以直接通过apt-get下载安装。
sudo apt-get install -y mpich//观察mpicc版本信息
mpicc -v
  1. 安装Vim
sudo apt-get install -y vim
  1. 用mpicc命令编译链接hello_c.c源码,生成可执行文件hello_c
    然后执行,4代表线程数量
    注意指令中的路径要修改为你自己的地址
mpicc -g -Wall -o hello_c hello_c.cmpiexec -n 4 ./hello_c

参考资料

[1] vs2019配置MPI环境
[2] Windows系统下Visual studio 2022MPI 环境配置
[3] Ubuntu上MPI编程环境部署
[4] MPI下载链接

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

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

相关文章

Raspbian安装云台

Raspbian安装云台 1. 源由2. 选型3. 组装4. 调试4.1 python3-print问题4.2 python函数入参类型错误4.3 缺少mjpg-streamer可执行文件4.4 缺失编译头文件和库4.5 python库缺失4.6 图像无法显示&#xff0c;但libcamera-jpeg测试正常4.7 异常IOCTL报错4.8 Git问题 5. 效果5.1 WEB…

目标检测 - RCNN系列模型

文章目录 1. RCNN2. Fast-RCNN3. Faster-RCNN 1. RCNN 论文&#xff1a;Rich feature hierarchies for accurate object detection and semantic segmentation 地址&#xff1a;https://arxiv.org/abs/1311.2524 分为两个阶段&#xff1a; 目标候选框Object ProposalsProposal…

Vmware安装Windows11虚拟机

Vmware安装Windows11虚拟机 文章目录 Vmware安装Windows11虚拟机效果一、准备工作①&#xff1a;下载镜像②&#xff1a;虚拟机 二、开始安装①&#xff1a;创建新的虚拟机②&#xff1a;自定义硬件③&#xff1a;编辑虚拟机设置④&#xff1a;开启虚拟机⑤&#xff1a;安装VMw…

this.$set的用法

作用&#xff1a; 在data里面绑定的数据具有响应式的效果,也就是我们说的V-Model 数据更新视图,视图也能更新数据&#xff0c;如果不是data里面的数据如何添加响应式呢&#xff1f; this.$Set这个方法能够实现 用法&#xff1a; this.$Set(要添加的对象,要添加的属性’,要添…

还在为iOS和iPadOS存储不足闷闷不乐?这里有优化空间的详细步骤

储存空间似乎是iPhone和iPad用户最大的抱怨之一,这要归功于应用程序占用了越来越多的储存空间,媒体变得比以往任何时候都更渴望储存。以下是解决方法。 本指南中的屏幕截图来自iPhone,但提示也适用于iPad。必要时将提及设备之间的差异。 如何检查iPhone和iPad上的储存空间…

C++参悟:数值运算相关

数值运算相关 一、概述二、常用数学函数1. 基础运算1. 浮点值的绝对值&#xff08; |x| &#xff09;2. 浮点除法运算的余数3. 除法运算的有符号余数4. 除法运算的有符号余数和最后三个二进制位5. 混合的乘加运算6. 两个浮点值的较大者7. 两个浮点值的较小者8. 两个浮点值的正数…

proxy 代理的接口报错301问题

项目系统里仅仅这个接口报错&#xff0c;反向代理错误导致。 默认情况下&#xff0c;不接受运行在HTTPS上&#xff0c;且使用了无效证书的后端服务器。如果你想要接受&#xff0c;修改配置&#xff1a;secure: false&#xff08;简单意思&#xff1a;如果本地没有进行过https相…

【3.2数据库系统】数据库设计过程

目录 1.数据库设计过程 1.数据库设计过程 ↓需求分析&#xff1a;分析需求 ↓概念结构设计&#xff1a;将需求分析得到的用户需求抽象为信息结构即概念模型的过程。 ↓逻辑结构设计&#xff1a;将概念结构设计阶段完成的概念模型&#xff0c;转换成能被选定的数据库管理系统(D…

基本语法和 package 与 jar

3.基本语法 1.输入输出 // 导入 java.util 包中的 Scanner 类 import java.util.Scanner;// 定义名为 ScannerExample 的公共类 public class ScannerExample {// 主方法&#xff0c;程序的入口点public static void main(String[] args) {// 创建 Scanner 对象&#xff0c;用…

自动文章生成软件:自用工具推荐与使用技巧

在信息爆炸的时代&#xff0c;内容创作已成为企业和个人提升品牌影响力、增加流量和提升知名度的重要手段。然而&#xff0c;手动撰写大量文章既费时又费力。有没有一种方法可以快速、高效地生成文章呢&#xff1f;答案是肯定的&#xff0c;今天我们就来分享一款自用的AI批量生…

STM32(--001) Win10、Win11 上的驱动安装说明

一、USB线插到 CMSIS-DAP 接口上&#xff0c;将自动识别到两个设备 ① CMSIS-DAP&#xff1a;用于烧录代码、在线硬件仿真; 在Keil里烧录&#xff0c;无需通过FlyMCU; ② USB转TTL&#xff1a;用于开发板与电脑间串口通信 &#xff0c;即USART1, TX-PA9、RX-PA10; 接口备注&a…

多线程-线程的等待通知wait、notify

目录 1.什么是线程的等待通知 2.wiat&#xff08;&#xff09;方法 2.1 wait 做的事情: 2.2wait 结束等待的条件: 代码示例&#xff1a; 2.3wait的三种重载方式 2.4 面试问题&#xff1a;wait&#xff08;&#xff09;和sleep&#xff08;&#xff09;之间的区别 3.notify…