[OMPI users] Error message when using MPI_Datatype_struct()

2008-03-10 Thread Thomas Ropars

Hi,

I'm currently implementing a mechanism to piggyback information on 
messages. On message sending, I dynamically create a new datatype 
composed of the original buffer and of the data to piggyback.


For instance, if I want to piggyback an integer on each message, I use 
the following code:


int send(void *buf,
size_t count,
struct ompi_datatype_t* datatype,
int dst,
int tag,
mca_pml_base_send_mode_t sendmode,
ompi_communicator_t* comm )
{
   MPI_Datatype type[2];
   int blocklen[2];
   MPI_Aint disp[2];
   MPI_Datatype datatype_out;
   int piggy=0;

   type[0]=datatype;
   type[1]=MPI_INT;
   blocklen[0]=count;
   blocklen[1]=1;

   MPI_Address(buf,disp);
   MPI_Address(&piggy,disp+1);

   MPI_Type_struct(2, blocklen, disp, type, datatype_out);

   MPI_Type_commit(datatype_out);

   /* then I call the original send function and send my new datatype */
   original_send(MPI_BOTTOM, 1, datatype_out, dst, tag, sendmode,
 comm);

}

This code works well. But if the data I want to piggyback is dynamically 
allocated. I get this kind of error message:


../../ompi/datatype/datatype_pack.h:40
   Pointer 0x823fab0 size 4 is outside [0xbfef8920,0x823fab4] for
   base ptr (nil) count 1 and data
Datatype 0x8240b90[] size 8 align 4 id 0 length 3 used 2
true_lb -1074820832 true_ub 136575668 (true_extent 1211396500) lb 
-1074820832 ub 136575668 (extent 1211396500)

nbElems 2 loops 0 flags 102 (commited )-c-GD--[---][---

Despite this message, the function works well too ...

Can someone explain me what this message means ? It seems that in the 
first part of the error message, the lower bound and the upper bound of 
the datatype are switched, but I don't know why.



Regards.

Thomas Ropars


Re: [OMPI users] MPI-2 Supported on Open MPI 1.2.5?

2008-03-10 Thread Michael
Quick answer, till you get a complete answer, Yes, OpenMPI has long  
supported most of the MPI-2 features.


Michael

On Mar 7, 2008, at 7:44 AM, Jeff Pummill wrote:

Just a quick question...

Does Open MPI 1.2.5 support most or all of the MPI-2 directives and  
features?


I have a user who specified MVAPICH2 as he needs some features like  
extra task spawning, but I am trying to standardize on Open MPI  
compiled against Infiniband for my primary software stack.


Thanks!

--
Jeff F. Pummill
Senior Linux Cluster Administrator
University of Arkansas




[OMPI users] openmpi-1.2.5 and globus-4.0.5

2008-03-10 Thread Christoph Spielmann

Hi everybody!

I try to get OpenMPI and Globus to cooperate. These are the steps i 
executed in order to get OpenMPI working:


  1. export PATH=/opt/openmpi/bin/:$PATH
  2. /opt/globus/setup/globus/setup-globus-job-manager-fork
 checking for mpiexec... /opt/openmpi/bin//mpiexec
 checking for mpirun... /opt/openmpi/bin//mpirun
 find-fork-tools: creating ./config.status
 config.status: creating fork.pm
  3. restart VDT (includes GRAM, WSGRAM, mysql, rls...)

As you can see the necessary OpenMPI-executables are recognized 
correctly by setup-globus-job-manager-fork. But when i actually try to 
execute a simple mpi-program using globus-job-run i get this:


globus-job-run localhost -x '(jobType=mpi)' -np 2 -s ./hypercube 0
[hydra:10168] [0,0,0] ORTE_ERROR_LOG: Error in file 
runtime/orte_init_stage1.c at line 312

--
It looks like orte_init failed for some reason; your parallel process is
likely to abort.  There are many reasons that a parallel process can
fail during orte_init; some of which are due to configuration or
environment problems.  This failure appears to be an internal failure;
here's some additional information (which may only be relevant to an
Open MPI developer):

 orte_pls_base_select failed
 --> Returned value -1 instead of ORTE_SUCCESS

--
[hydra:10168] [0,0,0] ORTE_ERROR_LOG: Error in file 
runtime/orte_system_init.c at line 42
[hydra:10168] [0,0,0] ORTE_ERROR_LOG: Error in file runtime/orte_init.c 
at line 52

--
Open RTE was unable to initialize properly.  The error occured while
attempting to orte_init().  Returned value -1 instead of ORTE_SUCCESS.
--

The MPI-program itself is okey:

which mpirun && mpirun -np 2 hypercube 0
/opt/openmpi/bin/mpirun
Process 0 received broadcast message 'MPI_Broadcast with hypercube 
topology' from Process 0
Process 1 received broadcast message 'MPI_Broadcast with hypercube 
topology' from Process 0



From what i read in the mailing list i think that something is wrong 
with the pls and globus. But i have no idea what could be wrong not to 
speak of how it could be fixed ;). so if someone would have an idea how 
this could be fixed, i'd be glad to hear it.


Regards,

Christoph


[OMPI users] What architecture? X86_64, that's what architecture!

2008-03-10 Thread Jim Hill




I'm trying to build a 64-bit 1.2.5 on an 8-core Xeon
Mac Pro running OS X 10.4.11, with the Portland Group's PGI Workstation
7.1-5 tools.  The configure script works its magic with a couple of
modifications to account for PGI's tendency to freak out about F90
modules.  Upon make, though, I end up dying with a "Wat architecture?"
error in
opal/mca/backtrace/darwin/MoreBacktrace/MoreDebugging/MoreBacktrace.c:128
because (I presume) a 64-bit Xeon build isn't a PPC, a PPC64, or an X86.

Is this something that's been seen by others?  I'm not the world's
greatest software stud and this is just a step along the path to my
real objective, which is making my own software run on this beast
machine of mine.

Suggestions, tips, and clever insults are welcome.  Thanks,


Jim
-- 
"Big Jim Cooley came out of the West;
whatever he wanted, he could get." -- Genesis, "Ballad of Big" 

Jim Hill, X-3 | MS T087 TA3/SCC | Vox: 665 3471 | Page: 104-7131 |
jimh...@lanl.gov

This message has been determined to be unclassified. -- JLH, ADC