En schablonberäkning uppdaterar gång på gång varje punkt i ett ddimensionellt rutnät som en funktion av sig själv och dess nära grannar. Parallella cache-effektiva schablonalgoritmer baserade på "trapezoidala nedbrytningar" är kända, men de flesta programmerare har svårt att skriva dem. Pochoir stencil kompilatorn gör det möjligt för en programmerare att skriva en enkel specifikation av en stencil i ett domänspecifikt stencilspråk inbäddat i C++ som Pochoir kompilatorn sedan översätter till högpresterande Cilk kod som använder en effektiv parallell cache-oblivious algoritm. Pochoir stöder allmänna d-dimensionella schabloner och hanterar både periodiska och periodiska gränsförhållanden i en enhetlig algoritm. Pochoir-systemet tillhandahåller ett C++-mallbibliotek som gör det möjligt att utföra användarens schablonspecifikation direkt i C++ utan Pochoir-kompilatorn (om än långsammare), vilket förenklar användarens felsökning och avsevärt förenklar genomförandet av själva Pochoir-kompilatorn. En mängd schablonriktmärken körs på en modern multicoremaskin visar att Pochoir överträffar vanliga parallellloop-implementeringar, vanligtvis 2-10 gånger snabbare. Algoritmen bakom Pochoir förbättrar tidigare cache-effektiva algoritmer på flerdimensionella rutnät genom att göra "hyperspace" nedskärningar, vilket ger asymptotiskt mer parallellism för samma cacheeffektivitet.
Den Pochoir stencil kompilatorn, till exempel, fokuserar på schablonberäkningar REF.
The pochoir stencil compiler
{'venue': "SPAA '11", 'journal': None, 'mag_field_of_study': ['Computer Science']}