On Dec 23, 2011, at 10:53 AM, Jed Brown wrote:

> On Fri, Dec 23, 2011 at 09:50, Mark F. Adams <mark.adams at columbia.edu> 
> wrote:
> Humm, my G-S in not in PETSc and it is perfectly scalable.  It does have more 
> complex communication patterns but they are O(1) in latency and bandwidth.  
> I'm not sure I understand your description above.
> 
> It was more like, here's something that perhaps we want to put in PETSc, what 
> rich communication pattern does it use, such that, if provided, the 
> implementation would be simple?

There is the implementation in Prometheus that uses my C++ linked lists and 
hash tables.  I would like to implement this with STLs.  I also hack into 
MPIAIJ matrices to provide a primitive of applying G-S on an index set of local 
vertices, required for the algorithm.  This should be rethought.  I would guess 
that it would take about a week or two to move this into PETSc.

The complex communication required make this code work much better with large 
subdomains, so it is getting less attractive in a flat MPI mode, as it is 
currently written.  If I do this I would like to think about doing it in the 
next programming model of PETSc (pthreads?).  Anyway, this would take enough 
work that I'd like to think a bit about its design and even the algorithm in a 
non flat MPI model.

Note, I see the win with G-S over Cheby in highly unsymmetric (convection, 
hyperbolic) problems where Cheby is not very good.

Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111223/fb894a14/attachment.html>

Reply via email to