{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/21450"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/21450","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Automatic array privatization and demand-driven symbolic analysis","abstract":"Memory-related anti- and output dependences are false dependences because they do not represent the flow of data but rather only the collisions caused by memory location reuse. Privatization is a technique to eliminate cross-iteration anti-dependences. A variable is privatized if each processor allocates a local copy of the variable such that each processor accesses only its local copy.","abstract_html":"Memory-related anti- and output dependences are false dependences because they do not represent the flow of data but rather only the collisions caused by memory location reuse. Privatization is a technique to eliminate cross-iteration anti-dependences. A variable is privatized if each processor allocates a local copy of the variable such that each processor accesses only its local copy.","abstract_has_math":false,"creators":["Tu, Peng"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Padua, David A."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T13:09:00Z","date_published":"2011-05-07T13:09:00Z","updated_at":"2026-07-22T22:25:18Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1995 Tu, Peng"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9624520","(UMI)AAI9624520"],"render_values":[{"text":"AAI9624520","href":null,"code":true},{"text":"(UMI)AAI9624520","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/21450","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Padua, David A."]},{"key":"dc:creator","label":"Author","values":["Tu, Peng"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T13:09:00Z","10000-01-01","1995"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"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":["Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1995 Tu, Peng"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9624520","(UMI)AAI9624520","http://hdl.handle.net/2142/21450"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Memory-related anti- and output dependences are false dependences because they do not represent the flow of data but rather only the collisions caused by memory location reuse. Privatization is a technique to eliminate cross-iteration anti-dependences. A variable is privatized if each processor allocates a local copy of the variable such that each processor accesses only its local copy.","To determine whether an array is privatizable in a loop, we analyze the array sections that are defined and used in each iteration. A use section of an array is dominated by a definition section if the definition section covers the use section and if the definition site dominates the use site in the program control flow graph. To enhance the effectiveness of array section analysis, we develop several new techniques that can analyze conditionally defined (used) variables and symbolic expressions in array sections.","Gated Single Assignment (GSA) form of program is used for conditional data flow analysis and demand-driven symbolic analysis. We developed an almost-linear time algorithm for building and placing gating functions to convert program into GSA form.","We introduce a technique that exploits the single assignment property of GSA to perform demand-driven symbolic analysis using the use-def chains embedded in the variable names. The symbolic analysis technique uses the gating functions of GSA to represent the possible values of symbolic variable and the predicates guarding the choice of the possible values. We present a technique that can obtain more precise results from the predicated possible values using path conditions.","We also present a technique that uses the gating functions as join operators at the join nodes of control flow graphs to perform conditional data flow analysis.","We evaluate the effectiveness of these techniques using programs from the Perfect Benchmarks and NCSA users. After array privatization, our compiler is able to parallelize many outer loops. The resulting programs show speedups around 5 on an 8 processor SGI Challenge system.","Made available in DSpace on 2011-05-07T13:09:00Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9624520.pdf: 5357600 bytes, checksum: 51616d1824e7111ecb416f587bb27abb (MD5) Previous issue date: 1995","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:50:52Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:23:17-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["Automatic array privatization and demand-driven symbolic analysis"]}]}],"canonical_facts":{"dc:contributor":["Padua, David A."],"dc:creator":["Tu, Peng"],"dc:date":["2011-05-07T13:09:00Z","10000-01-01","1995"],"dc:description":["Memory-related anti- and output dependences are false dependences because they do not represent the flow of data but rather only the collisions caused by memory location reuse. Privatization is a technique to eliminate cross-iteration anti-dependences. A variable is privatized if each processor allocates a local copy of the variable such that each processor accesses only its local copy.","To determine whether an array is privatizable in a loop, we analyze the array sections that are defined and used in each iteration. A use section of an array is dominated by a definition section if the definition section covers the use section and if the definition site dominates the use site in the program control flow graph. To enhance the effectiveness of array section analysis, we develop several new techniques that can analyze conditionally defined (used) variables and symbolic expressions in array sections.","Gated Single Assignment (GSA) form of program is used for conditional data flow analysis and demand-driven symbolic analysis. We developed an almost-linear time algorithm for building and placing gating functions to convert program into GSA form.","We introduce a technique that exploits the single assignment property of GSA to perform demand-driven symbolic analysis using the use-def chains embedded in the variable names. The symbolic analysis technique uses the gating functions of GSA to represent the possible values of symbolic variable and the predicates guarding the choice of the possible values. We present a technique that can obtain more precise results from the predicated possible values using path conditions.","We also present a technique that uses the gating functions as join operators at the join nodes of control flow graphs to perform conditional data flow analysis.","We evaluate the effectiveness of these techniques using programs from the Perfect Benchmarks and NCSA users. After array privatization, our compiler is able to parallelize many outer loops. The resulting programs show speedups around 5 on an 8 processor SGI Challenge system.","Made available in DSpace on 2011-05-07T13:09:00Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9624520.pdf: 5357600 bytes, checksum: 51616d1824e7111ecb416f587bb27abb (MD5) Previous issue date: 1995","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:50:52Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:23:17-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["AAI9624520","(UMI)AAI9624520","http://hdl.handle.net/2142/21450"],"dc:language":["eng"],"dc:rights":["Copyright 1995 Tu, Peng"],"dc:subject":["Computer Science"],"dc:title":["Automatic array privatization and demand-driven symbolic analysis"],"dc:type":["text"],"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:25:18Z"}