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.[1]

The major data type manipulated in scientific programs is the array. The define/use analysis on a whole array is insufficient for aggressive compiler optimizations such as auto parallelization and array privatization. Array access analysis aims to obtain the knowledge of which portions or even which elements of the array are accessed by a given code segment (basic block, loop, or even at the procedure level).

Array-access analysis can be largely categorized into exact (or reference-list-based) and summary methods for different tradeoffs 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 computed quickly and economically.

Typical exact array-access analysis include linearization and atom images. Summary methods can be further divided into array sections, bounded regular sections using triplet notation, linear-constraint methods such as data-access descriptors and array-region analysis.

References

edit
  1. ^ Paek, Yunheung; Hoeflinger, Jay; Padua, David (January 2002). "Efficient and precise array access analysis". ACM Transactions on Programming Languages and Systems. 24 (1): 65–109. doi:10.1145/509705.509708.


📚 Artikel Terkait di Wikipedia

Array (data type)

area. Array access analysis Array database management system Bounds-checking elimination Delimiter-separated values Index checking Parallel array Sparse

Optimizing compiler

Alias analysis Pointer analysis Shape analysis Escape analysis Array-access analysis Dependence analysis Control-flow analysis Data-flow analysis Use-define

Dynamic array

computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable-size list data

Phased array

In antenna theory, a phased array usually means an electronically scanned array, a computer-controlled array of antennas which creates a beam of radio

Systolic array

systolic arrays is that all operand data and partial results are stored within (passing through) the processor array. There is no need to access external

Halbach array

A Halbach array (German: [ˈhalbax]) is a special arrangement of permanent magnets that augments the magnetic field on one side of the array while cancelling

Dynamic random-access memory

allowing page-access cycle to be divided into two parts. During a memory-read operation, the first part accessed the data from the memory array to the output

Array DBMS

of the array storage manager is to give fast access to large arrays and sub-arrays. To this end, arrays get partitioned, during insertion, into so-called