Relational algebraic techniques for the synthesis of sparse matrix programs

Sparse matrix computations are ubiquitous in computational science. However, the development of high-performance software for sparse matrix computations is a tedious and error-prone task, for two reasons. First, there is no standard way of storing sparse matrices, since a variety of formats are used...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Kotlyar, Vladimir
Format: Dissertation
Sprache:Englisch
Veröffentlicht: ProQuest Dissertations & Theses 01.01.1999
Schlagworte:
ISBN:059908572X, 9780599085725
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Sparse matrix computations are ubiquitous in computational science. However, the development of high-performance software for sparse matrix computations is a tedious and error-prone task, for two reasons. First, there is no standard way of storing sparse matrices, since a variety of formats are used to avoid storing zeros, and the best choice for the format is dependent on the problem and the architecture. Second, for most algorithms, it takes a lot of code reorganization to produce an efficient sparse program that is tuned to a particular format. We view the problem of supporting effective development of high-performance sparse matrix codes as one of generic programming. Generic programming is a discipline of designing and implementing software components which can be used when there is a set of related data structures supporting a common semantics described by an API or protocol, and a set of common algorithms that can be formulated in terms of this API. When designing a generic programming system one must address the following fundamental questions: (1) How do we represent efficient algorithms independently of any particular data-representation scheme? (2) How do we provide an interface to a diverse set of data-structures? (3) How do we “knit” together the representation of the algorithms and the representation for the data to obtain an efficient implementation? This dissertation presents a relational algebraic model for automatically generating efficient sparse codes starting with dense matrix codes and specification of sparse matrix formats. Our techniques are based on viewing arrays as relations and the execution of DOALL loop nests and loops with reductions as evaluation of queries over these relations. Storage formats are specified to the compiler through search and enumeration access methods and their costs. Code restructuring is then formulated as the search for the most efficient plan for the query. The main step in this process is the identification of simultaneous enumeration of data structures (relational joins) and the determination of the best implementations of this enumeration. This software architecture not only provides for a clean design of the compiler, but it also exposes additional opportunities for code optimization and has led us to more general transformation algorithms than previously reported in the literature. We present experimental data that demonstrates that the code generated by our compiler achieves performance competitive with that of hand-written codes for important computational kernels.
AbstractList Sparse matrix computations are ubiquitous in computational science. However, the development of high-performance software for sparse matrix computations is a tedious and error-prone task, for two reasons. First, there is no standard way of storing sparse matrices, since a variety of formats are used to avoid storing zeros, and the best choice for the format is dependent on the problem and the architecture. Second, for most algorithms, it takes a lot of code reorganization to produce an efficient sparse program that is tuned to a particular format. We view the problem of supporting effective development of high-performance sparse matrix codes as one of generic programming. Generic programming is a discipline of designing and implementing software components which can be used when there is a set of related data structures supporting a common semantics described by an API or protocol, and a set of common algorithms that can be formulated in terms of this API. When designing a generic programming system one must address the following fundamental questions: (1) How do we represent efficient algorithms independently of any particular data-representation scheme? (2) How do we provide an interface to a diverse set of data-structures? (3) How do we “knit” together the representation of the algorithms and the representation for the data to obtain an efficient implementation? This dissertation presents a relational algebraic model for automatically generating efficient sparse codes starting with dense matrix codes and specification of sparse matrix formats. Our techniques are based on viewing arrays as relations and the execution of DOALL loop nests and loops with reductions as evaluation of queries over these relations. Storage formats are specified to the compiler through search and enumeration access methods and their costs. Code restructuring is then formulated as the search for the most efficient plan for the query. The main step in this process is the identification of simultaneous enumeration of data structures (relational joins) and the determination of the best implementations of this enumeration. This software architecture not only provides for a clean design of the compiler, but it also exposes additional opportunities for code optimization and has led us to more general transformation algorithms than previously reported in the literature. We present experimental data that demonstrates that the code generated by our compiler achieves performance competitive with that of hand-written codes for important computational kernels.
Author Kotlyar, Vladimir
Author_xml – sequence: 1
  givenname: Vladimir
  surname: Kotlyar
  fullname: Kotlyar, Vladimir
BookMark eNotj81KAzEURgMqaGvfIbgfSHInmWQpxT8sCNKFu3KT3rTR6aQmU9C3d0RXZ_ed78zY-ZAHOmMzoZ0TVnfq7ZItak1eyA5AgWqv2PMr9TimPGDPsd-RL5gCHynsh_R5ospjLnzcE6_fw4SaKs-R1yOWSvyAY0lf_FjyruChXrOLiH2lxT_nbH1_t14-NquXh6fl7ar5aI1rZJTRmi5acsp4hM5uvWolGjBE3igdwAapDbpog5IUhJM6GggRuy1ggDm7-ZudvL8Xx817PpUpoG5AtFqAMg5-AJBwS-E
ContentType Dissertation
Copyright Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
Copyright_xml – notice: Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
DBID 053
0BH
0G.
CBPLH
EU9
G20
M8-
PHGZT
PKEHL
PQEST
PQQKQ
PQUKI
DatabaseName Dissertations & Theses Europe Full Text: Science & Technology
ProQuest Dissertations and Theses Professional
Dissertations & Theses @ Cornell University and the Weill Medical College
ProQuest Dissertations & Theses Global: The Sciences and Engineering Collection
ProQuest Dissertations & Theses A&I
ProQuest Dissertations & Theses Global
ProQuest Dissertations and Theses A&I: The Sciences and Engineering Collection
ProQuest One Academic (New)
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Academic (retired)
ProQuest One Academic UKI Edition
DatabaseTitle Dissertations & Theses Europe Full Text: Science & Technology
ProQuest One Academic Middle East (New)
ProQuest One Academic UKI Edition
ProQuest One Academic Eastern Edition
ProQuest Dissertations & Theses Global: The Sciences and Engineering Collection
ProQuest Dissertations and Theses Professional
ProQuest One Academic
ProQuest Dissertations & Theses A&I
ProQuest One Academic (New)
ProQuest Dissertations and Theses A&I: The Sciences and Engineering Collection
Dissertations & Theses @ Cornell University and the Weill Medical College
ProQuest Dissertations & Theses Global
DatabaseTitleList Dissertations & Theses Europe Full Text: Science & Technology
Database_xml – sequence: 1
  dbid: G20
  name: ProQuest Dissertations & Theses Global
  url: https://www.proquest.com/pqdtglobal1
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
ExternalDocumentID 732962371
Genre Dissertation/Thesis
GroupedDBID 053
0BD
0BH
0G.
ALMA_UNASSIGNED_HOLDINGS
CBPLH
EU9
G20
M8-
PHGZT
PKEHL
PQEST
PQQKQ
PQUKI
ID FETCH-LOGICAL-k469-1f1f867f8e926ba378db241a636eeb625c38c156a9f8c21ec0915f63cfa7d3ac3
IEDL.DBID G20
ISBN 059908572X
9780599085725
IngestDate Mon Jun 30 03:55:33 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-k469-1f1f867f8e926ba378db241a636eeb625c38c156a9f8c21ec0915f63cfa7d3ac3
Notes SourceType-Dissertations & Theses-1
ObjectType-Dissertation/Thesis-1
content type line 12
PQID 304503269
PQPubID 18750
ParticipantIDs proquest_journals_304503269
PublicationCentury 1900
PublicationDate 19990101
PublicationDateYYYYMMDD 1999-01-01
PublicationDate_xml – month: 01
  year: 1999
  text: 19990101
  day: 01
PublicationDecade 1990
PublicationYear 1999
Publisher ProQuest Dissertations & Theses
Publisher_xml – name: ProQuest Dissertations & Theses
SSID ssib017332324
ssib000933042
Score 1.3159806
Snippet Sparse matrix computations are ubiquitous in computational science. However, the development of high-performance software for sparse matrix computations is a...
SourceID proquest
SourceType Aggregation Database
SubjectTerms Computer science
Title Relational algebraic techniques for the synthesis of sparse matrix programs
URI https://www.proquest.com/docview/304503269
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1NSwMxEB20ehAP9RO1Kjl4XexudjfZkwe1CErx0ENvJZ9Q1K1uWtF_72SblILgxVMIYWFJyOS9zOQ9gCvdNx5H6IRyiwRFeA1IlcuEW4tkQGZ9LVud2Sc2HPLxuHoOtTkulFXGmNgGaj1T_o782mf0-og1qpv3j8SbRvnkanDQ2IQtxqu8dW5YRz9Lsh77KaPU44f2xSoGYV6wLGrwxH7xKyS358yg-88_3IPdu7X8-j5smPoAutG5gYSNfAiPsQZOvBJv9IGUearISs_VEYSyBKEhcd81Nm7qyMwSDD6NM-TNq_p_kVDZ5Y5gNLgf3T4kwVYheUEunKQ2tbxklpsqK6WgjGuJx7goaWmMRDqkKFfI6kRlucpSoxBRFLakygqmqVD0GDr1rDYnQEQpBNdWFlTYHL9C9IarQJmWlZK5yE6hF2dqEraGm6ym6ezP0R7sLBUS_G3HOXTmzcJcwLb6nE9dc9ku9A_OWrJ5
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V07T8MwED6VggRiKE8B5eEBxog0zsMZEAOltGqpGDp0q2zHliqghbo8-p_4kZzTuKqExMbAFFmRIyXn3H3f-XwfwHnmK4sjMo8yjQSF2x6QMhQe0xrJgAj8TOR9ZjtJt8v6_fShBF_uLIwtq3Q-MXfU2VjaHPml3dHzEWuk1y-vnhWNspurTkFjviraavaBjM1ctepo3osgaNz2bppeISrgPSIT9Gq6plmcaKbSIBacJiwTGMR4TGOlBJIBSZlETsNTzWRQUxLjaaRjKjVPMsolxceuwGpIE99SvbtlsDXPDbhxLaHUwpX8gCz6fBYlgWv548bRjwiQh7VG5X99kC3YrC9VD2xDSY12oOJ0KUjhpnah7Sr8-BOxMiZiwoeSLLrVGoJAnSDwJWY2wosZGjLWBF3rxCjybDULPklRt2b2oPcXr7MP5dF4pA6A8JhzlmkRUa5DnIXYNA19mmQilSLkwSFUnWEGxY9vBgurHP169wzWm737zqDT6rarsDHvBWHzOsdQnk7e1Amsyffp0ExO8zVGYPDHJvwG3oIPJg
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adissertation&rft.genre=dissertation&rft.title=Relational+algebraic+techniques+for+the+synthesis+of+sparse+matrix+programs&rft.DBID=053%3B0BH%3B0G.%3BCBPLH%3BEU9%3BG20%3BM8-%3BPHGZT%3BPKEHL%3BPQEST%3BPQQKQ%3BPQUKI&rft.PQPubID=18750&rft.au=Kotlyar%2C+Vladimir&rft.date=1999-01-01&rft.pub=ProQuest+Dissertations+%26+Theses&rft.isbn=059908572X&rft.externalDBID=HAS_PDF_LINK&rft.externalDocID=732962371
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780599085725/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780599085725/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780599085725/sc.gif&client=summon&freeimage=true