{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/139201"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/139201","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"Unified Graph Framework: Optimizing Graph Applications across Novel Architectures","abstract":"High performance graph applications are crucial in a wide set of domains, but their performance depends heavily on input graph structure, algorithm, and target hardware. Programmers must develop a series of optimizations either on the compiler level, implementing different load balancing or edge traversal strategies, or on the architectural level, creating novel domain-specific accelerators optimized for graphs. In recent years, there has been rapid growth on the architectural end, with each novel architecture contributing new potential optimizations. To help compiler development scale with the growth of the architecture domain, we develop the Unified Graph Framework (UGF) to achieve portability for easy integration of novel backend architectures into a high-level hardware-independent compiler. UGF builds on the GraphIt domain-specific language, which divides algorithm specification from scheduling optimizations, and separates hardware-independent from hardwarespecific scheduling parameters and compiler passes. As part of UGF, we introduce GraphIR, a graph-specific, hardware-independent intermediate representation; an extensible scheduling language API that enables hardware-independent optimizations and programmer-defined hardware-specific optimizations; and the GraphVM, the compiler backend implemented for each hardware architecture. Lastly, we evaluate UGF by implementing a GraphVM for Swarm, a recently developed multicore architecture. We integrate several scheduling optimizations built around Swarm’s ability to speculate on fine-grained tasks in future loop iterations. When evaluated on five applications and 10 input graphs, UGF successfully generates highly optimized Swarm code and achieves up to 8x speedup over baseline implementations.","abstract_html":"High performance graph applications are crucial in a wide set of domains, but their performance depends heavily on input graph structure, algorithm, and target hardware. Programmers must develop a series of optimizations either on the compiler level, implementing different load balancing or edge traversal strategies, or on the architectural level, creating novel domain-specific accelerators optimized for graphs. In recent years, there has been rapid growth on the architectural end, with each novel architecture contributing new potential optimizations. To help compiler development scale with the growth of the architecture domain, we develop the Unified Graph Framework (UGF) to achieve portability for easy integration of novel backend architectures into a high-level hardware-independent compiler. UGF builds on the GraphIt domain-specific language, which divides algorithm specification from scheduling optimizations, and separates hardware-independent from hardwarespecific scheduling parameters and compiler passes. As part of UGF, we introduce GraphIR, a graph-specific, hardware-independent intermediate representation; an extensible scheduling language API that enables hardware-independent optimizations and programmer-defined hardware-specific optimizations; and the GraphVM, the compiler backend implemented for each hardware architecture. Lastly, we evaluate UGF by implementing a GraphVM for Swarm, a recently developed multicore architecture. We integrate several scheduling optimizations built around Swarm’s ability to speculate on fine-grained tasks in future loop iterations. When evaluated on five applications and 10 input graphs, UGF successfully generates highly optimized Swarm code and achieves up to 8x speedup over baseline implementations.","abstract_has_math":false,"creators":["Hsu, Claire"],"institution":"Massachusetts Institute of Technology","degree_name":"Master","degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science","school":null,"contributors":[],"advisors":["Amarasinghe, Saman"],"committee_chairs":[],"committee_members":[],"year":2021,"date_issued":"2021-06","date_published":"2021-06","updated_at":"2026-07-22T22:21:22Z","subjects":[],"languages":[],"rights":["In Copyright - Educational Use Permitted","Copyright MIT"],"rights_urls":["http://rightsstatements.org/page/InC-EDU/1.0/"],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/1721.1/139201","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Amarasinghe, Saman"]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"]},{"key":"dc:creator","label":"Author","values":["Hsu, Claire"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2022-01-14T14:56:21Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2022-01-14T14:56:21Z"]},{"key":"dc:date.issued","label":"Date","values":["2021-06"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master","Master of Engineering in Electrical Engineering and Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:rights","label":"Dc Rights","values":["In Copyright - Educational Use Permitted","Copyright MIT"]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://rightsstatements.org/page/InC-EDU/1.0/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/1721.1/139201"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["High performance graph applications are crucial in a wide set of domains, but their performance depends heavily on input graph structure, algorithm, and target hardware. Programmers must develop a series of optimizations either on the compiler level, implementing different load balancing or edge traversal strategies, or on the architectural level, creating novel domain-specific accelerators optimized for graphs. In recent years, there has been rapid growth on the architectural end, with each novel architecture contributing new potential optimizations. To help compiler development scale with the growth of the architecture domain, we develop the Unified Graph Framework (UGF) to achieve portability for easy integration of novel backend architectures into a high-level hardware-independent compiler. UGF builds on the GraphIt domain-specific language, which divides algorithm specification from scheduling optimizations, and separates hardware-independent from hardwarespecific scheduling parameters and compiler passes. As part of UGF, we introduce GraphIR, a graph-specific, hardware-independent intermediate representation; an extensible scheduling language API that enables hardware-independent optimizations and programmer-defined hardware-specific optimizations; and the GraphVM, the compiler backend implemented for each hardware architecture. Lastly, we evaluate UGF by implementing a GraphVM for Swarm, a recently developed multicore architecture. We integrate several scheduling optimizations built around Swarm’s ability to speculate on fine-grained tasks in future loop iterations. When evaluated on five applications and 10 input graphs, UGF successfully generates highly optimized Swarm code and achieves up to 8x speedup over baseline implementations."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.Eng."]},{"key":"dc:title","label":"Title","values":["Unified Graph Framework: Optimizing Graph Applications across Novel Architectures"]}]}],"canonical_facts":{"dc:contributor.advisor":["Amarasinghe, Saman"],"dc:contributor.department":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"],"dc:creator":["Hsu, Claire"],"dc:date.accessioned":["2022-01-14T14:56:21Z"],"dc:date.available":["2022-01-14T14:56:21Z"],"dc:date.issued":["2021-06"],"dc:description.abstract":["High performance graph applications are crucial in a wide set of domains, but their performance depends heavily on input graph structure, algorithm, and target hardware. Programmers must develop a series of optimizations either on the compiler level, implementing different load balancing or edge traversal strategies, or on the architectural level, creating novel domain-specific accelerators optimized for graphs. In recent years, there has been rapid growth on the architectural end, with each novel architecture contributing new potential optimizations. To help compiler development scale with the growth of the architecture domain, we develop the Unified Graph Framework (UGF) to achieve portability for easy integration of novel backend architectures into a high-level hardware-independent compiler. UGF builds on the GraphIt domain-specific language, which divides algorithm specification from scheduling optimizations, and separates hardware-independent from hardwarespecific scheduling parameters and compiler passes. As part of UGF, we introduce GraphIR, a graph-specific, hardware-independent intermediate representation; an extensible scheduling language API that enables hardware-independent optimizations and programmer-defined hardware-specific optimizations; and the GraphVM, the compiler backend implemented for each hardware architecture. Lastly, we evaluate UGF by implementing a GraphVM for Swarm, a recently developed multicore architecture. We integrate several scheduling optimizations built around Swarm’s ability to speculate on fine-grained tasks in future loop iterations. When evaluated on five applications and 10 input graphs, UGF successfully generates highly optimized Swarm code and achieves up to 8x speedup over baseline implementations."],"dc:description.degree":["M.Eng."],"dc:identifier.uri":["https://hdl.handle.net/1721.1/139201"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["In Copyright - Educational Use Permitted","Copyright MIT"],"dc:rights.uri":["http://rightsstatements.org/page/InC-EDU/1.0/"],"dc:title":["Unified Graph Framework: Optimizing Graph Applications across Novel Architectures"],"dc:type":["Thesis"],"thesis:degree_name":["Master","Master of Engineering in Electrical Engineering and Computer Science"]},"updated_at":"2026-07-22T22:21:22Z"}