`
ld_hust
  • 浏览: 170296 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

VC6环境下的MPI配置(转)

阅读更多

MPI开发包安装

       下载完毕,开始安装MPICH2开发包,提示需要.NET 1.1 框架。鉴于本人对VS.NET 2003爱好,直接安装了整个开发环境,也可以只安装.NET框架。可以到微软官方网站下载安装包(http://msdn.microsoft.com/netframework/downloads/framework1_1/)。安装.NET框架后便可以安装MPICH2开发包。安装后可以看到MPICH2目录层次:

环境配置

       我的电脑”path中设置MPICH2bin目录(%MPICH2%\bin)以便运行mpiexec程序。我的具体设置如下:

       VC6开发环境中包含MPICH2开发包的include目录和lib目录。具体步骤:打开VC6,选择”Tools->Options”,在弹出的“Options”对话框中选择Directories选项卡,分别设置如下图:

(设置Include目录%MPICH2%/include

(设置Lib目录%MPICH2%/LIB

       MPICH2环境配置。运行%MPICH2%/LIBwmpiregister,在注册界面输入本机器用户名和密码以便mpiexec运行程序。

开发第一个程序“Hello World

       经过上面的步骤,MPICH2开发环境已经建立好,下面便可以步入MPICH2的大殿了。开始最简单也是最经典程序“Hello World”,在过程中倒是遇到不少麻烦。

       打开VC6,建立一个控制台应用程序,如下图:

       依照课本,包含头文件且把代码敲入main函数中。

       #include "mpi.h"

#include <cstdio>

int main(int argc, char* argv[])

{

      

       MPI_Init(&argc, &argv);

       printf("Hello World!\n");

       MPI_Finalize();

       return 0;

}

       编译程序,发现出现很多编译错误,一时间不知道怎么办好。在细看错误,都是一些函数重载错误。原本想修改代码,但是没有全部源代码。再进一步,发现全部是mpicxx.h文件导致的错误,于是想是否MPI_Init等函数与此文件有关。通过搜索包含文字,发现MPI_Init等函数只在mpi.h中定义,于是想办法不包含mpicxx.h文件以避开问题。在mpi.h中发现代码:

#if !defined(MPICH_SKIP_MPICXX)

#include "mpicxx.h"

#endif

#endif

这下有办法,在程序中定义宏MPICH_SKIP_MPICXX,然后重新编译程序(注意在包含mpi.h前定义)。哈哈,果然避开了mpicxx.h文件,有出现几个为定义错误,包含Lib文件就OK!如下图:

       有个建议,既然包含头文件必须连接库的话,可以在头文件中指定库。本人在开发过程中一直这样做,感觉很好。这样可以避免入门者不会设定库。

       下面是运行。运行命令行,输入:

E:\MyProject\MPIPractice\HelloWorld\Debug>mpiexec -np 4 helloworld

输出结果:

Hello World!

Hello World!

Hello World!

Hello World!

这样便完成第一个MPI程序,下面的任务就是依据并行算法思想解决复杂问题,留带大家自己解决。

分享到:
评论

相关推荐

    MPI在vc下的运行环境模版

    【MPI在VC下的运行环境模版】是一种针对Visual C++(简称VC)开发环境的配置,使得用户可以方便地在Windows操作系统下进行MPI(Message Passing Interface,消息传递接口)程序的编写和运行。MPI是分布式内存系统中...

    MPI的环境搭建C++编程

    如果你在Windows环境下使用Visual Studio(VC),配置MPI可能需要以下步骤: 1. **安装MSMPI**:从微软官网下载并安装MSMPI。 2. **配置项目设置**:在Visual Studio中创建新项目,选择“属性页” -&gt; “配置属性” -...

    MPI环境配置到HelloWorld

    【MPI环境配置到HelloWorld】这篇教程主要针对初次接触MPI并行计算的新手,特别指出在Windows环境下使用VC6.0进行开发。MPI,全称Message Passing Interface,是一种用于并行计算的通信标准,它允许分布式内存的多...

    并行环境MPI的搭建与使用

    配置VC环境以支持MPI编译,通常涉及设置包含目录、库目录以及链接器选项。编译完成后,通过`mpirun`命令在多台主机上启动程序,根据主机数量指定进程数,如`mpirun -hosts host1,host2,host3 -np 3 program.exe`,...

    Windows系统下搭建MPI.pdf

    本文主要介绍如何在Windows XP系统下使用Visual C++ 6.0(以下简称VC6)构建MPI开发环境,并通过一个简单的例子演示其基本用法。此外,还会简要介绍如何在多台计算机之间建立MPI环境,以便进行分布式计算。 #### 二...

    VC++ MPI s7300

    6. **同步机制**:在多线程环境下,可能需要对访问PLC的代码进行同步,防止数据冲突。 压缩包中的“SIEMENS”可能是包含上述所需库文件、头文件或其他相关资源的文件夹,例如示例代码、文档等。为了具体实现这个...

    prodave+siemns vb vc

    本文将详细介绍如何使用PRODAVE这一工具来实现对Siemens PLC(可编程逻辑控制器)的编程访问,尤其是在Visual Basic (VB) 和 Visual C++ (VC) 环境下的应用。PRODAVE 是 Siemens 提供的一款用于在 PC 上开发 PLC ...

    高性能计算实验.pdf

    【高性能计算实验】主要涉及了两个关键知识点:1) MPI(Message Passing Interface)的安装与配置,以及2) 在VC6.0环境下使用MPI编写并行计算程序。 1. **MPI(并行计算)环境搭建**: MPI是用于分布式内存系统间...

    OPC西门子PLC通讯VC源程序

    3. Visual C++(VC):VC++是微软开发的一款集成开发环境,主要用于编写Windows平台的应用程序。在这个案例中,VC++被用来编写OPC客户端程序,与OPC服务器建立连接,读取或写入PLC的数据。 4. 源程序修改:原下载的...

    dp.rar_300_VC CP5611_VC s7 300_cp5611_vc dp5611

    标题中的"dp.rar_300_VC CP5611_VC s7 300_cp5611_vc dp5611" 提到了几个关键元素:dp.rar 是压缩包的名称,300 VC 指的是与西门子S7-300 PLC相关的VC++(Visual C++)编程,CP5611 是西门子的一种通信接口卡,用于...

    初学者入门集群并行算法例子

    4. **VC与MPI集成**:配置Visual C++环境以支持MPI编译和调试,这可能需要安装如MPICH或OpenMPI等MPI实现,并配置编译器路径和链接选项。 5. **测试与调试**:运行并行程序,分析性能,使用MPI提供的工具如`MPI_W...

    WindowsXP下MPICH2的安装和配置说明

    ### Windows XP 下 MPICH2 的安装与...通过上述步骤,您已在 Windows XP 环境下成功安装与配置了 MPICH2,并能够进行基础的并行计算测试。这不仅为研究并行算法提供了平台,也为进一步探索高性能计算领域奠定了基础。

    Linking ABAQUS 2017 and Intel Parallel Studio XE2016 (Visual Fortran) in Windows

    知识点主要围绕在Windows环境下进行UMAT/VUMAT二次开发所必需的软件安装和环境变量配置步骤。 首先,需要按照特定顺序安装以下软件: 1. 微软社区版Visual Studio 2013,它可以从官方网址免费获取; 2. Intel ...

    VC 直接读写西门子 Simens PLC 数据 的DLL

    VC作为Microsoft的C++开发环境,可以提供高效且灵活的编程能力,用于开发与PLC交互的应用程序。 标签"DLL 读写 PLC 通讯"进一步明确了这个话题的核心,即使用DLL进行PLC的读写通讯。读写操作是PLC应用程序的基本...

Global site tag (gtag.js) - Google Analytics