Re: [OMPI devel] [OMPI svn-full] svn:open-mpi r25005

2011-08-09 Thread Mike Dubman
Thanks for comment.
fixed it.

On Mon, Aug 8, 2011 at 6:28 PM, Jeff Squyres  wrote:

> Mike --
>
> Does mxm_init() do Reasonable Things to check to see if the local
> OpenFabrics-capable devices are unsuitable for MXM?  E.g., does it check to
> see if the local OpenFabrics devices are MXM-capable, and if not, fail
> gracefully?
>
> Also, I would suggest NOT showing a show_help message if there are OF
> devices available such that CM/MXM can (probably) fail over to OB1/openib.
>  I.e., only show a show_help message if devices are available for MXM, but
> an actual error occurs during the MXM initialization.
>
> Otherwise, if I mpirun (with the MXM MTL installed) on a system with only
> RoCE or iWARP devices present, MXM will complain but then fail over to
> OB1/openib.  That would probably be confusing.
>
>
>
> On Aug 7, 2011, at 8:06 AM, mi...@osl.iu.edu wrote:
>
> > Author: miked
> > Date: 2011-08-07 08:06:49 EDT (Sun, 07 Aug 2011)
> > New Revision: 25005
> > URL: https://svn.open-mpi.org/trac/ompi/changeset/25005
> >
> > Log:
> > better mxm selection mechanism, some refactoring
> > Text files modified:
> >   trunk/ompi/mca/mtl/mxm/mtl_mxm_cancel.c| 4 ++--
> >   trunk/ompi/mca/mtl/mxm/mtl_mxm_component.c |32
> ++--
> >   trunk/ompi/mca/mtl/mxm/mtl_mxm_recv.c  | 6 +++---
> >   trunk/ompi/mca/mtl/mxm/mtl_mxm_request.h   | 6 +-
> >   trunk/ompi/mca/mtl/mxm/mtl_mxm_send.c  | 4 ++--
> >   5 files changed, 26 insertions(+), 26 deletions(-)
> >
> > Modified: trunk/ompi/mca/mtl/mxm/mtl_mxm_cancel.c
> >
> ==
> > --- trunk/ompi/mca/mtl/mxm/mtl_mxm_cancel.c   (original)
> > +++ trunk/ompi/mca/mtl/mxm/mtl_mxm_cancel.c   2011-08-07 08:06:49 EDT
> (Sun, 07 Aug 2011)
> > @@ -18,9 +18,9 @@
> > mxm_error_t err;
> > mca_mtl_mxm_request_t *mtl_mxm_request = (mca_mtl_mxm_request_t*)
> mtl_request;
> >
> > -err = mxm_req_cancel(mtl_mxm_request->mxm_base_request);
> > +err = mxm_req_cancel(&mtl_mxm_request->mxm.base);
> > if (MXM_OK == err) {
> > -err = mxm_req_test(mtl_mxm_request->mxm_base_request);
> > +err = mxm_req_test(&mtl_mxm_request->mxm.base);
> > if (MXM_OK == err) {
> > mtl_request->ompi_req->req_status._cancelled = true;
> >
> mtl_mxm_request->super.completion_callback(&mtl_mxm_request->super);
> >
> > Modified: trunk/ompi/mca/mtl/mxm/mtl_mxm_component.c
> >
> ==
> > --- trunk/ompi/mca/mtl/mxm/mtl_mxm_component.c(original)
> > +++ trunk/ompi/mca/mtl/mxm/mtl_mxm_component.c2011-08-07 08:06:49
> EDT (Sun, 07 Aug 2011)
> > @@ -72,18 +72,27 @@
> >
> > static int ompi_mtl_mxm_component_open(void)
> > {
> > -struct stat st;
> >
> > -/* Component available only if IB hardware is present */
> > -if (0 == stat("/dev/infiniband/uverbs0", &st)) {
> > -return OMPI_SUCCESS;
> > -} else {
> > +mxm_context_opts_t mxm_opts;
> > +mxm_error_t err;
> > +
> > +mca_mtl_mxm_output = opal_output_open(NULL);
> > +opal_output_set_verbosity(mca_mtl_mxm_output, ompi_mtl_mxm.verbose);
> > +
> > +mxm_fill_context_opts(&mxm_opts);
> > +err = mxm_init(&mxm_opts, &ompi_mtl_mxm.mxm_context);
> > +if (MXM_OK != err) {
> > +orte_show_help("help-mtl-mxm.txt", "mxm init", true,
> > +   mxm_error_string(err));
> > return OPAL_ERR_NOT_AVAILABLE;
> > }
> > +return OMPI_SUCCESS;
> > }
> >
> > static int ompi_mtl_mxm_component_close(void)
> > {
> > +mxm_cleanup(ompi_mtl_mxm.mxm_context);
> > +ompi_mtl_mxm.mxm_context = NULL;
> > return OMPI_SUCCESS;
> > }
> >
> > @@ -91,21 +100,8 @@
> > ompi_mtl_mxm_component_init(bool enable_progress_threads,
> > bool enable_mpi_threads)
> > {
> > -mxm_context_opts_t mxm_opts;
> > -mxm_error_t err;
> > int rc;
> >
> > -mca_mtl_mxm_output = opal_output_open(NULL);
> > -opal_output_set_verbosity(mca_mtl_mxm_output, ompi_mtl_mxm.verbose);
> > -
> > -mxm_fill_context_opts(&mxm_opts);
> > -err = mxm_init(&mxm_opts, &ompi_mtl_mxm.mxm_context);
> > -if (MXM_OK != err) {
> > -orte_show_help("help-mtl-mxm.txt", "mxm init", true,
> > -   mxm_error_string(err));
> > -return NULL;
> > -}
> > -
> > rc = ompi_mtl_mxm_module_init();
> > if (OMPI_SUCCESS != rc) {
> >   return NULL;
> >
> > Modified: trunk/ompi/mca/mtl/mxm/mtl_mxm_recv.c
> >
> ==
> > --- trunk/ompi/mca/mtl/mxm/mtl_mxm_recv.c (original)
> > +++ trunk/ompi/mca/mtl/mxm/mtl_mxm_recv.c 2011-08-07 08:06:49 EDT
> (Sun, 07 Aug 2011)
> > @@ -22,12 +22,12 @@
> > {
> >   mca_mtl_mxm_request_t *req = (mca_mtl_mxm_request_t *) context;
> > struct ompi_request_t *ompi_req = req->super.ompi_req;
>

Re: [OMPI devel] bug report-

2011-08-09 Thread Shiqing Fan

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 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


 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  
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  





--
---
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



Re: [OMPI devel] bug report-

2011-08-09 Thread Shiqing Fan

Hi Renyong,

If the same problem occurs under Linux, then the Boost.MPI library might 
have compatible issues with Open MPI, but it still needs to be verified.


However, I'm also confused why the simple code didn't work for you. The 
only guess is the environment is messed up by different MPI 
implementations, that the launched mpi processes are several 'singleton' 
jobs which have all rank 0.



Regards,
Shiqing

On 2011-08-09 2:00 PM, renyong.yang wrote:

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 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 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


 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  
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

Re: [OMPI devel] bug report-

2011-08-09 Thread Jeff Squyres
If all processes are coming out to be rank 0, it *may* mean that you're 
dynamically linking to the wrong MPI library at run time, or have some other 
kind of MPI implementation/version mismatch. 

At least, it can mean this in a POSIX environment.  I don't rightly know what 
it means in a Windows environment, but I thought I'd throw this out there...


On Aug 9, 2011, at 8:55 AM, Shiqing Fan wrote:

> Hi Renyong,
> 
> If the same problem occurs under Linux, then the Boost.MPI library might have 
> compatible issues with Open MPI, but it still needs to be verified.  
> 
> However, I'm also confused why the simple code didn't work for you. The only 
> guess is the environment is messed up by different MPI implementations, that 
> the launched mpi processes are several 'singleton' jobs which have all rank 0.
> 
> 
> Regards,
> Shiqing
> 
> On 2011-08-09 2:00 PM, renyong.yang wrote:
>> 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 
>> 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 
>>> 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 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.
 
 
 
 ___
 de

Re: [OMPI devel] bug report-

2011-08-09 Thread Shiqing Fan

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 >


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 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:/

Re: [OMPI devel] bug report-

2011-08-09 Thread Shiqing Fan


Now I see the problem. The Open MPI binaries were build with Microsoft 
cl compiler, it has different name conventions, so the symbols couldn't 
be resolved by g++ compiler. I've started the native MinGW compiler 
support, some projects can already be built via gcc or g++, but it's not 
finished yet.



Regards,
Shiqing

On 2011-08-09 3:19 PM, renyong.yang wrote:

Hi,

I'm using mingw g++, the IDE is eclipse cdt,

these are all the info:

make all
'Building file: ../src/mpi_test1.cpp'
'Invoking: Cross G++ Compiler'
g++ -I"C:\Program Files\OpenMPI_v1.5.3-win32\include" -O0 -g3 -Wall -c 
-fmessage-length=0 -MMD -MP -MF"src/mpi_test1.d" -MT"src/mpi_test1.d" 
-o "src/mpi_test1.o" "../src/mpi_test1.cpp"

'Finished building: ../src/mpi_test1.cpp'
' '
'Building target: mpi_test1'
'Invoking: Cross G++ Linker'
g++ -L"C:\Program Files\OpenMPI_v1.5.3-win32\bin" -o "mpi_test1" 
 ./src/mpi_test1.o   -lmpi
c:/program 
files/codeblocks/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: 
warning: auto-importing has been activated without 
--enable-auto-import specified on the command line.
This should work unless it involves constant data structures 
referencing symbols from auto-imported DLLs.

./src/mpi_test1.o: In function `main':
C:\Users\yong\workspace\mpi_test1\Debug/../src/mpi_test1.cpp:21: 
undefined reference to `MPI::COMM_WORLD'
C:\Users\yong\workspace\mpi_test1\Debug/../src/mpi_test1.cpp:23: 
undefined reference to `MPI::COMM_WORLD'

./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:C:/Program 
Files/OpenMPI_v1.5.3-win32/include/openmpi/ompi/mpi/cxx/functions_inln.h:91: 
undefined reference to `MPI::InitializeIntercepts()'

./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
Info: resolving _ompi_mpi_comm_null by linking to 
__imp__ompi_mpi_comm_null (auto-import)




2011/8/9 Shiqing Fan mailto:f...@hlrs.de>>

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:
unde

[OMPI devel] 1.5.4 NEWS bullets

2011-08-09 Thread Jeff Squyres
Please read and double check.  Send any edits to me, or edit NEWS on the trunk 
directly.  Thanks.


- Add support for the (as yet unreleased) Mellanox MXM transport.
- Add support for dynamic service levels (SLs) in the openib BTL.
- Fixed C++ bindings cosmetic/warnings issue with
  MPI::Comm::NULL_COPY_FN and MPI::Comm::NULL_DELETE_FN.  Thanks to
  JĂșlio Hoffimann for identifying the issues.
- Also allow the word "slots" in rankfiles (i.e., not just "slot").
- Add Mellanox ConnectX 3 device IDs to the openib BTL defaults.
- Various FCA updates.
- Fix 32 bit SIGBUS errors on Solaris SPARC platforms.
- Add missing ARM assembly code files.
- Update to allow more than 128 entries in an appfile.
- Various VT updates and bug fixes.
- Update description of btl_openib_cq_size to be more accurate.
- Various assembly "clobber" fixes.
- Fix a hang in carto selection in obscure situations.
- Fix for NetBSD, which doesn't have 
- Support Solaris legacy munmap prototype changes.
- Updated to Automake 1.11.1 per 
  http://www.open-mpi.org/community/lists/devel/2011/07/9492.php.
- Fix compilation of LSF support.
- Update MPI_Comm_spawn_multiple.3 man page to reflect what it
  actually does.
- Fix for possible corruption of the environment.  Thanks to Peter
  Thompson for the suggestion.
- Enable use of PSM on direct-launch SLURM jobs.
- Update paffinity hwloc to v1.2, and to fix minor bugs affinity
  assignment bugs on PPC64/Linux platforms.
- Let the openib BTL auto-detect its bandwidth.
- Support new MPI-2.2 datatypes.
- Updates to support more datatypes in MPI one-sided communication.
- Fix recursive locking bug when MPI-IO was used with
  MPI_THREAD_MULTIPLE. 
- Fix mpirun handling of prefix conflicts.
- Ensure mpirun's --xterm options leaves sessions attached.
- Fix types of the sendcounts and displs parameters to the F90 module
  for MPI_Scatterv (while still preserving the F90 ABI).  Thanks to
  Stanislav Sazykin for identifying the issue.
- Fix indexed datatype leaks.  Thanks to Pascal Deveze for supplying
  the initial patch.
- Fix debugger mapping when mpirun's -npernode option is used.
- Fixed support for configure's --disable-dlopen option when used with
  "make distclean".
- Fix segv associated with MPI_Comm_create with MPI_GROUP_EMPTY.
- Improved LoadLeveler ORTE support.
- Add new WindVerbs BTL plugin, supporting native OpenFabrics verbs on
  Windows (the "wv" BTL).
- Add new btl_openib_gid_index MCA parameter to allow selecting which
  GID to use on an OpenFabrics device's GID table.
- Add support for PCI relaxed ordering in the OpenFabrics BTL (when
  available).
- Update rsh logic to allow correct SGE operation.
- Ensure that the mca_paffinity_alone MCA parameter only appears once
  in the ompi_info output.  Thanks to Gus Correa for identifying the
  issue.
- Fix return status from MPI_Probe.
- Remove --enable-progress-thread configure option; it doesn't work on
  the v1.5 branch.  Rename --enable-mpi-threads to
  --enable-mpi-thread-multiple.  Add new --enable-opal-multi-threads
  option. 
- Updates for Intel Fortran compiler version 12.
- Remove bproc support.  Farewell bproc!
- If something goes wrong during during MPI_INIT, fix the error
  message to say that it's illegal to invoke MPI_INIT before
  MPI_INIT.  
- Fixed type of sendcounts and displs in the "use mpi" F90 module.
  ABI is preserved, but applications may well be broken.  See the README
  for more details.


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/




[OMPI devel] v1.5.4 .so version numbers

2011-08-09 Thread Jeff Squyres
Here's what the version numbers were for v1.5.3:

libmpi_so_version=1:1:0
libmpi_cxx_so_version=1:1:0
libmpi_f77_so_version=1:1:0
libmpi_f90_so_version=1:1:0
libopen_rte_so_version=2:0:0
libopen_pal_so_version=2:0:0

Here's what I think they should be for v1.5.4 -- can someone sanity check me?

libmpi_so_version=1:2:0
  --> None of the C MPI API calls have changed (which is what we defined as the 
only interfaces that matter here), but some internal code did change.

libmpi_cxx_so_version=1:1:0
  --> No interface or code changes (same number as v1.5.3)

libmpi_f77_so_version=1:2:0
  --> Minor fixes to some logic, but no interfaces changed

libmpi_f90_so_version=2:0:1
  --> New (correct) interfaces for MPI_SCATTERV were added.  The old 
(incorrect) interfaces were kept for ABI reasons.

libopen_rte_so_version=3:0:0
  --> The app_idx change breaks compatibility with older versions

libopen_pal_so_version=3:0:0
  --> The DDT changes break compatibility with older versions

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/