{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:07:31Z","timestamp":1750306051904,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":20,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,2,4]],"date-time":"2017-02-04T00:00:00Z","timestamp":1486166400000},"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":[],"published-print":{"date-parts":[[2017,2,4]]},"DOI":"10.1145\/3026937.3026942","type":"proceedings-article","created":{"date-parts":[[2017,1,27]],"date-time":"2017-01-27T18:41:04Z","timestamp":1485542464000},"page":"58-67","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Towards Composable GPU Programming"],"prefix":"10.1145","author":[{"given":"Michael","family":"Haidl","sequence":"first","affiliation":[{"name":"University of M\u00fcnster, Germany"}]},{"given":"Michel","family":"Steuwer","sequence":"additional","affiliation":[{"name":"University of Edinburgh, UK"}]},{"given":"Hendrik","family":"Dirks","sequence":"additional","affiliation":[{"name":"University of M\u00fcnster, Germany"}]},{"given":"Tim","family":"Humernbrum","sequence":"additional","affiliation":[{"name":"University of M\u00fcnster, Germany"}]},{"given":"Sergei","family":"Gorlatch","sequence":"additional","affiliation":[{"name":"University of M\u00fcnster, Germany"}]}],"member":"320","published-online":{"date-parts":[[2017,2,4]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"AMD. Bolt C++ template library. 2014. Version 1.2.  AMD. Bolt C++ template library. 2014. Version 1.2."},{"key":"e_1_3_2_1_2_1","volume-title":"GPU Computing Gems Jade Edition","author":"Bell N.","year":"2011","unstructured":"N. Bell and J. Hoberock . Thrust: A productivity-oriented library for CUDA . GPU Computing Gems Jade Edition , 2011 . N. Bell and J. Hoberock. Thrust: A productivity-oriented library for CUDA. GPU Computing Gems Jade Edition, 2011."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10851-010-0251-1"},{"key":"e_1_3_2_1_4_1","volume-title":"ADAPT@HiPEAC","author":"Cummins C.","year":"2016","unstructured":"C. Cummins , P. Petoumenos , M. Steuwer , and H. Leather . Autotuning OpenCL workgroup size for stencil patterns . In ADAPT@HiPEAC 2016 , 2016. C. Cummins, P. Petoumenos, M. Steuwer, and H. Leather. Autotuning OpenCL workgroup size for stencil patterns. In ADAPT@HiPEAC 2016, 2016."},{"key":"e_1_3_2_1_5_1","volume-title":"A flexible primal-dual toolbox. arXiv preprint arXiv:1603.05835","author":"Dirks H.","year":"2016","unstructured":"H. Dirks . A flexible primal-dual toolbox. arXiv preprint arXiv:1603.05835 , 2016 . H. Dirks. A flexible primal-dual toolbox. arXiv preprint arXiv:1603.05835, 2016."},{"key":"e_1_3_2_1_6_1","volume-title":"Adaptive primal-dual hybrid gradient methods for saddle-point problems. arXiv preprint arXiv:1305.0546","author":"Goldstein T.","year":"2013","unstructured":"T. Goldstein , M. Li , X. Yuan , E. Esser , and R. Baraniuk . Adaptive primal-dual hybrid gradient methods for saddle-point problems. arXiv preprint arXiv:1305.0546 , 2013 . T. Goldstein, M. Li, X. Yuan, E. Esser, and R. Baraniuk. Adaptive primal-dual hybrid gradient methods for saddle-point problems. arXiv preprint arXiv:1305.0546, 2013."},{"key":"e_1_3_2_1_7_1","volume-title":"The SPIR specification","author":"K. O. W. Group","year":"2014","unstructured":"K. O. W. Group . The SPIR specification . 2014 . K. O. W. Group. The SPIR specification. 2014."},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884045.2884049"},{"key":"e_1_3_2_1_9_1","volume-title":"Optimizing parallel reduction in CUDA","author":"Harris M.","year":"2007","unstructured":"M. Harris . Optimizing parallel reduction in CUDA . 2007 . M. Harris. Optimizing parallel reduction in CUDA. 2007."},{"volume-title":"Technical Specification for C++ Extensions for Parallelism [N4578]","year":"2015","key":"e_1_3_2_1_10_1","unstructured":"isocpp. Technical Specification for C++ Extensions for Parallelism [N4578] , 2015 . isocpp. Technical Specification for C++ Extensions for Parallelism [N4578], 2015."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2500365.2500595"},{"volume-title":"Language and programming model","year":"2012","key":"e_1_3_2_1_12_1","unstructured":"Microsoft. C++ AMP : Language and programming model . 2012 . Version 1.0. Microsoft. C++ AMP: Language and programming model. 2012. Version 1.0."},{"key":"e_1_3_2_1_13_1","volume-title":"N4569: C++ extensions for ranges","author":"Niebler E.","year":"2016","unstructured":"E. Niebler and C. Carter . N4569: C++ extensions for ranges . 2016 . https:\/\/github.com\/ericniebler\/range-v3. E. Niebler and C. Carter. N4569: C++ extensions for ranges. 2016. https:\/\/github.com\/ericniebler\/range-v3."},{"key":"e_1_3_2_1_14_1","unstructured":"Nvidia. The CUDA software developer kit. Version 7.5.  Nvidia. The CUDA software developer kit. Version 7.5."},{"key":"e_1_3_2_1_15_1","unstructured":"Nvidia. PTX: Parallel thread execution ISA. Version 4.2.  Nvidia. PTX: Parallel thread execution ISA. Version 4.2."},{"key":"e_1_3_2_1_16_1","series-title":"Advances in Parallel Computing","volume-title":"ParCo","author":"Reyes R.","year":"2015","unstructured":"R. Reyes and V. Lom\u00fcller . SYCL: Single-source C++ accelerator programming . In ParCo , volume 27 of Advances in Parallel Computing . IOS Press , 2015 . R. Reyes and V. Lom\u00fcller. SYCL: Single-source C++ accelerator programming. In ParCo, volume 27 of Advances in Parallel Computing. IOS Press, 2015."},{"key":"e_1_3_2_1_17_1","volume-title":"Convex analysis","author":"Rockafellar R. T.","year":"2015","unstructured":"R. T. Rockafellar . Convex analysis . Princeton University Press , 2015 . R. T. Rockafellar. Convex analysis. Princeton University Press, 2015."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-2789(92)90242-F"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2011.269"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2784731.2784754"}],"event":{"name":"PPoPP '17: 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Austin TX USA","acronym":"PPoPP '17"},"container-title":["Proceedings of the 8th International Workshop on Programming Models and Applications for Multicores and Manycores"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3026937.3026942","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3026937.3026942","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:03:29Z","timestamp":1750215809000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3026937.3026942"}},"subtitle":["Programming GPUs with Eager Actions and Lazy Views"],"short-title":[],"issued":{"date-parts":[[2017,2,4]]},"references-count":20,"alternative-id":["10.1145\/3026937.3026942","10.1145\/3026937"],"URL":"https:\/\/doi.org\/10.1145\/3026937.3026942","relation":{},"subject":[],"published":{"date-parts":[[2017,2,4]]},"assertion":[{"value":"2017-02-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}