{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:49:16Z","timestamp":1750308556729,"version":"3.41.0"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2015,4,2]],"date-time":"2015-04-02T00:00:00Z","timestamp":1427932800000},"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":[[2015,4,16]]},"abstract":"<jats:p>Existing approaches to automatic parallelization produce good results in specific domains. Yet, it is unclear how to integrate their individual strengths to match the demands and opportunities of complex software. This lack of integration has both practical reasons, as integrating those largely differing approaches into one compiler would impose an engineering hell, as well as theoretical reasons, as no joint cost model exists that would drive the choice between parallelization methods.<\/jats:p>\n          <jats:p>By reducing the problem of generating parallel code from a program dependence graph to integer linear programming, &lt;i&gt;generalized task parallelization&lt;\/i&gt; integrates central aspects of existing parallelization approaches into a single unified framework. Implemented on top of LLVM, the framework seamlessly integrates enabling technologies such as speculation, privatization, and the realization of reductions.<\/jats:p>\n          <jats:p>Evaluating our implementation on various C programs from different domains, we demonstrate the effectiveness and generality of generalized task parallelization. On a quad-core machine with hyperthreading we achieve speedups of up to 4.6 \u00d7.<\/jats:p>","DOI":"10.1145\/2723164","type":"journal-article","created":{"date-parts":[[2015,4,3]],"date-time":"2015-04-03T20:29:44Z","timestamp":1428092984000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Generalized Task Parallelism"],"prefix":"10.1145","volume":"12","author":[{"given":"Kevin","family":"Streit","sequence":"first","affiliation":[{"name":"Saarland University, Germany"}]},{"given":"Johannes","family":"Doerfert","sequence":"additional","affiliation":[{"name":"Saarland University, Germany"}]},{"given":"Clemens","family":"Hammacher","sequence":"additional","affiliation":[{"name":"Saarland University, Germany"}]},{"given":"Andreas","family":"Zeller","sequence":"additional","affiliation":[{"name":"Saarland University, Germany"}]},{"given":"Sebastian","family":"Hack","sequence":"additional","affiliation":[{"name":"Saarland University, Germany"}]}],"member":"320","published-online":{"date-parts":[[2015,4,2]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1454115.1454128"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/209937.209958"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00129843"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2678373.2665705"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2259016.2259028"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/859618.859668"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1878961.1879009"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1944862.1944882"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2009.64"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2014.6844482"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2370036.2145828"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/24039.24041"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2005.02.005"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/2190025.2190075"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/2190025.2190054"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2013.6495001"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772954.1772973"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1941553.1941563"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254107"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1229428.1229474"},{"key":"e_1_2_2_21_1","series-title":"Lecture Notes in Computer Science","volume-title":"Euro-Par 2011 Parallel Processing, Emmanuel Jeannot, Raymond Namyst, and Jean Roman (Eds.)","author":"Karcher Thomas","unstructured":"Thomas Karcher and Victor Pankratius . 2011. Run-Time automatic performance tuning for multicore applications . In Euro-Par 2011 Parallel Processing, Emmanuel Jeannot, Raymond Namyst, and Jean Roman (Eds.) . Lecture Notes in Computer Science , Vol. 6852 . Springer , Berlin , 3--14. DOI:http:\/\/dx.doi.org\/10.1007\/978-3-642-23400-2_2 10.1007\/978-3-642-23400-2_2 Thomas Karcher and Victor Pankratius. 2011. Run-Time automatic performance tuning for multicore applications. In Euro-Par 2011 Parallel Processing, Emmanuel Jeannot, Raymond Namyst, and Jean Roman (Eds.). Lecture Notes in Computer Science, Vol. 6852. Springer, Berlin, 3--14. DOI:http:\/\/dx.doi.org\/10.1007\/978-3-642-23400-2_2"},{"key":"e_1_2_2_22_1","volume-title":"Allen","author":"Kennedy Ken","year":"2002","unstructured":"Ken Kennedy and John R . Allen . 2002 . Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann , San Francisco, CA. Ken Kennedy and John R. Allen. 2002. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann, San Francisco, CA."},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2259016.2259029"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250759"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273442.1250766"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1543135.1542495"},{"key":"e_1_2_2_27_1","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-031-01736-0","volume-title":"Automatic Parallelization: An Overview of Fundamental Compiler Techniques. Morgan &amp","author":"Midkiff Samuel P.","year":"2012","unstructured":"Samuel P. Midkiff . 2012 . Automatic Parallelization: An Overview of Fundamental Compiler Techniques. Morgan &amp ; Claypool Publishers . Samuel P. Midkiff. 2012. Automatic Parallelization: An Overview of Fundamental Compiler Techniques. Morgan &amp; Claypool Publishers."},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2005.13"},{"key":"e_1_2_2_29_1","unstructured":"Louis-No\u00ebl Pouchet. 2012. PolyBench\/C: The Polyhedral Benchmark Suite. Retrieved from http:\/\/www.cs.ucla.edu\/&sim;pouchet\/software\/polybench\/.  Louis-No\u00ebl Pouchet. 2012. PolyBench\/C: The Polyhedral Benchmark Suite. Retrieved from http:\/\/www.cs.ucla.edu\/&sim;pouchet\/software\/polybench\/."},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2345156.2254082"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1356058.1356074"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/1025127.1026007"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/207110.207148"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/329366.301111"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1024597010150"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.355.0779"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2484904.2484911"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.2939"},{"volume-title":"Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing. Springer-Verlag","author":"Tu Peng","key":"e_1_2_2_39_1","unstructured":"Peng Tu and David A. Padua . 1994. Automatic array privatization . In Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing. Springer-Verlag , London, UK, 500--521. http:\/\/dl.acm.org\/citation.cfm&quest;id=645671.665384 Peng Tu and David A. Padua. 1994. Automatic array privatization. In Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing. Springer-Verlag, London, UK, 500--521. http:\/\/dl.acm.org\/citation.cfm&quest;id=645671.665384"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.5555\/1299042.1299110"},{"key":"e_1_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1854273.1854322"},{"key":"e_1_2_2_42_1","volume-title":"Proceedings of the IEEE 14th International Symposium on High Performance Computer Architecture (HPCA\u201908)","author":"Zhong Hongtao","year":"2008","unstructured":"Hongtao Zhong , M. Mehrara , S. Lieberman , and S. Mahlke . 2008. Uncovering hidden loop level parallelism in sequential applications . In Proceedings of the IEEE 14th International Symposium on High Performance Computer Architecture (HPCA\u201908) . 290--301. DOI:http:\/\/dx.doi.org\/10.1109\/HPCA. 2008 .4658647 10.1109\/HPCA.2008.4658647 Hongtao Zhong, M. Mehrara, S. Lieberman, and S. Mahlke. 2008. Uncovering hidden loop level parallelism in sequential applications. In Proceedings of the IEEE 14th International Symposium on High Performance Computer Architecture (HPCA\u201908). 290--301. DOI:http:\/\/dx.doi.org\/10.1109\/HPCA.2008.4658647"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2723164","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2723164","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:03:57Z","timestamp":1750273437000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2723164"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,4,2]]},"references-count":42,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2015,4,16]]}},"alternative-id":["10.1145\/2723164"],"URL":"https:\/\/doi.org\/10.1145\/2723164","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2015,4,2]]},"assertion":[{"value":"2014-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-01-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-04-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}