Hi,
Which command did you use to compile your code?
I tried following code on my Windows 7 machine with compile command
"mpicxx hello.cpp":
hello.cpp
===================================
# include "mpi.h"
using namespace std;
int main ( int argc, char *argv[] )
{
int rank, size;
MPI::Init ( argc, argv );
size = MPI::COMM_WORLD.Get_size ( );
rank = MPI::COMM_WORLD.Get_rank ( );
printf("Rank # %d \n", rank);
MPI::Finalize ( );
return 0;
}
console output :
======================================
d:\work\OpenMPI\tests\CXX>mpicxx hello.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01
for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
hello.cpp
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
/out:hello.exe
"/LIBPATH:C:\Program Files\OpenMPI_v1.5.3-win32\lib"
libmpi_cxx.lib
libmpi.lib
libopen-pal.lib
libopen-rte.lib
advapi32.lib
Ws2_32.lib
shlwapi.lib
hello.obj
d:\work\OpenMPI\tests\CXX>mpirun -np 2 hello.exe
Rank # 0
Rank # 1
Regards,
Shiqing
On 2011-08-09 3:04 PM, renyong.yang wrote:
I compiled the simple code with "Microsoft Compute Cluster Pack" on
Windows and if I load its own loader "mpiexec.exe" within its program
folder, the program can work correctly, however if I tried to use your
loader "C:\Program Files\OpenMPI_v1.5.3-win32\bin\mpiexec.exe"
and "C:\Program Files\OpenMPI_v1.5.3-win32\bin\mpirun.exe", the
process it created is always with rank "0". BTW, I compile the code
with "Microsoft Compute Cluster Pack" because the simple code can not
be compiled with the v1.5.3 release for windows, the compiler complains:
./src/mpi_test1.o: In function `Intracomm':
C:/Program
Files/OpenMPI_v1.5.3-win32/include/openmpi/ompi/mpi/cxx/intracomm.h:25: undefined
reference to `MPI::Comm::Comm()'
./src/mpi_test1.o: In function `Intracomm':
C:/Program
Files/OpenMPI_v1.5.3-win32/include/openmpi/ompi/mpi/cxx/intracomm_inln.h:23:
undefined reference to `MPI::Comm::Comm()'
./src/mpi_test1.o:C:/Program
Files/OpenMPI_v1.5.3-win32/include/openmpi/ompi/mpi/cxx/op_inln.h:122:
undefined reference to `ompi_mpi_cxx_op_intercept'
./src/mpi_test1.o:mpi_test1.cpp:(.rdata$_ZTVN3MPI3WinE[vtable for
MPI::Win]+0x24): undefined reference to `MPI::Win::Free()'
./src/mpi_test1.o:mpi_test1.cpp:(.rdata$_ZTVN3MPI8DatatypeE[vtable for
MPI::Datatype]+0x3c): undefined reference to `MPI::Datatype::Free()'
collect2: ld returned 1 exit status
make: *** [mpi_test1] Error 1
When I tried CMake with GUI for version 1.4.3, no .sln file generated,
is there something I've missed?
Regardes~~
Renyong
2011/8/9 renyong.yang <yangreny...@gmail.com
<mailto:yangreny...@gmail.com>>
Hi,
I've solved the same weird error on Linux, but have not tried
Windows yet. The error recurs on Linux system, when I firstly use
mpich on my Linux, the program works fine, then I uninstalled it
and switched to your open-mpi, the error came out without
warning, and I tried to change the compiler to mpic++ other than
g++, the error remains. So I doubt if the Boost.MPI is compatible
with current MPI system, I recompiled the Boost.MPI library and
substituted the old ones, the code with Boost library came back to
work. So I guess the old compiled Boost library depends on other
library like mpich, so it can't work with current open-mpi because
they are incompatible, however, I'm still confused why simple code
(In the last mail I sent to you) which does not depend on Boost
library(I never used mpich on Windows before), can not work.
Wishes~
Renyong
2011/8/9 Shiqing Fan <f...@hlrs.de <mailto:f...@hlrs.de>>
Hi,
The code works for me under MinGW console with the
pre-compiled installer. Could you try "which mpicc" to ensure
that the correct Open MPI commands are in path?
For building Open MPI by your self with CMake, you have to
configure it in the GUI and then generate the sln files by
pressing the generate button. I don't recommend to use the
other two means, they haven't been tested for some while.
Regards,
Shiqing
On 2011-08-09 3:48 AM, renyong.yang wrote:
hi,
the following code:
int main(int argc, char **argv)
{
int procnum;
/* Initialize MPI */
MPI_Init(&argc, &argv);
/* Find out this processor number */
MPI_Comm_rank(MPI_COMM_WORLD, &procnum);
/* Find out the number of processors */
std::cout << "I'm process: " << procnum << std::endl;
MPI_Finalize();
return 0;
}
also goes with the same rank "0" error, I think if there's
something wrong with the auxiliary program "mpirun" ?
BTW, I tried all the 3 means on your
http://svn.open-mpi.org/svn/ompi/trunk/README.WINDOWS.txt guideline
but none worked to compile my own dll for
http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.3.tar.bz2,
the first approach failed because I found no .sln file in the
distributed tarballs after configuring with cmake, the second
mean I can not use is the lacking of ompi-static.tgz file,
the 3rd solution I tried does not work neither, because I
don't know what the ash.exe shell interpreter you are
actually pointing to, so I'd be much appreciated if you can
tell me the a working approach. Thanks very much.
2011/8/9 Shiqing Fan <f...@hlrs.de <mailto:f...@hlrs.de>>
Hi,
I've never tried this Boost.MPI with Open MPI on Windows.
Does it work without the Boost.MPI library? Did you run
your test under MinGW?
Regards,
Shiqing
On 2011-08-08 5:31 PM, renyong.yang wrote:
Run time environment of mine is Windows 7, with the
unstable OpenMPI_v1.5.3-2_win32.exe
<http://www.open-mpi.org/software/ompi/v1.5/downloads/OpenMPI_v1.5.3-2_win32.exe>
release
for Windows, together with Microsoft Compute Cluster
Pack. Additionally I'm using Boost.MPI library v1.47
compiled by mingw, I write those following codes:
int main(int argc, char **argv)
{
mpi::environment env(argc, argv); // Boost.MPI class
boost::mpi::communicator worldCom; // Boost.MPI class
std::cout << "rank():" << worldCom.rank() << std::endl;
worldCom.barrier();
return 0;
}
and successfully compiled and linked with your library
as "a.exe" by mingw, however, if I run it:
>mpirun -np 4 a.exe
the command will create 4 process with the same rank
"0", I wonder if it's the bug of your unstable release
for windows?
BTW, can you publish the Visual studio project to the
subversion? Thanks very much.
_______________________________________________
devel mailing list
de...@open-mpi.org <mailto:de...@open-mpi.org>
http://www.open-mpi.org/mailman/listinfo.cgi/devel
--
---------------------------------------------------------------
Shiqing Fan
High Performance Computing Center Stuttgart (HLRS)
Tel: ++49(0)711-685-87234 Nobelstrasse 19
Fax: ++49(0)711-685-65832 70569 Stuttgart
http://www.hlrs.de/organization/people/shiqing-fan/
email:f...@hlrs.de <mailto:f...@hlrs.de>
--
---------------------------------------------------------------
Shiqing Fan
High Performance Computing Center Stuttgart (HLRS)
Tel: ++49(0)711-685-87234 Nobelstrasse 19
Fax: ++49(0)711-685-65832 70569 Stuttgart
http://www.hlrs.de/organization/people/shiqing-fan/
email:f...@hlrs.de <mailto:f...@hlrs.de>
--
---------------------------------------------------------------
Shiqing Fan
High Performance Computing Center Stuttgart (HLRS)
Tel: ++49(0)711-685-87234 Nobelstrasse 19
Fax: ++49(0)711-685-65832 70569 Stuttgart
http://www.hlrs.de/organization/people/shiqing-fan/
email: f...@hlrs.de