[petsc-dev] Unification approach for OpenMP/Threads/OpenCL/CUDA: Part 1: Memory

Jed Brown jedbrown at mcs.anl.gov
Mon Oct 8 13:16:58 CDT 2012


On Sun, Oct 7, 2012 at 7:58 AM, Karl Rupp <rupp at mcs.anl.gov> wrote:

> From the simplicity point of view, you're absolutely right. However, MPI
> is only an implementation of the model used for distributed
> computing/memory (including 'faking' distributed memory on a shared memory
> system). With all the complex memory hierarchies introduced in the last
> years, we may have to adapt our programming approach in order to get
> reasonable performance, even though MPI would be able to accomplish this
> (yet at higher costs - even on shared memory systems, MPI messaging is not
> a free lunch).


It's easy to end up with an unusable system this way. MPI is an established
API and implementations have lots of tricks for shared memory. Adding
another level to the hierarchy costs simplicity. If we're going to claim
that it's necessary for performance reasons, we have to back up that claim.
I think it's a rather pointless rabbit hole, but would be happy to hear why
that's not the case.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20121008/cf0b9068/attachment.html>


More information about the petsc-dev mailing list