[OMPI users] Error message when using MPI_Datatype_struct()
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?
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
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!
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