1 research outputs found

    Optimally bipartitioning sparse matrices with reordering and parallelization

    No full text
    A good task‐to‐processor assignment is crucial for parallel efficiency since the communication between the tasks is usually the main bottleneck for scalability. A fundamental approach to solve this problem is modeling the tasks as a hypergraph where the pins correspond to the tasks and the nets represent the communication among them. The vertices in this hypergraph is partitioned into a number of parts, which correspond to processors, in a way that the total number of vertices for each part is balanced and the amount of edges having endpoints in different parts is minimized. Sparse matrix‐vector multiplication is an extensively used kernel in many applications. Recently, a novel, purely combinatorial branch‐and‐bound–based approach has been proposed for sparse‐matrix bipartitioning which can handle hypergraphs that cannot be optimally partitioned by using existing methods due to the problem's complexity. Our work extends the previous study with three ideas. We use 1) matrix ordering techniques to use more information in the earlier branches of the tree, 2) a machine learning approach to choose an ordering based on the matrix features, and 3) a parallelization technique to search an optimal bipartitioning. As our experiments show, these techniques make the bipartitioning process significantly faster
    corecore