{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,2,10]],"date-time":"2023-02-10T16:54:35Z","timestamp":1676048075494},"reference-count":20,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2016,5,11]],"date-time":"2016-05-11T00:00:00Z","timestamp":1462924800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Int J Parallel Prog"],"published-print":{"date-parts":[[2017,4]]},"DOI":"10.1007\/s10766-016-0424-7","type":"journal-article","created":{"date-parts":[[2016,5,11]],"date-time":"2016-05-11T04:52:30Z","timestamp":1462942350000},"page":"242-261","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["High Level Data Structures for GPGPU Programming in a Statically Typed Language"],"prefix":"10.1007","volume":"45","author":[{"given":"Mathias","family":"Bourgoin","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Emmanuel","family":"Chailloux","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jean-Luc","family":"Lamotte","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2016,5,11]]},"reference":[{"issue":"2","key":"424_CR1","doi-asserted-by":"crossref","first-page":"187","DOI":"10.1002\/cpe.1631","volume":"23","author":"C Augonnet","year":"2009","unstructured":"Augonnet, C., et al.: StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Concurr. Comput. Pract. Exp. 23(2), 187\u2013198 (2009)","journal-title":"Concurr. Comput. Pract. Exp."},{"key":"424_CR2","doi-asserted-by":"crossref","unstructured":"Bergstrom, L., Fluet, M., Rainey, M., Reppy, J., Rosen, S., Shaw, A.: Data-only flattening for nested data parallelism. In: Proceedings of the 2013 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2013), pp. 81\u201392. ACM, New York, NY (2013)","DOI":"10.1145\/2442516.2442525"},{"key":"424_CR3","doi-asserted-by":"crossref","unstructured":"Bergstrom, L., Reppy, J.: Nested data-parallelism on the GPU. In: Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming (ICFP 2012), pp. 247\u2013258 (2012)","DOI":"10.1145\/2364527.2364563"},{"issue":"1","key":"424_CR4","doi-asserted-by":"crossref","first-page":"4","DOI":"10.1006\/jpdc.1994.1038","volume":"21","author":"GE Blelloch","year":"1994","unstructured":"Blelloch, G.E., et al.: Implementation of a portable nested data-parallel language. J. Parallel Distrib. Comput. 21(1), 4\u201314 (1994)","journal-title":"J. Parallel Distrib. Comput."},{"key":"424_CR5","doi-asserted-by":"crossref","unstructured":"Bourgoin, M., Chailloux, E.: GPGPU composition with OCaml. In: Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, ARRAY\u201914, pp. 32:32\u201332:37 (2014)","DOI":"10.1145\/2627373.2627379"},{"issue":"4","key":"424_CR6","doi-asserted-by":"crossref","first-page":"583","DOI":"10.1007\/s10766-013-0261-x","volume":"42","author":"M Bourgoin","year":"2014","unstructured":"Bourgoin, M., Chailloux, E., Lamotte, J.L.: Efficient abstractions for GPGPU programming. Int. J. Parallel Prog. 42(4), 583\u2013600 (2014)","journal-title":"Int. J. Parallel Prog."},{"issue":"8","key":"424_CR7","doi-asserted-by":"crossref","first-page":"47","DOI":"10.1145\/2038037.1941562","volume":"46","author":"B Catanzaro","year":"2011","unstructured":"Catanzaro, B., Garland, M., Keutzer, K.: Copperhead: compiling an embedded data parallel language. SIGPLAN Not. 46(8), 47\u201356 (2011)","journal-title":"SIGPLAN Not."},{"key":"424_CR8","doi-asserted-by":"crossref","unstructured":"Chakravarty, M., et\u00a0al.: Accelerating Haskell array codes with multicore GPUs. In: Workshop on Declarative Aspects of Multicore Programming (DAMP), pp. 3\u201314 (2011)","DOI":"10.1145\/1926354.1926358"},{"key":"424_CR9","doi-asserted-by":"crossref","unstructured":"Clifton-Everest, R., et\u00a0al.: Embedding foreign code. In: International Symposium on Practical Aspects of Declarative Languages (PADL), pp. 136\u2013151. Springer (2014)","DOI":"10.1007\/978-3-319-04132-2_10"},{"key":"424_CR10","doi-asserted-by":"crossref","first-page":"389","DOI":"10.1016\/j.parco.2003.12.002","volume":"30","author":"M Cole","year":"2004","unstructured":"Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput. 30, 389\u2013406 (2004)","journal-title":"Parallel Comput."},{"key":"424_CR11","doi-asserted-by":"crossref","unstructured":"Cunningham, D., Bordawekar, R., Saraswat, V.: GPU programming in a high level language: compiling X10 to CUDA. In: ACM SIGPLAN X10 Workshop, X10 \u201911, pp. 8:1\u20138:10. ACM (2011)","DOI":"10.1145\/2212736.2212744"},{"issue":"12","key":"424_CR12","doi-asserted-by":"crossref","first-page":"3240","DOI":"10.1016\/j.jpdc.2014.07.002","volume":"74","author":"P Esterie","year":"2014","unstructured":"Esterie, P., et al.: The numerical template toolbox: a modern C++ design for scientific computing. J. Parallel Distrib. Comput. 74(12), 3240\u20133253 (2014)","journal-title":"J. Parallel Distrib. Comput."},{"key":"424_CR13","doi-asserted-by":"crossref","unstructured":"Gautier, T., et\u00a0al.: Xkaapi: a runtime system for data-flow task programming on heterogeneous architectures. In: International Symposium on Parallel and Distributed Processing (IPDPS), pp. 1299\u20131308 (2013)","DOI":"10.1109\/IPDPS.2013.66"},{"key":"424_CR14","doi-asserted-by":"crossref","unstructured":"Maranget, L.: Compiling pattern matching to good decision trees. In: Workshop on ML, ML \u201908, pp. 35\u201346. ACM (2008)","DOI":"10.1145\/1411304.1411311"},{"key":"424_CR15","doi-asserted-by":"crossref","unstructured":"Masliah, I., Baboulin, M., Falcou, J.: Metaprogramming dense linear algebra solvers. Applications to multi and many-core architectures. In: 13th IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA 2015). Helsinki, Finland (2015)","DOI":"10.1109\/Trustcom.2015.614"},{"key":"424_CR16","doi-asserted-by":"crossref","unstructured":"Nystrom, N., White, D., Das, K.: Firepile: Run-time compilation for GPUs in scala. In: Proceedings of the 10th ACM International Conference on Generative Programming and Component Engineering, GPCE \u201911, pp. 107\u2013116. ACM (2011)","DOI":"10.1145\/2047862.2047883"},{"key":"424_CR17","doi-asserted-by":"crossref","unstructured":"Rompf, T., et\u00a0al.: Optimizing data structures in high-level programs: new directions for extensible compilers based on staging. In: Proceedings of the 40th Symposium on Principles of Programming Languages, POPL \u201913. ACM (2013)","DOI":"10.1145\/2429069.2429128"},{"key":"424_CR18","unstructured":"Rubinsteyn, A., et\u00a0al.: Parakeet: a just-in-time parallel accelerator for python. In: The 4th USENIX Workshop on Hot Topics in Parallelism. USENIX (2012)"},{"key":"424_CR19","doi-asserted-by":"crossref","unstructured":"Scott, N.S., et\u00a0al.: 2DRMP: a suite of two-dimensional R-matrix propagation codes. Comput. Phys. Commun. pp. 2424\u20132449 (2009)","DOI":"10.1016\/j.cpc.2009.07.018"},{"issue":"8","key":"424_CR20","doi-asserted-by":"crossref","first-page":"951","DOI":"10.1002\/spe.2187","volume":"44","author":"J Vouillon","year":"2014","unstructured":"Vouillon, J., Balat, V.: From bytecode to javascript: the Js_of_ocaml compiler. Softw. Pract. Exp. 44(8), 951\u2013972 (2014)","journal-title":"Softw. Pract. Exp."}],"container-title":["International Journal of Parallel Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-016-0424-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10766-016-0424-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-016-0424-7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-016-0424-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,7]],"date-time":"2019-09-07T14:12:50Z","timestamp":1567865570000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10766-016-0424-7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,5,11]]},"references-count":20,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2017,4]]}},"alternative-id":["424"],"URL":"https:\/\/doi.org\/10.1007\/s10766-016-0424-7","relation":{},"ISSN":["0885-7458","1573-7640"],"issn-type":[{"value":"0885-7458","type":"print"},{"value":"1573-7640","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,5,11]]}}}