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...
Gespeichert in:
| 1. Verfasser: | |
|---|---|
| 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 |

