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

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