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 .