2006-07-14 01:03:36 +04:00
|
|
|
//
|
|
|
|
// Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
|
|
|
|
// University Research and Technology
|
|
|
|
// Corporation. All rights reserved.
|
|
|
|
// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
|
|
|
//
|
|
|
|
// Sample MPI "hello world" application in C++
|
|
|
|
//
|
2013-01-29 02:22:26 +04:00
|
|
|
// NOTE: The MPI C++ bindings were deprecated in MPI-2.2 and removed
|
|
|
|
// from the standard in MPI-3. Open MPI still provides C++ MPI
|
|
|
|
// bindings, but they are no longer built by default (and may be
|
|
|
|
// removed in a future version of Open MPI). You must
|
|
|
|
// --enable-mpi-cxx when configuring Open MPI to enable the MPI C++
|
|
|
|
// bindings.
|
|
|
|
//
|
2006-07-14 01:03:36 +04:00
|
|
|
|
2006-10-16 17:22:22 +04:00
|
|
|
#include "mpi.h"
|
2006-10-16 18:20:31 +04:00
|
|
|
#include <iostream>
|
2006-07-14 01:03:36 +04:00
|
|
|
|
|
|
|
int main(int argc, char **argv)
|
|
|
|
{
|
2012-02-03 03:57:09 +04:00
|
|
|
int rank, size, len;
|
|
|
|
char version[MPI_MAX_LIBRARY_VERSION_STRING];
|
2006-07-14 01:03:36 +04:00
|
|
|
|
|
|
|
MPI::Init();
|
|
|
|
rank = MPI::COMM_WORLD.Get_rank();
|
|
|
|
size = MPI::COMM_WORLD.Get_size();
|
2012-02-03 03:57:09 +04:00
|
|
|
MPI_Get_library_version(version, &len);
|
|
|
|
std::cout << "Hello, world! I am " << rank << " of " << size
|
|
|
|
<< "(" << version << ", " << len << ")" << std::endl;
|
2006-07-14 01:03:36 +04:00
|
|
|
MPI::Finalize();
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|