{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,29]],"date-time":"2025-06-29T09:40:33Z","timestamp":1751190033593,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":29,"publisher":"ACM","license":[{"start":{"date-parts":[[2014,6,9]],"date-time":"2014-06-09T00:00:00Z","timestamp":1402272000000},"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":[[2014,6,9]]},"DOI":"10.1145\/2627373.2627379","type":"proceedings-article","created":{"date-parts":[[2014,10,1]],"date-time":"2014-10-01T13:35:08Z","timestamp":1412170508000},"page":"32-37","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["GPGPU Composition with OCaml"],"prefix":"10.1145","author":[{"given":"Mathias","family":"Bourgoin","sequence":"first","affiliation":[{"name":"Sorbonne Universit\u00e9s, UPMC Univ Paris 06, UMR 7606, LIP6, 4 Place Jussieu, F-75005 Paris, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Emmanuel","family":"Chailloux","sequence":"additional","affiliation":[{"name":"Sorbonne Universit\u00e9s, UPMC Univ Paris 06, UMR 7606, LIP6, 4 Place Jussieu, F-75005 Paris, France"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,6,9]]},"reference":[{"volume-title":"Cuda C Programming guide","year":"2012","key":"e_1_3_2_1_1_1","unstructured":"Nvidia , Cuda C Programming guide , 2012 . Nvidia, Cuda C Programming guide, 2012."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"crossref","unstructured":"K. O. W. Group \"OpenCL 1.2 specifications \" 2012.  K. O. W. Group \"OpenCL 1.2 specifications \" 2012.","DOI":"10.15373\/22778179\/OCT2013\/46"},{"key":"e_1_3_2_1_3_1","volume-title":"Inria","author":"Leroy X.","year":"2013","unstructured":"X. Leroy , D. Doligez , A. Firsch , J. Garrigue , D. R. Remy , and J. Vouillon , \" The OCaml System Release 4.01: Documentation and User's Manual,\" tech. rep ., Inria , 2013 . http:\/\/caml.inria.fr. X. Leroy, D. Doligez, A. Firsch, J. Garrigue, D. R. Remy, and J. Vouillon, \"The OCaml System Release 4.01: Documentation and User's Manual,\" tech. rep., Inria, 2013. http:\/\/caml.inria.fr."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626412400075"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10766-013-0261-x"},{"key":"e_1_3_2_1_6_1","unstructured":"NVIDIA \"Cublas Library \" 2012. http:\/\/developer.nvidia.com\/cublas.  NVIDIA \"Cublas Library \" 2012. http:\/\/developer.nvidia.com\/cublas."},{"key":"e_1_3_2_1_7_1","volume-title":"MAGMA Users Guide","author":"Tomov S.","year":"2011","unstructured":"S. Tomov , R. Nath , P. Du , and J. Dongarra , \" MAGMA Users Guide ,\" 2011 . S. Tomov, R. Nath, P. Du, and J. Dongarra, \"MAGMA Users Guide,\" 2011."},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1900160.1900167"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993316.1993516"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2009.07.018"},{"key":"e_1_3_2_1_11_1","volume-title":"Architecture et Syst\u00e8me (ComPas)","author":"Bourgoin M.","year":"2013","unstructured":"M. Bourgoin , E. Chailloux , and J.-L. Lamotte , \"Retour d'exp\u00e9rience : portage d'une application haute-performance vers un langage de haut niveau,\" in la Conf\u00e9rence d'informatique en Parall\u00e9lisme , Architecture et Syst\u00e8me (ComPas) , 2013 . M. Bourgoin, E. Chailloux, and J.-L. Lamotte, \"Retour d'exp\u00e9rience: portage d'une application haute-performance vers un langage de haut niveau,\" in la Conf\u00e9rence d'informatique en Parall\u00e9lisme, Architecture et Syst\u00e8me (ComPas), 2013."},{"key":"e_1_3_2_1_12_1","first-page":"733","volume-title":"Improved gpu sorting,\" in GPU gems","author":"Kipfer P.","year":"2005","unstructured":"P. Kipfer and R. Westermann , \" Improved gpu sorting,\" in GPU gems , vol. 2 , pp. 733 -- 746 , 2005 . P. Kipfer and R. Westermann, \"Improved gpu sorting,\" in GPU gems, vol. 2, pp. 733--746, 2005."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2003.12.002"},{"key":"e_1_3_2_1_14_1","volume-title":"CamlP3l 1.0: User Manual","author":"Di Cosmo R.","year":"2010","unstructured":"R. Di Cosmo , Z. Li , M. Danelutto , S. Pelagatti , X. Leroy , P. Weis , and F. Cl\u00e9ment , CamlP3l 1.0: User Manual , 2010 . http:\/\/camlp3l.inria.fr\/. R. Di Cosmo, Z. Li, M. Danelutto, S. Pelagatti, X. Leroy, P. Weis, and F. Cl\u00e9ment, CamlP3l 1.0: User Manual, 2010. http:\/\/camlp3l.inria.fr\/."},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926354.1926358"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"crossref","unstructured":"R.\n      Clifton-Everest T.\n      McDonell M.\n      Chakravarty and \n      G.\n      Keller \"\n  Embedding foreign code \" in Practical Aspects of Declarative Languages (M. Flatt and H.-F\n  . Guo eds.) vol. \n  8324\n   of \n  Lecture Notes in Computer Science pp. \n  136\n  --\n  151 Springer International Publishing 2014\n  .  R. Clifton-Everest T. McDonell M. Chakravarty and G. Keller \"Embedding foreign code \" in Practical Aspects of Declarative Languages (M. Flatt and H.-F. Guo eds.) vol. 8324 of Lecture Notes in Computer Science pp. 136--151 Springer International Publishing 2014.","DOI":"10.1007\/978-3-319-04132-2_10"},{"key":"e_1_3_2_1_17_1","unstructured":"G. Cocco \"FSCL F# to OpenCL Compiler and Runtime \" 2013. http:\/\/www.gabrielecocco.it\/fscl\/.  G. Cocco \"FSCL F# to OpenCL Compiler and Runtime \" 2013. http:\/\/www.gabrielecocco.it\/fscl\/."},{"key":"e_1_3_2_1_18_1","volume-title":"USENIX","author":"Rubinsteyn A.","year":"2012","unstructured":"A. Rubinsteyn , E. Hielscher , N. Weinman , and D. Shasha , \" Parakeet: A just-in-time parallel accelerator for python,\" in The 4th USENIX Workshop on Hot Topics in Parallelism , USENIX , 2012 . A. Rubinsteyn, E. Hielscher, N. Weinman, and D. Shasha, \"Parakeet: A just-in-time parallel accelerator for python,\" in The 4th USENIX Workshop on Hot Topics in Parallelism, USENIX, 2012."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2038037.1941562"},{"key":"e_1_3_2_1_20_1","unstructured":"T. Oliphant \"Numba python bytecode to LLVM translator \" in Proceedings of the Python for Scientific Computing Conference (SciPy) 2012.  T. Oliphant \"Numba python bytecode to LLVM translator \" in Proceedings of the Python for Scientific Computing Conference (SciPy) 2012."},{"key":"e_1_3_2_1_21_1","unstructured":"A. INC \"Aparapi \" 2013. http:\/\/code.google.com\/p\/aparapi\/.  A. INC \"Aparapi \" 2013. http:\/\/code.google.com\/p\/aparapi\/."},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2013.173"},{"key":"e_1_3_2_1_23_1","first-page":"297","volume-title":"Declarative parallel programming for gpus.,\" in Internation Conference on Parallel Computing (PARCO)","author":"Holk E.","year":"2011","unstructured":"E. Holk , W. E. Byrd , N. Mahajan , J. Willcock , A. Chauhan , and A. Lumsdaine , \" Declarative parallel programming for gpus.,\" in Internation Conference on Parallel Computing (PARCO) , pp. 297 -- 304 , 2011 . E. Holk, W. E. Byrd, N. Mahajan, J. Willcock, A. Chauhan, and A. Lumsdaine, \"Declarative parallel programming for gpus.,\" in Internation Conference on Parallel Computing (PARCO), pp. 297--304, 2011."},{"key":"e_1_3_2_1_24_1","volume-title":"Thrust: C++ Template Library for CUDA","author":"Hoberock J.","year":"2009","unstructured":"J. Hoberock and N. Bell , \" Thrust: C++ Template Library for CUDA ,\" 2009 . http:\/\/code.google.com\/p\/thrust\/. J. Hoberock and N. Bell, \"Thrust: C++ Template Library for CUDA,\" 2009. http:\/\/code.google.com\/p\/thrust\/."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.1631"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2013.66"},{"key":"e_1_3_2_1_27_1","first-page":"2012","article-title":"Par4all: From convex array regions to heterogeneous computing,\" in IMPACT 2012","author":"Amini M.","year":"2012","unstructured":"M. Amini , B. Creusillet , S. Even , R. Keryell , O. Goubier , S. Guelton , J. O. McMahon , F.-X. Pasquier , G. P\u00e9an , P. Villalon , , \" Par4all: From convex array regions to heterogeneous computing,\" in IMPACT 2012 : Second International Workshop on Polyhedral Compilation Techniques HiPEAC 2012 , 2012 . M. Amini, B. Creusillet, S. Even, R. Keryell, O. Goubier, S. Guelton, J. O. McMahon, F.-X. Pasquier, G. P\u00e9an, P. Villalon, et al., \"Par4all: From convex array regions to heterogeneous computing,\" in IMPACT 2012: Second International Workshop on Polyhedral Compilation Techniques HiPEAC 2012, 2012.","journal-title":"Second International Workshop on Polyhedral Compilation Techniques HiPEAC"},{"key":"e_1_3_2_1_28_1","volume-title":"WebCL 1.0 specification,\" Khronos WebCL Working Group","author":"Aarnio T.","year":"2014","unstructured":"T. Aarnio and M. Bourges-Sevenier , \" WebCL 1.0 specification,\" Khronos WebCL Working Group , 2014 . T. Aarnio and M. Bourges-Sevenier, \"WebCL 1.0 specification,\" Khronos WebCL Working Group, 2014."},{"key":"e_1_3_2_1_29_1","volume-title":"From Bytecode to JavaScript: The js of ocaml Compiler,\" Software: Practice and Experience","author":"Vouillon J.","year":"2013","unstructured":"J. Vouillon and V. Balat , \" From Bytecode to JavaScript: The js of ocaml Compiler,\" Software: Practice and Experience , 2013 . J. Vouillon and V. Balat, \"From Bytecode to JavaScript: The js of ocaml Compiler,\" Software: Practice and Experience, 2013."}],"event":{"name":"PLDI '14: ACM SIGPLAN Conference on Programming Language Design and Implementation","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Edinburgh United Kingdom","acronym":"PLDI '14"},"container-title":["Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2627373.2627379","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2627373.2627379","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:56:08Z","timestamp":1750229768000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2627373.2627379"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,6,9]]},"references-count":29,"alternative-id":["10.1145\/2627373.2627379","10.1145\/2627373"],"URL":"https:\/\/doi.org\/10.1145\/2627373.2627379","relation":{},"subject":[],"published":{"date-parts":[[2014,6,9]]},"assertion":[{"value":"2014-06-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}