[OMPI users] Compiling an OpenMPI application with intel compilers
Hello, I have the latest OpenMPI on linux which I compiled with the Intel compiler suite. I am trying to compile an OpenMPI application. My particular application uses RInside and RcppEigen. If I comment out the openMPI parts of my code, the compile string is: icpc -I/usr/share/R/include -I/usr/lib/R/site-library/Rcpp/include -I/usr/local/lib/R/site-library/RInside/include -O3 -pipe -g -Wall -I/usr/local/lib/R/site-library/RcppEigen/include sjb_simple_smle_with_Rinside.cpp -L/usr/lib/R/lib -lR -lblas -llapack -L/usr/lib/R/site-library/Rcpp/lib -lRcpp -Wl,-rpath,/usr/lib/R/site-library/Rcpp/lib -L/usr/local/lib/R/site-library/RInside/lib -lRInside -Wl,-rpath,/usr/local/lib/R/site-library/RInside/lib -o sjb_simple_smle_with_Rinside Thus, I tried to compile with mpic++ using: mpic++ -I/usr/share/R/include -I/usr/lib/R/site-library/Rcpp/include -I/usr/local/lib/R/site-library/RInside/include -O3 -pipe -g -Wall -I/usr/local/lib/R/site-library/RcppEigen/include sjb_simple_smle_with_Rinside.cpp -L/usr/lib/R/lib -lR -lblas -llapack -L/usr/lib/R/site-library/Rcpp/lib -lRcpp -Wl,-rpath,/usr/lib/R/site-library/Rcpp/lib -L/usr/local/lib/R/site-library/RInside/lib -lRInside -Wl,-rpath,/usr/local/lib/R/site-library/RInside/lib -o sjb_simple_smle_with_Rinside If I uncomment #include "mpi.h" and try to compile, I get the errors below. Is there any trick to compiling OpenMPI applications with the Intel compilers? Thanks, Stephen COMPILE ERROR: stevejb@ursamajor:~/Projects/big_data_sim_mle/simple_smle/R_inside_version$ mpic++ -I/usr/share/R/include -I/usr/lib/R/site-library/Rcpp/include -I/usr/local/lib/R/site-library/RInside/include -O3 -pipe -g -Wall -I/usr/local/lib/R/site-library/RcppEigen/include sjb_simple_smle_with_Rinside.cpp -L/usr/lib/R/lib -lR -lblas -llapack -L/usr/lib/R/site-library/Rcpp/lib -lRcpp -Wl,-rpath,/usr/lib/R/site-library/Rcpp/lib -L/usr/local/lib/R/site-library/RInside/lib -lRInside -Wl,-rpath,/usr/local/lib/R/site-library/RInside/lib -o sjb_simple_smle_with_Rinside -shared-intel -I/usr/local/include -pthread -L/usr/local/lib -lmpi_cxx -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil /usr/local/include/openmpi/ompi/mpi/cxx/datatype.h(142): error: expected a type specifier virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/datatype.h(142): error: expected a ")" virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/datatype.h(142): error: expected an identifier virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/datatype.h(142): error: "virtual" is not allowed virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/datatype.h(142): error: expected a ";" virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/op.h(48): error: expected a type specifier virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/op.h(48): error: expected a ")" virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/op.h(48): error: expected an identifier virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/op.h(48): error: "virtual" is not allowed virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/op.h(48): error: expected a ";" virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/request.h(96): error: expected a type specifier virtual void Free(void); ^ /usr/local/include/openmpi/ompi/mpi/cxx/request.h(96): error: expected a ")" virtual void Free(void); ^ /usr/local/include/openmpi/ompi/mpi/cxx/request.h(96): error: expected an identifier virtual void Free(void); ^ /usr/local/include/openmpi/ompi/mpi/cxx/request.h(96): error: "virtual" is not allowed virtual void Free(void); ^ /usr/local/include/openmpi/ompi/mpi/cxx/request.h(96): error: expected a ";" virtual void Free(void); ^ /usr/local/include/openmpi/ompi/mpi/cxx/group.h(111): error: expected a type specifier virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/group.h(111): error: expected a ")" virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/group.h(111): error: expected an identifier virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/group.h(111): error: "virtual" is not allowed virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/group.h(111): error: expected a ";" virtual void Free(); ^ /usr/local/include/openmpi/ompi/mpi/cxx/comm.h(264): error: expected a type specifier virtual void Free(void); ^ /usr/local/include/openmpi/ompi/mpi/cxx/comm.h(264): error: expected a ")" virtual void Free(void); ^ /usr/local/include/openmpi/ompi/mpi/cxx/comm.h(264): error: expected an identifier
Re: [OMPI users] User Interface for MPMD
r27012 implements this for you - it is in the OMPI trunk and should make it into the 1.7.0 release. The info keys you want are: for item (1): "num_app_ctx" for item (2): "first_rank" - returns a space-separated list of 1st ranks for each app_context ("instance" in your terminology) for item (3): "np" - returns a space-separated list of num procs for each app_context HTH Ralph On Aug 10, 2012, at 4:19 PM, Frank Kampe wrote: > Thanks to all for your help. > > > From: users-boun...@open-mpi.org [users-boun...@open-mpi.org] on behalf of > Ralph Castain [r...@open-mpi.org] > Sent: Friday, August 10, 2012 4:50 PM > To: Open MPI Users > Subject: Re: [OMPI users] User Interface for MPMD > > ...and, as I told Jeff on the phone, I already signed up to implement it for > the 1.7 series :-) > > Should get to it next week. In the interim, you could access that data > directly from the ORTE structures, but it would be a tad ugly - probably > easier for me to get this implemented for you if your timing can wait. > > > On Aug 10, 2012, at 2:42 PM, Jeff Squyres wrote: > >> Ah, I was wrong: it wasn't Adam Moody -- it was Marc Snir's proposal. It's >> MPI Forum 3.0 ticket #313: >> >> https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/313 >> >> Download the 313.pdf to see the changes for this proposal. It did pass and >> will be part of MPI-3.0. >> >> Basically, MPI now defines a pre-defined MPI_Info object named MPI_INFO_ENV >> containing the information that you are looking for. >> >> ***NOTE: the MPI_INFO_ENV name is different than what is shown in the >> 313.pdf -- see the MPI-3 draft doc document for the final/official text: >> http://meetings.mpi-forum.org/MPI_3.0_main_page.php). >> >> >> >> On Aug 10, 2012, at 4:45 PM, Jeff Squyres wrote: >> >>> I swear that there was an MPI-3 proposal for just about exactly this issue >>> (because there is currently no MPI-standardized way to get this >>> information). >>> >>> I honestly don't remember what happened to this proposal, but I know who >>> made it (Adam Moody, from Livermore). I've just pinged him off list to >>> find out what happened to that proposal. >>> >>> Stay tuned... >>> >>> >>> >>> On Aug 10, 2012, at 1:50 PM, Frank Kampe wrote: >>> OK. I think I am not being clear and am using the wrong terms. For example, suppose we launch and MPMD job: mpirun -np 1 a.out : -np 8 a.out2 : -np 512 a.out3 There are three "instances" invoked here---that's info item(1). In other words, how many executables are started. Given MPMD mode, the entire set of apps belong to the same MPI_COMM_WORLD. So, MPI Task 0 is the MPI rank of the process executing a.out, MPI Task 1 is the 1st MPI rank for process(s) executing a.out2, and Task 9 is the 1st MPI rank for processes(s) executing a.out3. That's the info in item (2) below. Finally number of tasks for instance 1 is 1, for instance 2 is 8, and for instance 3 is 512---that's item (3). What user-callable interface does OpenMPI provide to get that information in a.out, a.out2, and a.out3 during run-time? Thanks. From: users-boun...@open-mpi.org [users-boun...@open-mpi.org] on behalf of Ralph Castain [r...@open-mpi.org] Sent: Friday, August 10, 2012 12:00 PM To: Open MPI Users Subject: Re: [OMPI users] User Interface for MPMD I gather you don't want to use the MPI calls to get it? Perhaps it would help if we understood a little more about what you are trying to do. Or maybe we just aren't understanding the term "instance" - e.g., for #1, you want to know how many processes are executing in the job, yes? If that's correct, then the second question doesn't make sense to me - so I'm a little lost. On Aug 10, 2012, at 9:49 AM, Frank Kampe wrote: > No. I am looking for a user-callable function that will return > information about the running OpenMPI MPMD program from within the > running program---the information listed below in (1) -- (3). > > > From: users-boun...@open-mpi.org [users-boun...@open-mpi.org] on behalf > of Ralph Castain [r...@open-mpi.org] > Sent: Friday, August 10, 2012 11:15 AM > To: Open MPI Users > Subject: Re: [OMPI users] User Interface for MPMD > > I'm actually not sure I understand the question - are you talking about a > programmatic API where an application wants to spawn an MPI program? Or > an inter-program communication API that wants to tell another program > some information? Or an API by which the app can tell MPI "I'm going to > spawn N threads"? Or...? > > > On Aug 10, 2012, at 9:00 AM, Gus Correa wrote: > >> On 08/10/2012 11:31 AM,
[OMPI users] Open MPI exit statuses
Hello, When trying to run Open MPI application using mpirun I get the following error: "A daemon (pid 6816) died unexpectedly with status 252 while attempting to launch so we are aborting." What does this status means? Is there a list of MPI exit statuses with their meanings somewhere? Thanks for your response, Boris - Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
Re: [OMPI users] Open MPI exit statuses
On Aug 12, 2012, at 1:09 AM, "Sverdlov, Boris" wrote: > Hello, > > When trying to run Open MPI application using mpirun I get the following > error: > “A daemon (pid 6816) died unexpectedly with status 252 while attempting to > launch so we are aborting.” > What does this status means? Is there a list of MPI exit statuses with their > meanings somewhere? Not really - it depends on your launch environment. Usually there is more to the error message - was there? > > Thanks for your response, > Boris > - > Intel Israel (74) Limited > > This e-mail and any attachments may contain confidential material for > the sole use of the intended recipient(s). Any review or distribution > by others is strictly prohibited. If you are not the intended > recipient, please contact the sender and delete all copies. > > ___ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users