Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-04-15 10:07:47


This is unfortunately not enough information to provide any help --
the (lots of output) parts are pretty important. Can you provide all
the information cited here:

     http://www.open-mpi.org/community/help/

On Apr 14, 2007, at 11:36 PM, pooja_at_[hidden] wrote:

> Hi!!!
> Thanks for help!!!
>
> Right now I am just trying to install the normal openmpi(without
> using all
> development header files).
> But it is still giving me some error.
> I have downloaded the developer version from the openmpi.org site.
> Then I gave
> ./configure --prefix=/net/hc293/pooja/dev_openmpi
> (lots of out put)
> make all install
> (lots of output )
> and error :ld returned 1 exit status
> make[2]: *** [libopen-pal.la] Error 1
> make[2]: Leaving directory `/net/hc293/pooja/openmpi-1.2.1a0r14362-
> dev/opal'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/net/hc293/pooja/openmpi-1.2.1a0r14362-
> dev/opal'
> make: *** [all-recursive] Error 1
>
>
>
> Also the dev_openmpi folder is empty.
>
> SO I am not able to complie normal ring_c.c example also.
>
> Please help
>
> Thanks and Regards
> Pooja
>
>
>
>
>
>
>> Configure with the --with-devel-headers switch. This will install
>> all the developer headers.
>>
>> If you care, check out "./configure --help" -- that shows all the
>> options available to the configure script (including --with-devel-
>> headers).
>>
>>
>> On Apr 13, 2007, at 7:36 PM, pooja_at_[hidden] wrote:
>>
>>> Hi
>>>
>>> I have downloaded the developer version of source code by
>>> downloading a
>>> nightly Subversion snapshot tarball.And have installed the openmpi.
>>> Using
>>>
>>> ./configure --prefix=/usr/local
>>> make all install.
>>>
>>> But I want to install with all the development headers.So that I
>>> can write
>>> an application that can use Ompi internal headers.
>>>
>>>
>>> Thanks and Regards
>>> Pooja
>>>
>>>
>>>
>>>
>>>
>>>> On Apr 1, 2007, at 3:12 PM, Ralph Castain wrote:
>>>>
>>>>> I can't help you with the BTL question. On the others:
>>>>
>>>> Yes, you can "sorta" call BTL's directly from application programs
>>>> (are you trying to use MPI alongside other communication libraries,
>>>> and using the BTL components as a sample?), but there are issues
>>>> involved with this.
>>>>
>>>> First, you need to install Open MPI with all the development
>>>> headers. Open MPI normally only installs "mpi.h" and a small
>>>> number
>>>> of other heads; installing *all* the headers will allow you to
>>>> write
>>>> applications that use OMPI's internal headers (such as btl.h) while
>>>> developing outside of the Open MPI source tree.
>>>>
>>>> Second, you probably won't want to access the BTL's directly. To
>>>> make this make sense, here's how the code is organized (even if the
>>>> specific call sequence is not exactly this layered for performance/
>>>> optimization reasons):
>>>>
>>>> MPI layer (e.g., MPI_SEND)
>>>> -> PML
>>>> -> BML
>>>> -> BTL
>>>>
>>>> You have two choices:
>>>>
>>>> 1. Go through the PML instead (this is what we do in the MPI
>>>> collectives, for example) -- but this imposes MPI semantics on
>>>> sending and receiving, which assumedly you are trying to avoid.
>>>> Check out ompi/mca/pml/pml.h.
>>>>
>>>> 2. Go through the BML instead -- the BTL Management Layer. This is
>>>> essentially a multiplexor for all the BTLs that have been
>>>> instantiated. I'm guessing that this is what you want to do
>>>> (remember that OMPI has true multi-device support; using the BML
>>>> and
>>>> multiple BTLs is one of the ways that we do this). Have a look at
>>>> ompi/mca/bml/bml.h for the interface.
>>>>
>>>> There is also currently no mechanism to get the BML and BTL
>>>> pointers
>>>> that were instantiated by the PML. However, if you're just doing
>>>> proof-of-concept code, you can extract these directly from the MPI
>>>> layer's global variables to see how this stuff works.
>>>>
>>>> To have full interoperability of the underlying BTLs and between
>>>> multiple upper-layer communication libraries (e.g., between OMPI
>>>> and
>>>> something else) is something that we have talked about a little,
>>>> but
>>>> have not done much work on.
>>>>
>>>> To see the BTL interface (just for completeness), see ompi/mca/btl/
>>>> btl.h.
>>>>
>>>> You can probably see the pattern here... In all of Open MPI's
>>>> frameworks, the public interface is in <level>/mca/<framework>/
>>>> <framework>.h, where <level> is one of opal, orte, or ompi, and
>>>> <framework> is the name of the framework.
>>>>
>>>>> 1. states are reported via the orte/mca/smr framework. You will
>>>>> see
>>>>> the
>>>>> states listed in orte/mca/smr/smr_types.h. We track both process
>>>>> and job
>>>>> states. Hopefully, the state names will be somewhat self-
>>>>> explanatory and
>>>>> indicative of the order in which they are traversed. The job
>>>>> states
>>>>> are set
>>>>> when *all* of the processes in the job reach the corresponding
>>>>> state.
>>>>
>>>> Note that these are very coarse-grained process-level states (e.g.,
>>>> is a given process running or not?). It's not clear what kind of
>>>> states you were asking about -- the Open MPI code base has many
>>>> internal state machines for various message passing and other
>>>> mechanisms.
>>>>
>>>> What information are you looking for, specifically?
>>>>
>>>>> 2. I'm not sure what you mean by mapping MPI processes to
>>>>> "physical"
>>>>> processes, but I assume you mean how do we assign MPI ranks to
>>>>> processes on
>>>>> specific nodes. You will find that done in the orte/mca/rmaps
>>>>> framework. We
>>>>> currently only have one component in that framework - the round-
>>>>> robin
>>>>> implementation - that maps either by slot or by node, as indicated
>>>>> by the
>>>>> user. That code is fairly heavily commented, so you hopefully can
>>>>> understand
>>>>> what it is doing.
>>>>>
>>>>> Hope that helps!
>>>>> Ralph
>>>>>
>>>>>
>>>>> On 4/1/07 1:32 PM, "pooja_at_[hidden]" <pooja_at_[hidden]>
>>>>> wrote:
>>>>>
>>>>>> Hi
>>>>>> I am Pooja and I am working on a course project which requires me
>>>>>> -> to track the internal state changes of MPI and need me to
>>>>>> figure out
>>>>>> how does ORTE maps MPi Process to actual physical processes
>>>>>> ->Also I need to find way to get BTL transports work directly
>>>>>> with
>>>>>> MPI
>>>>>> level calls.
>>>>>> I just want to know is this posible and if yes what procedure I
>>>>>> should
>>>>>> follow or I should look into which files (for change).
>>>>>>
>>>>>>
>>>>>> Please Help
>>>>>>
>>>>>> Thanks and Regards
>>>>>> Pooja
>>>>>>
>>>>>> _______________________________________________
>>>>>> devel mailing list
>>>>>> devel_at_[hidden]
>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> devel mailing list
>>>>> devel_at_[hidden]
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>>
>>>>
>>>> --
>>>> Jeff Squyres
>>>> Cisco Systems
>>>>
>>>> _______________________________________________
>>>> devel mailing list
>>>> devel_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>>
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
>>
>> --
>> Jeff Squyres
>> Cisco Systems
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Jeff Squyres
Cisco Systems