{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,23]],"date-time":"2025-05-23T05:08:11Z","timestamp":1747976891414,"version":"3.41.0"},"publisher-location":"Berlin, Heidelberg","reference-count":21,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783662468227"},{"type":"electronic","value":"9783662468234"}],"license":[{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2015]]},"DOI":"10.1007\/978-3-662-46823-4_10","type":"book-chapter","created":{"date-parts":[[2015,4,18]],"date-time":"2015-04-18T01:40:54Z","timestamp":1429321254000},"page":"111-126","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Towards High-Level Programming for Systems with Many Cores"],"prefix":"10.1007","author":[{"given":"Sergei","family":"Gorlatch","sequence":"first","affiliation":[]},{"given":"Michel","family":"Steuwer","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2015,4,19]]},"reference":[{"key":"10_CR1","unstructured":"OpenACC application program interface. Version 1.0 (2011)"},{"key":"10_CR2","unstructured":"AMD. AMD APP SDK code samples. Version 2.7, February 2013"},{"key":"10_CR3","unstructured":"AMD. Bolt \u2013 A C++ template library optimized for GPUs (2013)"},{"key":"10_CR4","doi-asserted-by":"crossref","unstructured":"Arora, N., Shringarpure, A., Vuduc, R.W.: Direct N-body kernels for multicore platforms. In: 2012 41st International Conference on Parallel Processing, pp. 379\u2013387. IEEE Computer Society, Los Alamitos (2009)","DOI":"10.1109\/ICPP.2009.71"},{"key":"10_CR5","unstructured":"Blelloch, G.E.: Prefix sums and their applications. In: Sythesis of Parallel Algorithms, pp. 35\u201360. Morgan Kaufmann Publishers Inc. (1990)"},{"key":"10_CR6","doi-asserted-by":"crossref","unstructured":"Chang, D.-J., Desoky, A.H., Ouyang, M., Rouchka, E.C.: Compute pairwise manhattan distance and pearson correlation coefficient of data points with GPU. In: 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel\/Distributed Computing, pp. 501\u2013506 (2009)","DOI":"10.1109\/SNPD.2009.34"},{"key":"10_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"96","DOI":"10.1007\/978-3-642-37658-0_7","volume-title":"Languages and Compilers for Parallel Computing","author":"VK Elangovan","year":"2013","unstructured":"Elangovan, V.K., Badia, R.M., Parra, E.A.: OmpSs-OpenCL programming model for heterogeneous systems. In: Kasahara, H., Kimura, K. (eds.) LCPC 2012. LNCS, vol. 7760, pp. 96\u2013111. Springer, Heidelberg (2013)"},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"Enmyren, J., Kessler. C.: SkePU: a multi-backend skeleton programming library for multi-GPU systems. In: Proceedings 4th International Workshop on High-Level Parallel Programming and Applications (HLPP-2010), pp. 5\u201314 (2010)","DOI":"10.1145\/1863482.1863487"},{"issue":"2","key":"10_CR9","doi-asserted-by":"publisher","first-page":"129","DOI":"10.1504\/IJHPCN.2012.046370","volume":"7","author":"S Ernsting","year":"2012","unstructured":"Ernsting, S., Kuchen, H.: Algorithmic skeletons for multi-core, multi-GPU systems and clusters. Int. J. High Perform. Comput. Netw. 7(2), 129\u2013138 (2012)","journal-title":"Int. J. High Perform. Comput. Netw."},{"key":"10_CR10","first-page":"1417","volume-title":"Encyclopedia of Parallel Computing","author":"S Gorlatch","year":"2011","unstructured":"Gorlatch, S., Cole, M.: Parallel skeletons. In: Padua, D.A. (ed.) Encyclopedia of Parallel Computing, pp. 1417\u20131422. Springer, US (2011)"},{"key":"10_CR11","doi-asserted-by":"crossref","unstructured":"Gorlatch, S., Lengauer, C.: (De)Composition rules for parallel scan and reduction. In: Proceedings of the 3rd International Working Conference on Massively Parallel Programming Models (MPPM\u201997), pp. 23\u201332. IEEE Computer Society Press (1998)","DOI":"10.1109\/MPPM.1997.715958"},{"key":"10_CR12","unstructured":"Hoberock, J., Bell, N.: (NVIDIA). Thrust: a parallel template, Library (2013)"},{"key":"10_CR13","unstructured":"Khronos Group. The OpenCL specification, Version 2.0, November 2013"},{"key":"10_CR14","volume-title":"Programming Massively Parallel Processors - A Hands-on Approach","author":"DB Kirk","year":"2010","unstructured":"Kirk, D.B., Hwu, W.W.: Programming Massively Parallel Processors - A Hands-on Approach. Morgan Kaufman, San Francisco (2010)"},{"key":"10_CR15","unstructured":"Nitsche, T.: Skeleton implementations based on generic data distributions. In: 2nd International Workshop on Constructive Methods for Parallel Programming (2000)"},{"key":"10_CR16","unstructured":"NVIDIA. CUBLAS (2013). http:\/\/developer.nvidia.com\/cublas"},{"key":"10_CR17","unstructured":"NVIDIA. NVIDIA CUDA SDK code samples. Version 5.0, February 2013"},{"key":"10_CR18","unstructured":"OpenMP Architecture Review Board. OpenMP API. Version 4.0 (2013)"},{"key":"10_CR19","doi-asserted-by":"crossref","unstructured":"Pepper, P., S\u00fcdholt. M.: Deriving parallel numerical algorithms using data distribution algebras: Wang\u2019s algorithm. In: 30th Annual Hawaii International Conference on System Sciences (HICSS), pp. 501\u2013510 (1997)","DOI":"10.1109\/HICSS.1997.667306"},{"issue":"4","key":"10_CR20","doi-asserted-by":"publisher","first-page":"601","DOI":"10.1007\/s10766-013-0265-6","volume":"42","author":"M Steuwer","year":"2013","unstructured":"Steuwer, M., Friese, M., Albers, S., Gorlatch, S.: Introducing and implementing the allpairs skeleton for programming multi-GPU systems. Int. J. Parallel Prog. 42(4), 601\u2013618 (2013)","journal-title":"Int. J. Parallel Prog."},{"key":"10_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"258","DOI":"10.1007\/978-3-642-39958-9_24","volume-title":"Parallel Computing Technologies","author":"M Steuwer","year":"2013","unstructured":"Steuwer, M., Gorlatch, S.: SkelCL: enhancing OpenCL for high-level programming of multi-GPU systems. In: Malyshkin, V. (ed.) PaCT 2013. LNCS, vol. 7979, pp. 258\u2013272. Springer, Heidelberg (2013)"}],"container-title":["Lecture Notes in Computer Science","Perspectives of System Informatics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-662-46823-4_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,5,22]],"date-time":"2025-05-22T18:24:22Z","timestamp":1747938262000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-662-46823-4_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783662468227","9783662468234"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-662-46823-4_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2015]]},"assertion":[{"value":"19 April 2015","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}