Akbudak, Kadir2016-05-032016-05-032015-092015-0921-09-2015http://hdl.handle.net/11693/29038Cataloged from PDF version of thesis.Includes bibliographical references (leaves 102-107).Thesis (Ph. D.): Bilkent University, Department of Computer Engineering, İhsan Doğramacı Bilkent University, 2015.Multiplication of two sparse matrices (i.e., sparse matrix-matrix multiplication, which is abbreviated as SpGEMM) is a widely used kernel in many applications such as molecular dynamics simulations, graph operations, and linear programming. We identify parallel formulations of SpGEMM operation in the form of C = AB for distributed-memory architectures. Using these formulations, we propose parallel SpGEMM algorithms that have the multiplication and communication phases: The multiplication phase consists of local SpGEMM computations without any communication and the communication phase consists of transferring required input/output matrices. For these algorithms, three hypergraph models are proposed. These models are used to partition input and output matrices simultaneously. The input matrices A and B are partitioned in one dimension in all of these hypergraph models. The output matrix C is partitioned in two dimensions, which is nonzero-based in the rst hypergraph model, and it is partitioned in one dimension in the second and third models. In partitioning of these hypergraph models, the constraint on vertex weights corresponds to computational load balancing among processors for the multiplication phase of the proposed SpGEMM algorithms, and the objective, which is minimizing cutsize de ned in terms of costs of the cut hyperedges, corresponds to minimizing the communication volume due to transferring required matrix entries in the communication phase of the SpGEMM algorithms. We also propose models for reducing the total number of messages while maintaining balance on communication volumes handled by processors during the communication phase of the SpGEMM algorithms. An SpGEMM library for distributed memory architectures is developed in order to verify the empirical validity of our models. The library uses MPI (Message Passing Interface) for performing communication in the parallel setting. The developed SpGEMM library is run on SpGEMM instances from various realistic applications and the experiments are carried out on a large parallel IBM BlueGene/Q system, named JUQUEEN. In the experimentation of the proposed hypergraph models, high speedup values are observed.xv, 107 leaves : charts.Englishinfo:eu-repo/semantics/openAccessSparse matricesMatrix partitioningParallel computingDistributed memory parallelismGeneralized matrix multiplicationGEMMSparse matrixmatrix multiplicationSpGEMMComputational hypergraph modelHypergraph partitioningBLAS (Basic Linear Algebra Subprograms) Level 3 operationsMolecular dynamics simulationsGraph operationsLinear programmingHypergraph models for parallel sparse matrix-matrix multiplicationParalel seyrek matris-matris çarpımı için hiperçizge modelleriThesisB151489