Snabba upp sekventiella program på multicores är ett utmanande problem som är i akut behov av en lösning. Automatisk parallellisering av oregelbundna pekarintensiva koder, som exemplifieras av SPECint-koderna, är ett mycket svårt problem. Detta dokument visar att med en hjälpande hand är en sådan självparallellisering möjlig och givande. Detta dokument ger följande bidrag: i) En kompilatorram för att utvinna pipelineliknande parallellism från yttre programslingor presenteras. (ii) Med hjälp av en enkel programmeringsmodell baserad på kommentarer hjälper programmeraren kompilatorn att hitta trådnivåparallalism. Var och en av kommentarerna anger endast en liten bit semantisk information som kompilatoranalys missar, t.ex. säger att en variabel är död vid en viss programpunkt. Anteckningarna är utformade så att korrektheten lätt kan verifieras. Dessutom presenterar vi ett verktyg för att föreslå kommentarer till programmeraren. (iii) Metoden tillämpas för att autoparallera flera SPECint-riktmärken. För riktmärket med mest parallellism (hmer) får vi en skalbar 7-faldig speedup på en AMD fyrkärnig dubbelprocessor. Anteckningarna utgör en parallell programmeringsmodell som i stor utsträckning bygger på en sekventiell programrepresentation. Därigenom ökar inte felsökningens komplexitet och det skymmer inte källkoden. Dessa egenskaper kan visa sig vara värdefulla för att öka effektiviteten i parallellprogrammering.
Paralax REF utför halvautomatisk parallellisering med hjälp av dynamisk beroendespårning för att föreslå programmeranteckningar (t.ex. att en variabel dödas).
The Paralax infrastructure: automatic parallelization with a helping hand
{'venue': "PACT '10", 'journal': None, 'mag_field_of_study': ['Computer Science']}