Vi presenterar en enhetlig matematisk ram för analys av avvägningarna mellan parallellism och lagringsallokering inom en parallelliserande kompilator. Med hjälp av detta ramverk visar vi hur man hittar en bra lagringskartläggning för ett givet schema, ett bra schema för en given lagringskartläggning och en bra lagringskartläggning som gäller för alla lagliga (endimensionella) scheman. Vi överväger lagring kartläggningar som kollapsar en dimension av en multidimensionell array, och program som är i en enda tilldelning form och accepterar ett endimensionellt affin schema. Vår metod kombinerar affine schemaläggning tekniker med beläggning vektoranalys och innehåller allmänna affine beroenden över uttalanden och loop bon. Vi formulerar de begränsningar som databeroendet och lagringskartläggningarna medför som en uppsättning linjära ojämlikheter, och tillämpar numerisk programmeringsteknik för att lösa för den kortaste beläggningsvektorn. Vi anser att vår metod är ett första steg mot att automatisera ett förfarande som finner den optimala avvägningen mellan parallellism och lagringsutrymme.
Thies et al REF utvecklar metoder för att hitta ett bra schema när lagringskartläggningen är fast och vice versa.
A step towards unifying schedule and storage optimization
{'venue': 'TOPL', 'journal': None, 'mag_field_of_study': ['Computer Science']}