OpenMP和MPI环境配置

news2024/11/23 21:16:49

目录

  • 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.c

mpiexec -n 4 ./hello_c

参考资料

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

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

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

相关文章

老师家访的目的是什么

家访&#xff0c;对于老师来说&#xff0c;是工作中必不可少的一部分。有人会问&#xff0c;老师家访的目的是什么呢&#xff1f;是为了了解学生的家庭情况&#xff0c;还是为了和家长建立良好的沟通关系&#xff1f;其实&#xff0c;老师家访的目的远不止于此。 老师家访是为…

【MySQL】计算日期是当前月份的第几周

力扣题 1、题目地址 2993. 发生在周五的交易 I 2、模拟表 表&#xff1a;Purchases Column NameTypeuser_idintpurchase_datedateamount_spendint (user_id, purchase_date, amount_spend) 是该表的主键(具有唯一值的列)。purchase_date 的范围从 2023 年 11 月 1 日到 2…

对称图做法,全程动图演示

最终效果&#xff1a; 实现步骤&#xff1a; 其他图形画法&#xff1a; 点线对比图做法&#xff0c;全程动图演示 气泡图做法&#xff0c;全程动图演示 重叠柱状图做法&#xff0c;全程动图演示 瀑布图做法&#xff0c;全程动图演示 对称图做法&#xff0c;全程动图演示

轻松上手:通过阿里云PAI QuickStart微调部署Qwen-72B-Chat模型

作者&#xff1a;熊兮、求伯、一耘 引言 通义千问-72B&#xff08;Qwen-72B&#xff09;是阿里云研发的通义千问大模型系列的720亿参数规模模型。Qwen-72B的预训练数据类型多样、覆盖广泛&#xff0c;包括大量网络文本、专业书籍、代码等。Qwen-72B-Chat是在Qwen-72B的基础上…

第一篇【传奇开心果系列】beeware的toga开发移动应用:轮盘抽奖移动应用

系列博文目录 beeware的toga开发移动应用示例系列博文目录一、项目目标二、开发传奇开心果轮盘抽奖安卓应用编程思路三、传奇开心果轮盘抽奖安卓应用示例代码四、补充抽奖逻辑实现五、开发传奇开心果轮盘抽奖苹果手机应用编程思路六、开发传奇开心果轮盘抽奖苹果手机应用示例代…

kafka集群和Filebeat+Kafka+ELK

一、Kafka 概述 1.1 为什么需要消息队列&#xff08;MQ&#xff09; 主要原因是由于在高并发环境下&#xff0c;同步请求来不及处理&#xff0c;请求往往会发生阻塞。比如大量的请求并发访问数据库&#xff0c;导致行锁表锁&#xff0c;最后请求线程会堆积过多&#xff0c;从…

专业ScrumMaster(高级)- PSM II 认证班,Scrum.org认证PSM II官方认证班

课程简介 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架&#xff0c;旨在最短时间内交付最大价值。根据2022年全球敏捷状态报告&#xff0c;Scrum的应用占比已经达到87%。 Scrum.org 由 Scrum 的联合创始人 Ken Schwaber 创立…

[亲测有效]CentOS7下安装mysql5.7

前言 近期项目需要搭配mysql一起存储相关数据&#xff0c;但对mysql的版本有要求&#xff0c;于是在服务器搭建了mysql5.7&#xff0c;顺便记录一下搭建步骤和踩坑解决步骤。 目录 前言 一、清除旧安装包 二、安装YUM 三、使用yum命令即可完成安装 四、重新设置密码 五、…

C#winform上位机开发学习笔记5-串口助手的定时发送功能添加

1.功能描述 选择自动发送功能后&#xff0c;按照设定的发送时间发送发送框中的信息数据&#xff0c;设定时间可以手动输入&#xff0c;当手动输入信息无效&#xff08;非数字&#xff09;时&#xff0c;系统弹出错误提示&#xff0c;并将其设置为默认定时时间。 2.代码部分 步…

【Gene Expression Prediction】Part3 Deep Learning in Gene Expression Analysis

文章目录 6 第二个讲座&#xff1a;Deep Learning in Gene Expression Analysis6.1 Introduction6.2 D-GEX6.2.1 Connectivity map project6.2.2 Predicting gene expression from landmark genes 6.3 Deep generative models for genomics6.3.1 Manifold hypothesis6.3.2 Auto…

【C++】Qt:QCustomPlot图表绘制库配置与示例

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍QCustomPlot图表绘制库配置与示例。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次…

2024/1/17 DFS BFS + Div 3 a,b

目录 Lake Counting S 求细胞数量 海战 组合的输出 div3 A. Square div3 B. Arranging Cats Lake Counting S P1596 [USACO10OCT] Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 感谢大佬的指点&#xff01;&#xff01;&#xff01;&#xff01; 思…

k8s使用ingress实现应用的灰度发布升级

v1是1.14.0版本nginx ,实操时候升级到v2是1.20.0版本nginx&#xff0c;来测试灰度发布实现过程 一、方案&#xff1a;使用ingress实现应用的灰度发布 1、服务端&#xff1a;正常版本v1&#xff0c;灰度升级版本v2 2、客户端&#xff1a;带有请求头versionv2标识的请求访问版…

老套的购物车效果

一、项目文件结构 二、各个文件内容 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport…

【C语言进阶】预处理详解

引言 对预处理的相关知识进行详细的介绍 ✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》 &#x1f388;跟着猪巴戒&#xff0c;一起学习C语言&#x1f388; 目录 引言 预定义符号 #define定义常量 #define定义宏 带有副作用的宏参数 宏替换的规则 …

算法基础学习|双指针算法

双指针算法 代码模板 for (int i 0, j 0; i < n; i ){while (j < i && check(i, j)) j ;// 具体问题的逻辑 } 常见问题分类&#xff1a;(1) 对于一个序列&#xff0c;用两个指针维护一段区间(2) 对于两个序列&#xff0c;维护某种次序&#xff0c;比如归并…

echarts绘制饼图,部分数据隐藏指示线和文本,hover时隐藏指示线和文本的类别也不显示tooltip提示

option {tooltip: {trigger: item,formatter: (p) > {if (p.name) {return ${p.name}&#xff1a;${p.value}个;}},backgroundColor: #ffffff,textStyle: { color: #666666 } // 提示标签字体颜色},legend: {top: 5%,left: center},series: [{name: Access From,type: pie,…

第三方控价服务商怎么选

用对了方法&#xff0c;事半功倍&#xff0c;品牌控价也是如此&#xff0c;品牌方在治理工作中&#xff0c;如果选择自建团队进行处理&#xff0c;需要包含对数据技术的抓取团队&#xff0c;还要有对治理规则熟悉的操作团队&#xff0c;涉及人员和系统&#xff0c;费用成本相应…

TA百人计划学习笔记 3.1.1模板测试

资料 源视频 【技术美术百人计划】图形 3.1 深度与模板测试 传送门效果示例_哔哩哔哩_bilibili ppt 3100-模板测试与深度测试(1) 参考 Unity Shader: 理解Stencil buffer并将它用于一些实战案例&#xff08;描边&#xff0c;多边形填充&#xff0c;反射区域限定&#xff0c;阴影…

EXECL 单元格字符串链接 CONCAT :应用:将一行数据转为json

源&#xff1a; 目标 函数表示 CONCAT("data", CHAR(10), "{", CHAR(10), " ", "ulAlarmId : ", A5, CHAR(10), " ", "ulAlarmLevel : ", D5, CHAR(10)," ", "bBo…