Doug,

 

Thanks for getting back to me.  The strange thing about cancel is that it seems to be blocking.  I’m ok with the nondeterministic success or failure – it is the blocking that I’m finding bothersome.

 

I think (2) was causing what I was thinking was (3) below.

 

Thanks again!

 

Robert

 

 

From: mpi.net-bounces@osl.iu.edu [mailto:mpi.net-bounces@osl.iu.edu] On Behalf Of Doug Gregor
Sent: Thursday, May 22, 2008 1:41 PM
To: Discussion about MPI.NET, the C# library for Message Passing
Subject: Re: [MPI.NET] questions on the MPI.net

 

Hi Robert,

 

On May 19, 2008, at 6:05 PM, Robert Palmer wrote:

I am a program manager at MS in the HPC group.  I have been playing with the MPI .net distribution for a bit now and have a couple of questions.  Thanks in advance for the tips!

 

1.       Is there some way to determine the length of a RequestList?

 

No, but there should be. I'll add a Length property.



2.       Sometimes Test() returns a non-null value on a receive request and the corresponding CompletedStatus.Source field is set to -2 (negative two).  

 

This has been on my TODO list for a while; it's a bug, I'll fix it.



3.       I am expecting the obj.Test() to return a handle to the same CompletedStatus every time I call it – is this an incorrect assumption?

 

No, that should be what is happening; we cache the CompletedStatus internally. You're getting different CompletedStatus objects?



4.       Is Cancel() working on requests?

 

It should be, but remember that MPI's cancel can have some strange semantics. For example, canceling a send may or may not actually cancel the communication, depending on where in the communication the underlying MPI library (and the hardware) actually are. Cancel is better applied to receive requests than send requests.

 

  - Doug