Publication:
Optimization by runtime specialization for sparse matrix-vector multiplication

dc.contributor.authorKamin, S.
dc.contributor.authorJesus Garzaran, M.
dc.contributor.authorAktemur, Tankut Barış
dc.contributor.authorXu, D.
dc.contributor.authorYılmaz, Buse
dc.contributor.authorChen, Z.
dc.contributor.departmentComputer Science
dc.contributor.ozuauthorAKTEMUR, Tankut Bariş
dc.contributor.ozugradstudentYılmaz, Buse
dc.date.accessioned2016-02-15T07:33:17Z
dc.date.available2016-02-15T07:33:17Z
dc.date.issued2014
dc.descriptionDue to copyright restrictions, the access to the full text of this article is only available via subscription.
dc.description.abstractRuntime specialization optimizes programs based on partial information available only at run time. It is applicable when some input data is used repeatedly while other input data varies. This technique has the potential of generating highly efficient codes. In this paper, we explore the potential for obtaining speedups for sparse matrix-dense vector multiplication using runtime specialization, in the case where a single matrix is to be multiplied by many vectors. We experiment with five methods involving runtime specialization, comparing them to methods that do not (including Intel's MKL library). For this work, our focus is the evaluation of the speedups that can be obtained with runtime specialization without considering the overheads of the code generation. Our experiments use 23 matrices from the Matrix Market and Florida collections, and run on five different machines. In 94 of those 115 cases, the specialized code runs faster than any version without specialization. If we only use specialization, the average speedup with respect to Intel's MKL library ranges from 1.44x to 1.77x, depending on the machine. We have also found that the best method depends on the matrix and machine; no method is best for all matrices and machines.
dc.description.sponsorshipNSF ; TÜBİTAK
dc.identifier.doi10.1145/2658761.2658773
dc.identifier.endpage102
dc.identifier.isbn978-1-4503-3161-6
dc.identifier.scopus2-s2.0-84939524573
dc.identifier.startpage93
dc.identifier.urihttp://hdl.handle.net/10679/2169
dc.identifier.urihttps://doi.org/10.1145/2658761.2658773
dc.identifier.wos000357124200012
dc.language.isoengen_US
dc.peerreviewedyes
dc.publicationstatuspublished
dc.publisherACM
dc.relationinfo:eu-repo/grantAgreement/TUBITAK/1001 - Araştırma/110E028
dc.relation.ispartofGPCE 2014 Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences
dc.relation.publicationcategoryInternational
dc.rightsrestrictedAccess
dc.subject.keywordsProgram specialization
dc.subject.keywordsSparce matrix-vector multiplication
dc.subject.keywordsPerformance evaluation
dc.titleOptimization by runtime specialization for sparse matrix-vector multiplicationen_US
dc.typeconferenceObjecten_US
dspace.entity.typePublication
relation.isOrgUnitOfPublication85662e71-2a61-492a-b407-df4d38ab90d7
relation.isOrgUnitOfPublication.latestForDiscovery85662e71-2a61-492a-b407-df4d38ab90d7

Files

Collections