MPI启动参数设置解析

设置Codeblock的mpi启动参数
Project->set program arguments设置系统参数
MPI启动参数设置解析

默认情况下就算不设置参数也有一个系统参数,现在来测试一下

#include <iostream>
#include<stdio.h>
#include<mpi.h>

using namespace std;
int main(int argc,char* argv[])
{
    int rank,size;
    MPI_Init(&argc,&argv);
    MPI_Comm_rank(MPI_COMM_WORLD,&rank);
    MPI_Comm_size(MPI_COMM_WORLD,&size);
    printf("Hello World, I am %d of %d\n",rank,size);
    int i;
        cout<<argc<<"___\n"<<endl;
        cout<<argv[0]<<"___\n"<<endl;
    MPI_Finalize();
    return 0;
}

这个默认的argv[0]就是这个项目.exe文件的路径.
MPI启动参数设置解析

设置参数后看看效果MPI启动参数设置解析

int main(int argc,char* argv[])
{
    int rank,size;
    MPI_Init(&argc,&argv);
    MPI_Comm_rank(MPI_COMM_WORLD,&rank);
    MPI_Comm_size(MPI_COMM_WORLD,&size);
    printf("Hello World, I am %d of %d\n",rank,size);
    int i;
        cout<<argc<<"___\n"<<endl;
    for(i=0;i<argc;i++)
        cout<<i<<":"<<argv[i]<<"___\n"<<endl;
    MPI_Finalize();
    return 0;
}

结果如下MPI启动参数设置解析
总结,CODEBLOCK会自动帮我们统计传入的参数的个数,我们只需要用空格隔开就行,统计好的值+1给了argc,然后依次把参数赋给argv[].

上一篇:攻防世界


下一篇:基于tcp的应用层消息边界如何定义