{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,6]],"date-time":"2026-04-06T14:53:18Z","timestamp":1775487198417,"version":"3.50.1"},"reference-count":44,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"4","license":[{"start":{"date-parts":[[2019,4,1]],"date-time":"2019-04-01T00:00:00Z","timestamp":1554076800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2019,4,1]],"date-time":"2019-04-01T00:00:00Z","timestamp":1554076800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2019,4,1]],"date-time":"2019-04-01T00:00:00Z","timestamp":1554076800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"name":"Science and Technology in Flanders"},{"name":"Ghent University"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Trans. Parallel Distrib. Syst."],"published-print":{"date-parts":[[2019,4,1]]},"DOI":"10.1109\/tpds.2018.2872064","type":"journal-article","created":{"date-parts":[[2018,9,24]],"date-time":"2018-09-24T21:19:00Z","timestamp":1537823940000},"page":"827-841","source":"Crossref","is-referenced-by-count":175,"title":["Effective Extensible Programming: Unleashing Julia on GPUs"],"prefix":"10.1109","volume":"30","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7826-8021","authenticated-orcid":false,"given":"Tim","family":"Besard","sequence":"first","affiliation":[]},{"given":"Christophe","family":"Foket","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0317-2089","authenticated-orcid":false,"given":"Bjorn","family":"De Sutter","sequence":"additional","affiliation":[]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1145\/2141702.2141720"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/2345156.2254066"},{"key":"ref33","article-title":"CuArrays.jl: CUDA-accelerated arrays for Julia","author":"innes","year":"2017"},{"key":"ref32","author":"johnson","year":"2017"},{"key":"ref31","article-title":"Uncertainty propagation with functionally correlated quantities","author":"giordano","year":"2016"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"ref37","first-page":"14","article-title":"Parakeet: A just-in-time parallel accelerator for Python","author":"rubinsteyn","year":"2012","journal-title":"Proc 2nd USENIX Conf Hot Topics Parallelism"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1145\/1926354.1926358"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.21105\/joss.00602"},{"key":"ref34","author":"luitjens","year":"2015"},{"key":"ref10","article-title":"CUB: A pattern of &#x201C;collective&#x201D; software design, abstraction, and reuse for kernel-level programming","author":"merrill","year":"2015"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2015.2394802"},{"key":"ref11","article-title":"Thrust: A parallel template library","author":"hoberock","year":"2010"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/77626.79170"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898719604"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1117\/12.921122"},{"key":"ref15","first-page":"51","article-title":"ViennaCL: A high level linear algebra library for GPUs and multi-core CPUs","author":"rupp","year":"2010","journal-title":"Proc Intl Workshop GPUs Sci Appl"},{"key":"ref16","article-title":"cuBLAS: Dense linear algebra on GPUs","year":"2008"},{"key":"ref17","article-title":"Anaconda Accelerate: GPU-accelerated numerical libraries for Python","year":"2017"},{"key":"ref18","article-title":"CUBLAS.jl: Julia interface to cuBLAS","year":"2017"},{"key":"ref19","author":"markovskiy","year":"2014"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/2854038.2854041"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1118\/1.3578605"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1109\/ISCAS.2010.5537736"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.5121\/ijcsea.2016.6501"},{"key":"ref29","article-title":"The Jupyter\/IPython architecture:  A unified view of computational research, from interactive exploration to communication and publication","volume":"6","author":"ragan-kelley","year":"2014","journal-title":"AGU Fall Meeting Abstracts"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1109\/MDAT.2013.2293757"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/2833157.2833162"},{"key":"ref7","article-title":"Modern extensible languages","volume":"47","author":"zingaro","year":"2007","journal-title":"SQRL Rep"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1109\/UIC-ATC-ScalCom-CBDCom-IoP.2015.199"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2011.10.002"},{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2016.7577381"},{"key":"ref20","first-page":"66","article-title":"PyGPU: A high-level language for high-speed image processing","author":"lejdfors","year":"2007","journal-title":"Proc Int Conf Comput Appl"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1137\/141000671"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/2038037.1941562"},{"key":"ref42","article-title":"Boosting Java performance using GPGPUs","author":"clarkson","year":"2015"},{"key":"ref24","article-title":"Julia: A fast dynamic language for technical computing","author":"bezanson","year":"2012"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1109\/HPCC.2012.57"},{"key":"ref23","article-title":"Abstractions in technical computing","author":"bezanson","year":"2015"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2013.173"},{"key":"ref26","article-title":"Why is Julia fast? Can it be faster?","author":"bezanson","year":"2015"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1016\/0066-4138(74)90001-9"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1177\/1094342015584091"}],"container-title":["IEEE Transactions on Parallel and Distributed Systems"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/71\/8666088\/08471188.pdf?arnumber=8471188","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,7,13]],"date-time":"2022-07-13T20:42:39Z","timestamp":1657744959000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/8471188\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,4,1]]},"references-count":44,"journal-issue":{"issue":"4"},"URL":"https:\/\/doi.org\/10.1109\/tpds.2018.2872064","relation":{},"ISSN":["1045-9219","1558-2183","2161-9883"],"issn-type":[{"value":"1045-9219","type":"print"},{"value":"1558-2183","type":"electronic"},{"value":"2161-9883","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,4,1]]}}}