{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T23:56:37Z","timestamp":1742946997156,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":9,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642141218"},{"type":"electronic","value":"9783642141225"}],"license":[{"start":{"date-parts":[[2010,1,1]],"date-time":"2010-01-01T00:00:00Z","timestamp":1262304000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2010,1,1]],"date-time":"2010-01-01T00:00:00Z","timestamp":1262304000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2010]]},"DOI":"10.1007\/978-3-642-14122-5_7","type":"book-chapter","created":{"date-parts":[[2010,6,16]],"date-time":"2010-06-16T07:19:51Z","timestamp":1276672791000},"page":"36-45","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Towards Metaprogramming for Parallel Systems on a Chip"],"prefix":"10.1007","author":[{"given":"Lee","family":"Howes","sequence":"first","affiliation":[]},{"given":"Anton","family":"Lokhmotov","sequence":"additional","affiliation":[]},{"given":"Alastair F.","family":"Donaldson","sequence":"additional","affiliation":[]},{"given":"Paul H. J.","family":"Kelly","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2010,6,17]]},"reference":[{"key":"7_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1007\/978-3-540-92990-1_14","volume-title":"High Performance Embedded Architectures and Compilers","author":"L.W. Howes","year":"2009","unstructured":"Howes, L.W., Lokhmotov, A., Donaldson, A.F., Kelly, P.H.: Deriving efficient data movement from decoupled Access\/Execute specifications. In: Seznec, A., Emer, J., O\u2019Boyle, M., Martonosi, M., Ungerer, T. (eds.) HiPEAC 2009. LNCS, vol.\u00a05409, pp. 168\u2013182. Springer, Heidelberg (2009)"},{"key":"7_CR2","volume-title":"Principles of Parallel Programming","author":"C. Lin","year":"2008","unstructured":"Lin, C., Snyder, L.: Principles of Parallel Programming. Addison-Wesley, MA (2008)"},{"key":"7_CR3","unstructured":"NVIDIA: CUDA (2006\u20132009), \nhttp:\/\/www.nvidia.com\/cuda"},{"key":"7_CR4","unstructured":"Bik, A.J.: The Software Vectorization Handbook. Applying Multimedia Extensions for Maximum Performance. Intel Press, Hillsboro (2004)"},{"key":"7_CR5","unstructured":"McCalpin, J.D.: STREAM: Sustainable memory bandwidth in high performance computers (1990\u20132009), \nhttp:\/\/www.cs.virginia.edu\/stream\/"},{"key":"7_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-540-89740-8_1","volume-title":"Languages and Compilers for Parallel Computing","author":"S.-Z. Ueng","year":"2008","unstructured":"Ueng, S.-Z., Lathara, M., Baghsorkhi, S.S., Hwu, W.m.W.: CUDA-lite: Reducing GPU programming complexity. In: Amaral, J.N. (ed.) LCPC 2008. LNCS, vol.\u00a05335, pp. 1\u201315. Springer, Heidelberg (2008)"},{"key":"7_CR7","doi-asserted-by":"crossref","unstructured":"Fatahalian, K., Horn, D.R., Knight, T.J., Leem, L., Houston, M., Park, J.Y., Erez, M., Ren, M., Aiken, A., Dally, W.J., Hanrahan, P.: Sequoia: programming the memory hierarchy. In: Supercomputing\u201906, p. 83 (2006)","DOI":"10.1109\/SC.2006.55"},{"issue":"10","key":"7_CR8","doi-asserted-by":"publisher","first-page":"1389","DOI":"10.1016\/j.jpdc.2008.05.011","volume":"68","author":"S. Ryoo","year":"2008","unstructured":"Ryoo, S., Rodrigues, C.I., Stone, S.S., Stratton, J.A., Ueng, S.Z., Baghsorkhi, S.S., Hwu, W.m.W.: Program optimization carving for GPU computing. J. Parallel Distrib. Comput.\u00a068(10), 1389\u20131401 (2008)","journal-title":"J. Parallel Distrib. Comput."},{"key":"7_CR9","unstructured":"The Khronos Group: OpenCL (2008\u20132009), \nhttp:\/\/www.khronos.org\/opencl"}],"container-title":["Lecture Notes in Computer Science","Euro-Par 2009 \u2013 Parallel Processing Workshops"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-14122-5_7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,7]],"date-time":"2022-01-07T07:03:31Z","timestamp":1641539011000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-642-14122-5_7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010]]},"ISBN":["9783642141218","9783642141225"],"references-count":9,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-14122-5_7","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2010]]},"assertion":[{"value":"17 June 2010","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}