Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [EXTERNAL] Re: Compile-time MPI_Datatype checking
From: Barrett, Brian W (bwbarre_at_[hidden])
Date: 2012-10-31 15:51:46

On 10/31/12 1:39 PM, "Paul Hargrove" <phhargrove_at_[hidden]> wrote:

>No, I don't have specific usage cases that concern me.
>As I said a minute or two ago in a reply to Ralph, my concern is that the
>Sandia codes provide an "existence proof" that "really smart people" can
>write questionable code at times. So, I fear that a larger-than-expected
>fraction of real codes would generate warnings.

Not surprisingly, most of the codes I'm concerned about are really old
(like pre-MPI old). The authors were dealing with more than one
communication library, so they wrote wrappers inside their code for
communication. The wrappers were for a bunch of different communication
interfaces and so fairly agnostic, but looked a lot like MPI (because MPI
looks a lot like NX, PVM, etc.). Anyway, they squashed down everything to
either a void* or char* (remember, this is when void* was not always
supported), passed that to MPI with a datatype, and off we go.

At present, we're not using clang as the front end. However, a lot of
developers of these codes do a lot of development on their Mac laptops,
meaning that they will be using clang in the not-too-distant future. And
since their usage of MPI is not wrong, I'd have some objection to them
getting warnings.

That said, if we didn't throw a warning if the pointer is of type void* or
char*, I think I'd be mostly ok with the patch being on by default. I'm
not sure if that's possible or not...


  Brian W. Barrett
  Dept. 1423: Scalable System Software
  Sandia National Laboratories