[petsc-dev] Generality of VecScatter

Barry Smith bsmith at mcs.anl.gov
Thu Nov 24 14:17:50 CST 2011


On Nov 24, 2011, at 1:50 PM, Jed Brown wrote:

> On Thu, Nov 24, 2011 at 13:27, Barry Smith <bsmith at mcs.anl.gov> wrote:
>    Programming with pthreads is library based programming. There is an API that you call in your language with function calls from your code to do stuff, it is in no way an extension to the language.  Now there are some issues with the pthread API and I am not advocating it but just using it as an example of how flexible parallel programming can be done on-node using a purely library based system.
> 
> But you don't want "MPI+pthreadsish" because of how it's spelled or because it's complicated (two abstractions that don't fit together as well as they could)?

   Jed,

     Come on, stop being silly; it has nothing to do with the fact that it is MPI+something.  It is because it is too complicated and hard to use and both MPI and pthreads have bad limitations (for pthreads it is the fact that pthreads does not have a good way of waking up many pthreads together to do something, for MPI it is due to point to point and one sided do not allow proper scheduling of communication at the low level).

> What about a library that was implemented in terms of MPI and pthreads, but gave you a more consistent abstraction?

   That would be fine, even great. I just don't believe that either of them are the right base to build on. 

   You sound a bit like Jack telling me in 1994 that I should write PETSc on top of Scalapack. 


   Barry





More information about the petsc-dev mailing list