Trilinos icon indicating copy to clipboard operation
Trilinos copied to clipboard

Zoltan2/Sphynx: Matrix-free version

Open egboman opened this issue 1 year ago • 3 comments

Sphynx currently requires the graph/matrix in a CRS data structure. Since Sphynx is based on a spectral algorithm, it should be possible to just provide the graph as a vertex-edge adjacency matrix in an implicit form (operator or row matrix). This would save memory. However, the Zoltan2 software framework does not easily allow this, as typically the user provides the data via an input adapter and then the graph model builds the graph. It seems a matrix-free version would have to bypass the graph model. A second concern, is that many preconditioners need the matrix explicitly.

egboman avatar Dec 18 '23 18:12 egboman

@egboman I'll try to avoid making too broad of a statement, but we're also interested in matrix-free capabilities in Ifpack2/MueLu, and we have the beginnings of some matrix-free capabilities, so this is exciting to hear!

GrahamBenHarper avatar Dec 18 '23 20:12 GrahamBenHarper

@GrahamBenHarper Thanks, good to know. I agree that if the solver is matrix-free, then the partitioner needs to be matrix-free as well. You may have noticed I immediately put this issue in the backlog because I don't actually know how to do this, and it is not a top priority for now. The main reason to put in an issue was to document this might be an interesting thing to do some time (and also see if anybody by chance stumbled across the issue!)

egboman avatar Dec 18 '23 21:12 egboman

Note the geometric partitioners (RCB, MJ) in Zoltan2 are already "matrix-free" as they only require coordinates for the items (nodes, edges, cells) you want to partition. Sphynx is a graph partitioner.

egboman avatar Dec 18 '23 22:12 egboman