Vi presenterar OpenStream, en dataflödesförlängning av OpenMP för att uttrycka dynamiska beroende uppgifter. Språket stöder nästintill uppgift skapande, modulär sammansättning, variabla och obundna uppsättningar av producenter / konsumenter, och förstklassiga strömmar. Dessa funktioner, som möjliggörs av vårt ursprungliga samlingsflöde, gör det möjligt att översätta parallella programmeringsmönster på hög nivå, som beroenden som uppstår från StarSs matrisregioner, eller universella primitiva låg nivå som framtider. I synnerhet kan dessa dynamiska funktioner integreras effektivt och naturligt i ett ohanterligt tvingande språk, undvika komplexitet och overhead av en samtidig sopsamlare. Vi demonstrerar prestandafördelarna med en dataflödesutförandemodell jämfört med mer begränsade uppgifts- och barriärmodeller. Vi demonstrerar också effektiviteten i vår sammanställning och runtime algoritmer för att stödja komplexa beroendemönster som uppstår från StarSs riktmärken.
OpenStream gör det möjligt för programmerare att uttrycka dynamiska beroende uppgifter genom att kommentera ett OpenMP-program REF.
OpenStream: Expressiveness and data-flow compilation of OpenMP streaming programs
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}