Att utnyttja heterogen parallell hårdvara kräver för närvarande att mappa programkod till flera olika programmeringsmodeller. Tyvärr kan idag tillgängliga allmänna programmodeller ge hög prestanda, men de är för låga för att vara tillgängliga för den genomsnittlige programmeraren. Vi föreslår att man utnyttjar domänspecifika språk (DSL) för att kartlägga högnivåprogramkoder till heterogena enheter. För att visa potentialen i detta tillvägagångssätt presenterar vi OptiML, en DSL för maskininlärning. OptiML-program är implicit parallella och kan uppnå hög prestanda på heterogen hårdvara utan att ändra källkoden. För att ett sådant DSL-baserat tillvägagångssätt ska vara lättåtkomligt i stora skalor krävs bättre verktyg för DSL-författare för att förenkla språkskapande och parallellisering. För att ta itu med denna oro introducerar vi Delite, ett system speciellt utformat för DSL som både är ett ramverk för att skapa en implicit parallell DSL samt en dynamisk körtid som ger automatiserad inriktning till heterogen parallell hårdvara. Vi visar att OptiML kör på Delite uppnår enkelgängad, parallell och GPU prestanda överlägsen explicit parallelliserad MATLAB-kod i nästan alla fall.
Slutligen, OptiML REF, ett parallellt programmeringsspråk, för maskininlärning.
A domain-specific approach to heterogeneous parallelism
{'venue': "PPoPP '11", 'journal': None, 'mag_field_of_study': ['Computer Science']}