Re: [OMPI devel] vt compiler warnings and errors

2008-02-05 Thread Andreas Knüpfer
Hi Everbody,

we discussed this issue here a lot. Indeed, we were putting the contents of 
the VampirTrace tarball to the trunk (via the vendor branch stuff).

Then again, this is no virtue by itself, is it? So we agree to removing the 
configure scripts from the SVN and having it created by the autogen script.
This might resolve possible problems because of differing autoconf versions 
etc. 

See/hear you at the telco, Andreas


On Friday 01 February 2008, Jeff Squyres wrote:
> On Feb 1, 2008, at 5:35 AM, Ralf Wildenhues wrote:
> > These files do not belong in SVN, they are generated by aclocal:
> >  ompi/contrib/vt/vt/extlib/otf/aclocal.m4
> >  ompi/contrib/vt/vt/aclocal.m4
>
> I think both of these have their own configure scripts, meaning that
> they were autoconfed/automaked/whatever before they were put into OMPI.
>
> And in hindsight, this fits in with exactly what our original goal
> was: take a VT tarball and dump it into OMPI's SVN.  Doh!
>
> So I think the question still remains: can we hook VT's autoconf (et
> al.) requirements into the top-level autogen.sh so that the trunk copy
> of vt doesn't have configure/aclocal.m4/etc. and OMPI's top-level
> autogen.sh will create them?



-- 
Dipl. Math. Andreas Knuepfer, 
Center for Information Services and 
High Performance Computing (ZIH), TU Dresden, 
Willersbau A114, Zellescher Weg 12, 01062 Dresden
phone +49-351-463-38323, fax +49-351-463-37773


signature.asc
Description: This is a digitally signed message part.


Re: [OMPI devel] xensocket - callbacks through OPAL/libevent

2008-02-05 Thread Brian W. Barrett

On Mon, 4 Feb 2008, Muhammad Atif wrote:

I am trying to port xensockets to openmpi. In principle, I have the 
framework and everything, but there seems to be a small issue, I cannot 
get libevent (or OPAL) to give callbacks for receive (or send) for 
xensockets. I have tried to implement native code for xensockets with 
libevent library, again the same issue.  No call backs! . With normal 
sockets, callbacks do come easily.


So question is, do the socket/file descriptors have to have some special 
mechanism attached to them to support callbacks for libevent/opal? i.e 
some structure/magic?. i.e. maybe the developers of xensockets did not 
add that callback/interrupt thing at the time of creation. Xensockets is 
open source, but my knowledge about these issues is limited. So I though 
some pointer in right direction might be useful.


Yes and no :).  As you discovered, the OPAL interface just repackages a 
library called libevent to handle its socket multiplexing.  Libevent can 
use a number of different mechanisms to look for activity on sockets, 
including select() and poll() calls.  On Linux, it will generally use 
poll().  poll() requires some kernel support to do its thing, so if 
Xensockets doesn't implement the right magic to trigger poll() events, 
then libevent won't work for Xensockets.  There's really nothing you can 
do from the Open MPI front to work around this issue -- it would have to 
be fixed as part of Xensockets.


Second question is, what if we cannot have the callbacks. What is the 
recommended way to implement the btl component for such a device? Do we 
need to do this with event timers?


Have a look at any of the BTLs that isn't TCP -- none of them use libevent 
callbacks for progress.  Instead, they provide a progress function as part 
of the BTL interface, which is called on a regular basis whenever progress 
needs to be made.


Brian


Re: [OMPI devel] VT in trunk + how to disable

2008-02-05 Thread Andreas Knüpfer
Hi Josh, hi everybody,

we'd like to have VampirTrace enabled by default -- well, of course we do ;)

Our main reason is the potential users: As soon as they want to use our tool 
they want to use it with the same configuration as the default Open MPI 
installation. Making the administrator re-install it at this point would be 
most inconvenient.

If you're _not_ using our tools, you will _not_ see any difference at all 
while using the Open MPI installation or running your MPI program. 

And regarding configuration and compilation of Open MPI itself, we try hard to 
make everything robust and smooth. 

As there is no one insisting in disabled by default, we'd like to keep it 
enabled by default. I hope this is ok with everybody.

Best regards, Andreas


-- 
Dipl. Math. Andreas Knuepfer, 
Center for Information Services and 
High Performance Computing (ZIH), TU Dresden, 
Willersbau A114, Zellescher Weg 12, 01062 Dresden
phone +49-351-463-38323, fax +49-351-463-37773


signature.asc
Description: This is a digitally signed message part.


Re: [OMPI devel] VT in trunk + how to disable

2008-02-05 Thread Ralph H Castain
I don't mind enabled by default - however, with a big caveat that we fix the
build system issues. With that proviso, "on" by default is fine with me.


On 2/5/08 9:00 AM, "Andreas Knüpfer"  wrote:

> Hi Josh, hi everybody,
> 
> we'd like to have VampirTrace enabled by default -- well, of course we do ;)
> 
> Our main reason is the potential users: As soon as they want to use our tool
> they want to use it with the same configuration as the default Open MPI
> installation. Making the administrator re-install it at this point would be
> most inconvenient.
> 
> If you're _not_ using our tools, you will _not_ see any difference at all
> while using the Open MPI installation or running your MPI program.
> 
> And regarding configuration and compilation of Open MPI itself, we try hard to
> make everything robust and smooth.
> 
> As there is no one insisting in disabled by default, we'd like to keep it
> enabled by default. I hope this is ok with everybody.
> 
> Best regards, Andreas
> 





[OMPI devel] cpu stride and offset for processor binding

2008-02-05 Thread Pak Lui

Hi all,

I am trying to implement something in the paffinity:solaris that would 
allow me to specify the cpu id with striding (aka in a sequence) when 
selecting which cpu ids to bind. e.g. For a cpu set that looks like 
this: { 0 1 2 3 4 5 6 7 }, and stride is to 2, and offset is to 1 (which 
means start at pos 1), then ranks will bind to the cpus in the following 
order: { 1 3 5 7 2 4 6 0 }. The obvious intent is to take advantage of 
the perf by allocating the ranks in a certain order on multi-core systems.


But then we realized this may be implemented elsewhere outside the 
solaris paffinity code. I see something in trac #1023 that may allow me 
to specify a cpuid or cores in a range but it doesn't seem to allow me 
specify the cpu id to bind in strides. And with that, rank specification 
may seem to be doable, but I may end up entering a long list of cpu ids 
in strides manually, if the machine happens to have many cpus. Plus 
another down side is that Solaris doesn't seem to have stable interface 
for me to extract out the core/socket information from the kernel. So 
striding might be the only way for me to go for now.


Is there some unspoken feature that's coming down the pipe that may 
allow me to specify cpuids in a sequence, or we already have some 
feature like that that I didn't know about? I look around but I don't 
see anything like this.


Thanks in advance for any comments.

--

- Pak Lui
pak@sun.com


Re: [OMPI devel] cpu stride and offset for processor binding

2008-02-05 Thread Ralph Castain
I would think that the syntax being implemented by Voltaire could be
extended to support this need, but I'll leave that up to them for comment.



On 2/5/08 5:01 PM, "Pak Lui"  wrote:

> Hi all,
> 
> I am trying to implement something in the paffinity:solaris that would
> allow me to specify the cpu id with striding (aka in a sequence) when
> selecting which cpu ids to bind. e.g. For a cpu set that looks like
> this: { 0 1 2 3 4 5 6 7 }, and stride is to 2, and offset is to 1 (which
> means start at pos 1), then ranks will bind to the cpus in the following
> order: { 1 3 5 7 2 4 6 0 }. The obvious intent is to take advantage of
> the perf by allocating the ranks in a certain order on multi-core systems.
> 
> But then we realized this may be implemented elsewhere outside the
> solaris paffinity code. I see something in trac #1023 that may allow me
> to specify a cpuid or cores in a range but it doesn't seem to allow me
> specify the cpu id to bind in strides. And with that, rank specification
> may seem to be doable, but I may end up entering a long list of cpu ids
> in strides manually, if the machine happens to have many cpus. Plus
> another down side is that Solaris doesn't seem to have stable interface
> for me to extract out the core/socket information from the kernel. So
> striding might be the only way for me to go for now.
> 
> Is there some unspoken feature that's coming down the pipe that may
> allow me to specify cpuids in a sequence, or we already have some
> feature like that that I didn't know about? I look around but I don't
> see anything like this.
> 
> Thanks in advance for any comments.