{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T00:50:26Z","timestamp":1740099026819,"version":"3.37.3"},"publisher-location":"Cham","reference-count":17,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319743127"},{"type":"electronic","value":"9783319743134"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-74313-4_14","type":"book-chapter","created":{"date-parts":[[2018,1,17]],"date-time":"2018-01-17T00:17:43Z","timestamp":1516148263000},"page":"179-195","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["A Transformation-Based Approach to Developing High-Performance GPU Programs"],"prefix":"10.1007","author":[{"given":"Bastian","family":"Hagedorn","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michel","family":"Steuwer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sergei","family":"Gorlatch","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,1,18]]},"reference":[{"key":"14_CR1","unstructured":"Aldinucci, M., Danelutto, M., Kilpatrick, P., Torquati, M.: Fastflow: high-level and efficient streaming on multi-core. In: Programming Multi-core and Many-core Computing Systems. Wiley-Blackwell, Hoboken (2011)"},{"key":"14_CR2","unstructured":"AMD: Bolt C++ Template Library"},{"issue":"8","key":"14_CR3","doi-asserted-by":"crossref","first-page":"613","DOI":"10.1145\/359576.359579","volume":"21","author":"J Backus","year":"1978","unstructured":"Backus, J.: Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Commun. ACM 21(8), 613\u2013641 (1978)","journal-title":"Commun. ACM"},{"issue":"2","key":"14_CR4","doi-asserted-by":"crossref","first-page":"122","DOI":"10.1093\/comjnl\/32.2.122","volume":"32","author":"RS Bird","year":"1989","unstructured":"Bird, R.S.: Algebraic identities for program calculation. Comput. J. 32(2), 122\u2013126 (1989)","journal-title":"Comput. J."},{"issue":"1","key":"14_CR5","doi-asserted-by":"crossref","first-page":"44","DOI":"10.1145\/321992.321996","volume":"24","author":"RM Burstall","year":"1977","unstructured":"Burstall, R.M., Darlington, J.: A transformation system for developing recursive programs. J. ACM 24(1), 44\u201367 (1977)","journal-title":"J. ACM"},{"key":"14_CR6","doi-asserted-by":"crossref","unstructured":"Chakravarty, M., Keller, G., Lee, S., McDonell, T.L., Grover, V.: Accelerating Haskell array codes with multicore GPUs. In: DAMP, pp. 3\u201314. ACM (2011)","DOI":"10.1145\/1926354.1926358"},{"key":"14_CR7","doi-asserted-by":"publisher","first-page":"1417","DOI":"10.1007\/978-0-387-09766-4","volume-title":"Encyclopedia of Parallel Computing","author":"S Gorlatch","year":"2011","unstructured":"Gorlatch, S., Cole, M.: Parallel skeletons. In: Padua, D. (ed.) Encyclopedia of Parallel Computing, pp. 1417\u20131422. Springer, Boston (2011). \nhttps:\/\/doi.org\/10.1007\/978-0-387-09766-4"},{"issue":"4","key":"14_CR8","first-page":"1","volume":"2","author":"M Harris","year":"2007","unstructured":"Harris, M., et al.: Optimizing parallel reduction in CUDA. NVIDIA Developer Technol. 2(4), 1\u201339 (2007)","journal-title":"NVIDIA Developer Technol."},{"key":"14_CR9","unstructured":"Holk, E., Byrd, W.E., Mahajan, N., Willcock, J., Chauhan, A., Lumsdaine, A.: Declarative parallel programming for GPUs. In: PARCO, pp. 297\u2013304 (2011)"},{"key":"14_CR10","unstructured":"Khronos OpenCL Working Group: The OpenCL Specification"},{"key":"14_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"620","DOI":"10.1007\/3-540-45706-2_86","volume-title":"Euro-Par 2002 Parallel Processing","author":"H Kuchen","year":"2002","unstructured":"Kuchen, H.: A skeleton library. In: Monien, B., Feldmann, R. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 620\u2013629. Springer, Heidelberg (2002). \nhttps:\/\/doi.org\/10.1007\/3-540-45706-2_86"},{"key":"14_CR12","unstructured":"Nvidia: CUDA Basic Linear Algebra Subroutines (cuBLAS). Version 6.5"},{"key":"14_CR13","doi-asserted-by":"crossref","unstructured":"Steuwer, M., Fensch, C., Lindley, S., Dubach, C.: Generating performance portable code using rewrite rules: from high-level functional expressions to high-performance openCL code. In: ICFP, pp. 205\u2013217. ACM (2015)","DOI":"10.1145\/2784731.2784754"},{"key":"14_CR14","doi-asserted-by":"crossref","unstructured":"Steuwer, M., Gorlatch, S.: High-level programming for medical imaging on multi-GPU systems using the skelCL library. In: Procedia Computer Science, ICCS, vol. 18, pp. 749\u2013758. Elsevier (2013)","DOI":"10.1016\/j.procs.2013.05.239"},{"key":"14_CR15","doi-asserted-by":"crossref","unstructured":"Steuwer, M., Kegel, P., Gorlatch, S.: SkelCL: a portable skeleton library for high-level GPU programming. In: HIPS @ IPDPS, pp. 1176\u20131182. IEEE (2011)","DOI":"10.1109\/IPDPS.2011.269"},{"key":"14_CR16","doi-asserted-by":"crossref","unstructured":"Steuwer, M., Remmelg, T., Dubach, C.: Lift: a functional data-parallel IR for high-performance GPU code generation. In: CGO, pp. 74\u201385. ACM (2017)","DOI":"10.1109\/CGO.2017.7863730"},{"key":"14_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"156","DOI":"10.1007\/978-3-642-24452-0_9","volume-title":"Implementation and Application of Functional Languages","author":"J Svensson","year":"2011","unstructured":"Svensson, J., Sheeran, M., Claessen, K.: Obsidian: a domain specific embedded language for parallel programming of graphics processors. In: Scholz, S.-B., Chitil, O. (eds.) IFL 2008. LNCS, vol. 5836, pp. 156\u2013173. Springer, Heidelberg (2011). \nhttps:\/\/doi.org\/10.1007\/978-3-642-24452-0_9"}],"container-title":["Lecture Notes in Computer Science","Perspectives of System Informatics"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-74313-4_14","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2018,1,17]],"date-time":"2018-01-17T00:22:52Z","timestamp":1516148572000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-74313-4_14"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319743127","9783319743134"],"references-count":17,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-74313-4_14","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]}}}