Help - FAQ

What is Isorropia?

Isorropia is a package of tools to solve combinatorial problems like partitioning (for load balancing), coloring, and ordering (for Cholesky factorization). Most Isorropia users use it to optimize parallel data distribution (partition) of sparse matrices, but it has a growing number of other capabilities. Isorropia relies on Zoltan. Top

What's significant about the name 'Isorropia'?

Isorropia is a Greek term meaning "equilibrium" or "balance". This refers to the load-balancing capabilities. The preferred pronounciation is as 'Issoropia'. Top

What's the difference between Isorropia and Zoltan?

Isorropia provides a convenient and powerful interface between Zoltan and Epetra. Zoltan provides the underlying partitioning (load balancing), coloring, and ordering algorithms. Isorropia sets up graph/hypergraph models of sparse matrices and calls Zoltan. Note that Isorropia supports many Zoltan features but not all (e.g. multiple weights). In most cases, if you have an Epetra matrix or graph, you should use Isorropia not Zoltan. Top

Can I build Isorropia without Zoltan?

No, Isorropia automatically enables Zoltan in the Trilinos configure system, and there is no simple way to disable Zoltan. Isorropia is not very useful without Zoltan, so this should not be a problem. Top

What is the partitioning model used for sparse matrices?

By default, Isorropia uses a hypergraph model where rows correspond to vertices. This will minimize the communication volume in sparse matrix-vector multiplication, and generally gives a good data distribution for many operations. Top

Can I partition a matrix by columns, not by rows?

No, this is currently not supported. Epetra uses row-based sparse matrix structures, so partition by rows is most useful. You could of course manually transpose the matrix. Top

I have {a mesh, points, particles} that I need to load-balance. Can I use Isorropia?

Geometric partitioning of mesh/points/particles is supported in Isorropia 3.2 (Trilinos 10.0) and later. Create a Partitioner with an Epetra_MultiVector. Top