Analyse des Array-Zugriffs - Array access analysis

In der Informatik ist die Array-Zugriffsanalyse ein Compiler-Analyseansatz , der verwendet wird, um die Lese- und Schreibzugriffsmuster auf Elemente oder Teile von Arrays zu bestimmen.

Der wichtigste in wissenschaftlichen Programmen manipulierte Datentyp ist das Array. Die Define/Use-Analyse für ein ganzes Array reicht für aggressive Compiler-Optimierungen wie Auto-Parallelisierung und Array- Privatisierung nicht aus . Die Array-Zugriffsanalyse zielt darauf ab, zu wissen, auf welche Teile oder sogar welche Elemente des Arrays von einem bestimmten Codesegment ( Basisblock , Schleife oder sogar auf Prozedurebene ) zugegriffen wird .

Die Array-Zugriffsanalyse kann weitgehend in genaue (oder referenzlistenbasierte) und zusammenfassende Methoden für verschiedene Kompromisse zwischen Genauigkeit und Komplexität eingeteilt werden. Exakte Verfahren sind präzise, ​​aber sehr rechnerisch und platzaufwendig, während summarische Verfahren Näherungswerte sind, aber schnell und wirtschaftlich berechnet werden können.

Typische genaue Array-Zugriffsanalysen umfassen Linearisierung und Atombilder . Zusammenfassungsverfahren können weiter unterteilt werden in Array-Abschnitte , begrenzte reguläre Abschnitte unter Verwendung der Triplett-Notation , lineare Beschränkungsverfahren wie Datenzugriffsdeskriptoren und Array-Region-Analyse .

Verweise