Den senaste tidens datorintensiva GPU-arkitektur har gjort det möjligt för programutvecklare att utforska högorder 3D-stenciler för bättre beräkningsnoggrannhet. En gemensam optimeringsstrategi för sådana schabloner är att exponera tillräcklig data återanvändning med hjälp av t.ex. slinga avrullning, med förväntan om register-nivå återanvändning. Men, den resulterande koden är ofta starkt begränsas av registertryck. Även om nuvarande toppmoderna register allocators är tillfredsställande för de flesta applikationer, de är inte i stånd att effektivt hantera registertryck för sådana komplexa högorder schabloner, vilket resulterar i suboptimal kod med ett stort antal register spill. I det här dokumentet utvecklar vi ett uttalande om omorganisationsramverk som modellerar schablonberäkningar som en TAG av träd med delade blad, och anpassar en optimal schemaläggningsalgoritm för att minimera registeranvändning för expressionsträd. Effektiviteten hos metoden visas genom experimentella resultat på en rad schabloner som utvunnits ur tillämpningskoder.
REF beskriver en omordningsalgoritm på källnivå för att minimera registertrycket för schablonberäkning på GPU.
Register optimizations for stencils on GPUs
{'venue': "PPoPP '18", 'journal': None, 'mag_field_of_study': ['Computer Science']}