Analys av matrisåtkomst

Inom datavetenskap är array-åtkomstanalys en kompilatoranalysmetod som används för att bestämma läs- och skrivåtkomstmönstren till element eller delar av arrayer .

Den huvudsakliga datatypen som manipuleras i vetenskapliga program är arrayen. Definiera/använda analysen på en hel array är otillräcklig för aggressiva kompilatoroptimeringar som automatisk parallellisering och arrayprivatisering . Analys av matrisåtkomst syftar till att få kunskap om vilka delar eller till och med vilka element i matrisen som nås av ett givet kodsegment ( basblock , loop eller till och med på procedurnivå ).

Analys av matrisåtkomst kan till stor del kategoriseras i exakta (eller referenslistabaserade) och sammanfattande metoder för olika avvägningar av noggrannhet och komplexitet. Exakta metoder är exakta men mycket kostsamma när det gäller beräkning och utrymmeslagring, medan sammanfattningsmetoder är ungefärliga men kan beräknas snabbt och ekonomiskt.

Typisk exakt array-åtkomstanalys inkluderar linjärisering och atombilder. Sammanfattningsmetoder kan ytterligare delas in i arraysektioner, avgränsade reguljära sektioner med triplettnotation, linjära begränsningsmetoder såsom dataåtkomstdeskriptorer och arrayregionanalys.