Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] MS HPC... Oh dear...

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

John Vert jvert at windows.microsoft.com
Mon Jun 12 22:59:41 PDT 2006


> -----Original Message-----
> From: beowulf-bounces at beowulf.org [mailto:beowulf-bounces at beowulf.org]
> On Behalf Of Greg Lindahl
> Sent: Monday, June 12, 2006 9:43 PM
> To: beowulf at beowulf.org
> Subject: Re: [Beowulf] MS HPC... Oh dear...
> 
> On Mon, Jun 12, 2006 at 09:36:23PM -0400, Joe Landman wrote:
> 
> > This frustrates software builders, and end users.  My point is that
> > there is a better way, and Greg indicated that he had
> > supported/proposed it.
> 
> By the way, chatting with other interconnect vendors and also with
> ISVs, we're pretty much all for it. The group that hated the idea was
> MPI implementors, both free and commercial. I tried several different
> forms of sweet-talking, none got anywhere. It's clearly a sign that
> someone else needs to do the sweet-talking!
> 
> Also by the by, what Microsoft is doing isn't really an ABI, but it
> acts like one: you use MPICH-2's header files and replace the MPICH-2
> DLL. Now for interconnect vendors this is easiest to do if you have an
> MPICH-2 adi3 device. You'd have to be mildly masocistic to write a
> layer that translates to some other MPI guts, but if anyone does,
> please share.
> 

This is not quite right. You do have to build your app with our header
file. This is very similar to MPICH-2 but there are a few changes. Most
importantly, we added calling convention specifications to the function
prototypes. 32-bit x86 on Windows has a variety of common calling
conventions and the MPICH-2 header files do not have this concept
(neither does the MPI standard).  Also we have a single header file for
both 32-bit and 64-bit Windows which makes life a bit simpler.

The high-speed interconnects plug into our MPI stack through Winsock
Direct. This enables low-latency usermode I/O at the sockets level. Any
application that uses sockets will benefit from the high speed
interconnect without relinking or recompiling.

A C-style ABI is pretty straightforward, but once you throw Fortran and
C++ into the mix, things get a lot uglier.

John Vert
Development Manager 
Windows High Performance Computing




More information about the Beowulf mailing list