{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/115354"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/115354","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Just in time compilation for high performance computing","abstract":"Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2022-11-11 without embargo terms","abstract_html":"Submission original under an indefinite embargo labeled &#x27;Open Access&#x27;. The submission was exported from vireo on 2022-11-11 without embargo terms","abstract_has_math":false,"creators":["Prabhu, Tarun"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Gropp, William D","Adve, Vikram","Hoefler, Torsten","Fischer, Paul"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2022,"date_issued":"2022-05","date_published":"2022-05","updated_at":"2026-07-22T22:24:54Z","subjects":["Compilers","JIT","Just In Time","static analysis","optimization","dynamic recompilation","HPC"],"languages":["en","eng"],"rights":["Copyright 2022, Tarun Prabhu"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/2142/115354","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Gropp, William D","Adve, Vikram","Hoefler, Torsten","Fischer, Paul"]},{"key":"dc:creator","label":"Author","values":["Prabhu, Tarun"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2022-05","2022-03-31"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Compilers","JIT","Just In Time","static analysis","optimization","dynamic recompilation","HPC"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en","eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2022, Tarun Prabhu"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://hdl.handle.net/2142/115354"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2022-11-11 without embargo terms","The student, Tarun Prabhu, accepted the attached license on 2022-03-28 at 18:41.","The student, Tarun Prabhu, submitted this Dissertation for approval on 2022-03-28 at 18:52.","This Dissertation was approved for publication on 2022-03-31 at 12:48.","DSpace SAF Submission Ingestion Package generated from Vireo submission #17554 on 2022-11-11 at 13:04:37","Application developers seeking to improve the performance of their code while retaining its portability and maintainability are heavily reliant on the compiler determining the appropriate sequence of code transformations that will maximize performance on a given platform. However, the parameters that the compiler requires to determine the safety and profitability of these transformations, such as array bounds, are often only known at run-time. To mitigate this problem, many compilers provide an annotation language that can be used to force the compiler to perform certain transformations. However, these annotations are not always portable and must be kept in sync with the underlying code. Failure to do so can lead to subtle and hard-to-diagnose bugs. One approach to address this issue is Just In Time (JIT) compilation. This is a technique where all or part of the code is recompiled at run-time just before it (the code) is executed. The compiler at this stage can use the run-time data to guide its optimization decisions. In this dissertation, we explore the use of JIT compilation in HPC applications. We seek to determine whether JIT compilation can be profitable for real-world applications written in compiled languages like C/C++ and Fortran and if existing applications can be retrofitted with little to no programmer intervention. To this end, we first retrofit a JIT compiler into the MPI runtime to dynamically compile code for MPI's derived datatypes. We then build a JIT compiler, Moya, to semi-automatically add JIT compilation capabilities to entire applications. We show that through a combination of carefully designed annotations and aggressive static analyses, a JIT compiler can improve application performance with minimal programmer intervention."]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Just in time compilation for high performance computing"]}]}],"canonical_facts":{"dc:contributor":["Gropp, William D","Adve, Vikram","Hoefler, Torsten","Fischer, Paul"],"dc:creator":["Prabhu, Tarun"],"dc:date":["2022-05","2022-03-31"],"dc:description":["Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2022-11-11 without embargo terms","The student, Tarun Prabhu, accepted the attached license on 2022-03-28 at 18:41.","The student, Tarun Prabhu, submitted this Dissertation for approval on 2022-03-28 at 18:52.","This Dissertation was approved for publication on 2022-03-31 at 12:48.","DSpace SAF Submission Ingestion Package generated from Vireo submission #17554 on 2022-11-11 at 13:04:37","Application developers seeking to improve the performance of their code while retaining its portability and maintainability are heavily reliant on the compiler determining the appropriate sequence of code transformations that will maximize performance on a given platform. However, the parameters that the compiler requires to determine the safety and profitability of these transformations, such as array bounds, are often only known at run-time. To mitigate this problem, many compilers provide an annotation language that can be used to force the compiler to perform certain transformations. However, these annotations are not always portable and must be kept in sync with the underlying code. Failure to do so can lead to subtle and hard-to-diagnose bugs. One approach to address this issue is Just In Time (JIT) compilation. This is a technique where all or part of the code is recompiled at run-time just before it (the code) is executed. The compiler at this stage can use the run-time data to guide its optimization decisions. In this dissertation, we explore the use of JIT compilation in HPC applications. We seek to determine whether JIT compilation can be profitable for real-world applications written in compiled languages like C/C++ and Fortran and if existing applications can be retrofitted with little to no programmer intervention. To this end, we first retrofit a JIT compiler into the MPI runtime to dynamically compile code for MPI's derived datatypes. We then build a JIT compiler, Moya, to semi-automatically add JIT compilation capabilities to entire applications. We show that through a combination of carefully designed annotations and aggressive static analyses, a JIT compiler can improve application performance with minimal programmer intervention."],"dc:format":["application/pdf"],"dc:identifier":["https://hdl.handle.net/2142/115354"],"dc:language":["en","eng"],"dc:rights":["Copyright 2022, Tarun Prabhu"],"dc:subject":["Compilers","JIT","Just In Time","static analysis","optimization","dynamic recompilation","HPC"],"dc:title":["Just in time compilation for high performance computing"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:54Z"}