{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,17]],"date-time":"2026-10-17T17:21:28Z","timestamp":1792257688825,"version":"4.4.0"},"reference-count":31,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2013,1,1]],"date-time":"2013-01-01T00:00:00Z","timestamp":1356998400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2013,1]]},"abstract":"<jats:p>We present OpenStream, a data-flow extension of OpenMP to express dynamic dependent tasks. The language supports nested task creation, modular composition, variable and unbounded sets of producers\/consumers, and first-class streams. These features, enabled by our original compilation flow, allow translating high-level parallel programming patterns, like dependences arising from StarSs' array regions, or universal low-level primitives like futures. In particular, these dynamic features can be embedded efficiently and naturally into an unmanaged imperative language, avoiding the complexity and overhead of a concurrent garbage collector. We demonstrate the performance advantages of a data-flow execution model compared to more restricted task and barrier models. We also demonstrate the efficiency of our compilation and runtime algorithms for the support of complex dependence patterns arising from StarSs benchmarks.<\/jats:p>","DOI":"10.1145\/2400682.2400712","type":"journal-article","created":{"date-parts":[[2013,1,22]],"date-time":"2013-01-22T15:28:56Z","timestamp":1358868536000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":85,"title":["OpenStream"],"prefix":"10.1145","volume":"9","author":[{"given":"Antoniu","family":"Pop","sequence":"first","affiliation":[{"name":"INRIA and \u00c9cole Normale Sup\u00e9rieure, Paris, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Albert","family":"Cohen","sequence":"additional","affiliation":[{"name":"INRIA and \u00c9cole Normale Sup\u00e9rieure, Paris, France"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2013,1,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/69558.69562"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.48862"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/359636.359715"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1188455.1188546"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/PGEC.1966.264565"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the International Conference on Acoustics, Speech, and Signal Processing (ICASSP'95)","author":"Bilsen G.","unstructured":"Bilsen , G. , Engels , M., R., L. , and Peperstraete , J. A . 1995. Cyclo-static data flow . In Proceedings of the International Conference on Acoustics, Speech, and Signal Processing (ICASSP'95) . 3255--3258. Bilsen, G., Engels, M., R., L., and Peperstraete, J. A. 1995. Cyclo-static data flow. In Proceedings of the International Conference on Acoustics, Speech, and Signal Processing (ICASSP'95). 3255--3258."},{"key":"e_1_2_1_7_1","first-page":"203","article-title":"Concurrent collections. Sci","volume":"18","author":"Budimli","year":"2010","unstructured":"Budimli &cgrave;, Z., Burke , M. , Cav\u00e9 , V. , Knobe , K. , Lowney , G. , Newton , R. , Palsberg , J. , Peixotto , D. , Sarkar , V. , Schlimbach , F. , and Ta\u015firlar , S. 2010 . Concurrent collections. Sci . Program. 18 , 203 -- 217 . Budimli&cgrave;, Z., Burke, M., Cav\u00e9, V., Knobe, K., Lowney, G., Newton, R., Palsberg, J., Peixotto, D., Sarkar, V., Schlimbach, F., and Ta\u015firlar, S. 2010. Concurrent collections. Sci. Program. 18, 203--217.","journal-title":"Program."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2093157.2093165"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1073970.1073974"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/800094.803050"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/642089.642111"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2212908.2212959"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the Inernational Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). 263--270","author":"Giorgi R.","unstructured":"Giorgi , R. , Popovic , Z. , and Puzovic , N . 2007. DTA-C: A Decoupled multi-Threaded Architecture for CMP Systems . In Proceedings of the Inernational Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). 263--270 . Giorgi, R., Popovic, Z., and Puzovic, N. 2007. DTA-C: A Decoupled multi-Threaded Architecture for CMP Systems. In Proceedings of the Inernational Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). 263--270."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168877"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1013208.1013209"},{"key":"e_1_2_1_16_1","volume-title":"The semantics of a simple language for parallel programming","author":"Kahn G.","unstructured":"Kahn , G. 1974. The semantics of a simple language for parallel programming . In Information Processing, J. L. Rosenfeld, Ed. North Holland , Amsterdam , 471--475. Kahn, G. 1974. The semantics of a simple language for parallel programming. In Information Processing, J. L. Rosenfeld, Ed. North Holland, Amsterdam, 471--475."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(199609)26:9%3C1025::AID-SPE48%3E3.0.CO;2-H"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2006.136"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1987.5009446"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1693453.1693502"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02577733"},{"key":"e_1_2_1_22_1","unstructured":"OpenMP ARB. 2008. OpenMP application program interface. http:\/\/www.openmp.org\/mp-documents\/spec30.pdf.  OpenMP ARB. 2008. OpenMP application program interface. http:\/\/www.openmp.org\/mp-documents\/spec30.pdf."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/93542.93578"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1810085.1810122"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1177\/1094342009106195"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1944862.1944867"},{"key":"e_1_2_1_28_1","volume-title":"5th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES'12","author":"Pop A.","unstructured":"Pop , A. and Cohen , A . 2012. Work-Streaming compilation of futures . In 5th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES'12 , associated with ETAPS). Pop, A. and Cohen, A. 2012. Work-Streaming compilation of futures. In 5th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES'12, associated with ETAPS)."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2008.74"},{"key":"e_1_2_1_30_1","unstructured":"StreamIt. The streamit language. http:\/\/www.cag.lcs.mit.edu\/streamit\/.  StreamIt. The streamit language. http:\/\/www.cag.lcs.mit.edu\/streamit\/."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2011.7"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1982.1653941"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400712","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2400682.2400712","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:18:52Z","timestamp":1750234732000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400712"}},"subtitle":["Expressiveness and data-flow compilation of OpenMP streaming programs"],"short-title":[],"issued":{"date-parts":[[2013,1]]},"references-count":31,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,1]]}},"alternative-id":["10.1145\/2400682.2400712"],"URL":"https:\/\/doi.org\/10.1145\/2400682.2400712","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,1]]},"assertion":[{"value":"2012-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}