Array-access analysis: Difference between revisions

Content deleted Content added
{{context}} - no idea what this is about
tag as one source
 
(39 intermediate revisions by 29 users not shown)
Line 1:
{{one source |date=April 2024}}
{{context}}
In [[computer science]], '''array-access analysis''' is a [[compiler analysis]] approach used to decide the read and write access patterns to elements or portions of arrays.<ref name="Paek2002">{{cite journal |last1=Paek |first1=Yunheung |last2=Hoeflinger |first2=Jay |last3=Padua |first3=David |title=Efficient and precise array access analysis |journal=ACM Transactions on Programming Languages and Systems |date=January 2002 |volume=24 |issue=1 |pages=65–109 |doi=10.1145/509705.509708|doi-access=free }}</ref>
The major data type manipulated in scientific programs is obviously array. The define/use analysis on a whole array is insufficent to aggressive [[compiler optimization]]s like [[auto parallelization]] and [[array privatization]]. Array access analyis aims to get the knowledge of which portion or even elements of the array is accessed by a certain code segment([[basic block]],[[loop]]s, or even [[procedure]] level).
 
The major data type manipulated in scientific programs is obviouslythe array. The define/use analysis on a whole array is insufficentinsufficient tofor aggressive [[compiler optimization]]s likesuch as [[Automatic parallelization|auto parallelization]] and array [[arrayPrivatization (computer programming)|privatization]]. Array access analyisanalysis aims to getobtain the knowledge of which portionportions or even which elements of the array isare accessed by a certaingiven code segment ([[basic block]], [[Control flow#Loops|loop]]s, or even at the [[Subroutine|procedure]] level).
Array access analysis can be largely categoried into exact (or reference-list-based) and summary methods for the different tradeoff of accuracy and complexity. Exact methods are precise but very costly in terms of computation and space storage, while summary methods are approximate but can be done fast and economically.
 
Array -access analysis can be largely categoriedcategorized into exact (or reference-list-based) and summary methods for the different tradeofftradeoffs of accuracy and complexity. Exact methods are precise but very costly in terms of computation and space storage, while summary methods are approximate but can be donecomputed fastquickly and economically.
Typical exact array access analyis are: linearization and [[atom images]]. Summary methods can be futher divided into [[array sections]], bounded regular sections using [[triplet notation]], linear-constraint methods such as data access descriptors and [[array region analysis]].
 
Typical exact array -access analyisanalysis are:include linearization and [[atom images]]. Summary methods can be futherfurther divided into [[array sections]], bounded regular sections using [[triplet notation]], linear-constraint methods such as data -access descriptors and [[array -region analysis]].
 
==References==
{{reflist}}
 
{{Compiler optimizations}}
 
[[Category:Compiler construction]]
[[Category:Static program analysis]]
 
 
{{prog-lang-stub}}