A compiler for hierarchical task-based programming on distributed-memory
dc.contributor.author | Dubois, Alexandre, author | |
dc.contributor.author | Pouchet, Louis-Noël, advisor | |
dc.contributor.author | Rajopadhye, Sanjay, committee member | |
dc.contributor.author | Wilson, James, committee member | |
dc.date.accessioned | 2022-05-30T10:21:45Z | |
dc.date.available | 2022-05-30T10:21:45Z | |
dc.date.issued | 2022 | |
dc.description.abstract | Today, computation intensive applications are run on heterogeneous clusters of machines and use the Message Passing Interface (MPI), which provides a library interface for message-passing between non-shared memory computational resources but comes at a high application development cost. Task-based programming, such as the Concurrent Collection (CnC) model, makes parallelism implicit by only describing task dependencies. This model has recently been extended to model programs with a hierarchical task-based representation, which allows to view tasks at different levels of decomposition, allowing to dispatch tasks of different level optimally to the different available architectures. This thesis main work was to design an algorithm following a graph-based approach to transform a restricted class of single-level regular kernel to a two-level representation in the CnC model extended with hierarchical concepts. This transformation will alleviate performance boost by reducing communication cost and allowing the use of optimized tasks implementation at a coarse level. After describing the CnC programming model concepts, the structure of the proposed graph based tiling algorithm will be developed. Then, the compiler implementing this algorithm on an Intermediate Representation representing a CnC program and generating a C++ version of the kernel using a new hierarchical CnC runtime. Finally, the overhead of this runtime on a shared memory system for a 3D synthetic benchmark representing a classic linear-algebra dependency pattern. This characterization is done to help the user choose the target volume of tasks tile that has to be given as input of the tiling algorithm. The main recommendation is to target a minimization of the number of super- tasks in the runtime while keeping the number of sub-tasks in every super-task under the order of 10000 sub-tasks. | |
dc.format.medium | born digital | |
dc.format.medium | masters theses | |
dc.identifier | Dubois_colostate_0053N_17207.pdf | |
dc.identifier.uri | https://hdl.handle.net/10217/235247 | |
dc.language | English | |
dc.language.iso | eng | |
dc.publisher | Colorado State University. Libraries | |
dc.relation.ispartof | 2020- | |
dc.rights | Copyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright. | |
dc.subject | control data flow graph | |
dc.subject | tiling | |
dc.subject | task-based programming | |
dc.subject | compiler | |
dc.title | A compiler for hierarchical task-based programming on distributed-memory | |
dc.type | Text | |
dcterms.rights.dpla | This Item is protected by copyright and/or related rights (https://rightsstatements.org/vocab/InC/1.0/). You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s). | |
thesis.degree.discipline | Computer Science | |
thesis.degree.grantor | Colorado State University | |
thesis.degree.level | Masters | |
thesis.degree.name | Master of Science (M.S.) |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- Dubois_colostate_0053N_17207.pdf
- Size:
- 1.02 MB
- Format:
- Adobe Portable Document Format