{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,11]],"date-time":"2025-12-11T20:56:27Z","timestamp":1765486587774,"version":"3.37.3"},"reference-count":21,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2021,3,25]],"date-time":"2021-03-25T00:00:00Z","timestamp":1616630400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,3,25]],"date-time":"2021-03-25T00:00:00Z","timestamp":1616630400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/100008393","name":"Teknologi og Produktion, Det Frie Forskningsr\u00e5d","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100008393","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Int J Parallel Prog"],"published-print":{"date-parts":[[2021,12]]},"DOI":"10.1007\/s10766-021-00703-4","type":"journal-article","created":{"date-parts":[[2021,3,25]],"date-time":"2021-03-25T22:43:10Z","timestamp":1616712190000},"page":"761-775","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Bounds Checking on GPU"],"prefix":"10.1007","volume":"49","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1195-9722","authenticated-orcid":false,"given":"Troels","family":"Henriksen","sequence":"first","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,3,25]]},"reference":[{"key":"703_CR1","unstructured":"Akritidis, P., Costa, M., Castro, M., Hand, S.: Baggy bounds checking: an efficient and backwards-compatible defense against out-of-bounds errors. In: Proceedings of the 18th Conference on USENIX Security Symposium, USENIX Association, USA, SSYM\u201909, pp. 51\u201366 (2009)"},{"issue":"2","key":"703_CR2","doi-asserted-by":"publisher","first-page":"18:1","DOI":"10.1145\/2898354","volume":"13","author":"C Andreetta","year":"2016","unstructured":"Andreetta, C., B\u00e9got, V., Berthold, J., Elsman, M., Henglein, F., Henriksen, T., Nordfang, M.B., Oancea, C.E.: Finpar: a parallel financial benchmark. ACM Trans. Archit. Code Optim. 13(2), 18:1-18:27 (2016)","journal-title":"ACM Trans. Archit. Code Optim."},{"key":"703_CR3","doi-asserted-by":"crossref","unstructured":"Bernecky, R., Scholz, SB.: Abstract expressionism for parallel performance. In: Proceedings of the 2nd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, pp. 54\u201359 (2015)","DOI":"10.1145\/2774959.2774962"},{"issue":"4","key":"703_CR4","doi-asserted-by":"publisher","first-page":"827","DOI":"10.1109\/TPDS.2018.2872064","volume":"30","author":"T Besard","year":"2019","unstructured":"Besard, T., Foket, C., De Sutter, B.: Effective extensible programming: unleashing Julia on GPUs. IEEE Trans. Parallel Distrib. Syst. 30(4), 827\u2013841 (2019)","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"703_CR5","doi-asserted-by":"publisher","unstructured":"Chakravarty, MM., Keller, G., Lee, S., McDonell, TL., Grover, V.: Accelerating haskell array codes with multicore GPUs. In: Proceedings of the Sixth Workshop on Declarative Aspects of Multicore Programming, Association for Computing Machinery, New York, NY, USA, DAMP \u201911, pp. 3\u201314. https:\/\/doi.org\/10.1145\/1926354.1926358 (2011)","DOI":"10.1145\/1926354.1926358"},{"key":"703_CR6","doi-asserted-by":"crossref","unstructured":"Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, JW., Lee, SH., Skadron, K.: Rodinia: A benchmark suite for heterogeneous computing. In: 2009 IEEE International Symposium on Workload Characterization (IISWC), IEEE, pp. 44\u201354 (2009)","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"703_CR7","doi-asserted-by":"publisher","unstructured":"Cunningham, D., Bordawekar, R., Saraswat, V.: GPU programming in a high level language: compiling x10 to cuda. In: Proceedings of the 2011 ACM SIGPLAN X10 Workshop, Association for Computing Machinery, New York, NY, USA, X10 \u201911. https:\/\/doi.org\/10.1145\/2212736.2212744 (2011)","DOI":"10.1145\/2212736.2212744"},{"key":"703_CR8","first-page":"27","volume-title":"Go to Statement Considered Harmful","author":"E Dijkstra","year":"1979","unstructured":"Dijkstra, E.: Go to Statement Considered Harmful, pp. 27\u201333. Yourdon Press, USA (1979)"},{"key":"703_CR9","doi-asserted-by":"publisher","unstructured":"Erb, C., Greathouse, JL.: Clarmor: A dynamic buffer overflow detector for opencl kernels. In: Proceedings of the International Workshop on OpenCL, Association for Computing Machinery, New York, NY, USA, IWOCL \u201918. https:\/\/doi.org\/10.1145\/3204919.3204934 (2018)","DOI":"10.1145\/3204919.3204934"},{"key":"703_CR10","doi-asserted-by":"publisher","unstructured":"Fumero, JJ., Steuwer, M., Stadler, L., Dubach, C.: Just-in-time GPU compilation for interpreted languages with partial evaluation. In: Proceedings of the 13th ACM SIGPLAN\/SIGOPS International Conference on Virtual Execution Environments, VEE 2017, Xi\u2019an, China, April 8\u20139, 2017, ACM, pp. 60\u201373. https:\/\/doi.org\/10.1145\/3050748.3050761 (2017)","DOI":"10.1145\/3050748.3050761"},{"key":"703_CR11","doi-asserted-by":"publisher","unstructured":"Guo, J., Thiyagalingam, J., Scholz, SB.: Breaking the GPU programming barrier with the auto-parallelising sac compiler. In: Proceedings of the Sixth Workshop on Declarative Aspects of Multicore Programming, Association for Computing Machinery, New York, NY, USA, DAMP \u201911, pp. 15\u201324. https:\/\/doi.org\/10.1145\/1926354.1926359 (2011)","DOI":"10.1145\/1926354.1926359"},{"key":"703_CR12","doi-asserted-by":"publisher","unstructured":"Henriksen, T., Dybdal, M., Urms, H., Kiehn, AS., Gavin, D., Abelskov, H., Elsman, M., Oancea, C.: APL on GPUs: a tail from the past, scribbled in futhark. In: Proceedings of the 5th International Workshop on Functional High-Performance Computing, ACM, New York, NY, USA, FHPC 2016, pp. 38\u201343. https:\/\/doi.org\/10.1145\/2975991.2975997 (2016)","DOI":"10.1145\/2975991.2975997"},{"key":"703_CR13","doi-asserted-by":"publisher","unstructured":"Henriksen, T., Serup, NGW., Elsman, M., Henglein, F., Oancea, CE.: Futhark: Purely functional GPU-programming with nested parallelism and in-place array updates. In: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM, New York, NY, USA, PLDI 2017, pp. 556\u2013571. https:\/\/doi.org\/10.1145\/3062341.3062354 (2017)","DOI":"10.1145\/3062341.3062354"},{"key":"703_CR14","doi-asserted-by":"publisher","unstructured":"Henriksen, T., Thor\u00f8e, F., Elsman, M., Oancea, C.: Incremental flattening for nested data parallelism. In: Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming, ACM, New York, NY, USA, PPoPP \u201919, pp. 53\u201367. https:\/\/doi.org\/10.1145\/3293883.3295707, (2019)","DOI":"10.1145\/3293883.3295707"},{"issue":"2","key":"703_CR15","doi-asserted-by":"publisher","first-page":"75","DOI":"10.1145\/358549.358561","volume":"24","author":"CAR Hoare","year":"1981","unstructured":"Hoare, C.A.R.: The emperor\u2019s old clothes. Commun. ACM 24(2), 75\u201383 (1981). https:\/\/doi.org\/10.1145\/358549.358561","journal-title":"Commun. ACM"},{"issue":"10","key":"703_CR16","doi-asserted-by":"publisher","first-page":"141","DOI":"10.1145\/2714064.2660244","volume":"49","author":"E Holk","year":"2014","unstructured":"Holk, E., Newton, R., Siek, J., Lumsdaine, A.: Region-based memory management for GPU programming languages: enabling rich data structures on a spartan host. SIGPLAN Not. 49(10), 141\u2013155 (2014). https:\/\/doi.org\/10.1145\/2714064.2660244","journal-title":"SIGPLAN Not."},{"key":"703_CR17","unstructured":"Hsu, AW.: A data parallel compiler hosted on the GPU. PhD Thesis, Indiana University (2019)"},{"key":"703_CR18","doi-asserted-by":"publisher","unstructured":"Price, J., McIntosh-Smith, S.: Oclgrind: an extensible opencl device simulator. In: Proceedings of the 3rd International Workshop on OpenCL, Association for Computing Machinery, New York, NY, USA, IWOCL \u201915. https:\/\/doi.org\/10.1145\/2791321.2791333 (2015)","DOI":"10.1145\/2791321.2791333"},{"key":"703_CR19","doi-asserted-by":"crossref","unstructured":"Steuwer, M., Remmelg, T., Dubach, C.: Lift: A functional data-parallel IR for high-performance GPU code generation. In: Proceedings of the 2017 International Symposium on Code Generation and Optimization, IEEE Press, CGO \u201917, pp. 74\u201385 (2017)","DOI":"10.1109\/CGO.2017.7863730"},{"key":"703_CR20","unstructured":"Stratton, JA., Rodrigues, C., Sung, IJ., Obeid, N., Chang, LW., Anssari, N., Liu, GD., Hwu, WmW.: Parboil: A revised benchmark suite for scientific and commercial throughput computing. In: Center for Reliable and High-Performance Computing, vol. 127 (2012)"},{"issue":"2","key":"703_CR21","doi-asserted-by":"publisher","first-page":"215","DOI":"10.1017\/S0956796806006216","volume":"17","author":"H Xi","year":"2007","unstructured":"Xi, H.: Dependent ml an approach to practical programming with dependent types. J. Funct. Program. 17(2), 215\u2013286 (2007). https:\/\/doi.org\/10.1017\/S0956796806006216","journal-title":"J. Funct. Program."}],"container-title":["International Journal of Parallel Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-021-00703-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10766-021-00703-4\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-021-00703-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,10,21]],"date-time":"2021-10-21T22:08:00Z","timestamp":1634854080000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10766-021-00703-4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,3,25]]},"references-count":21,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2021,12]]}},"alternative-id":["703"],"URL":"https:\/\/doi.org\/10.1007\/s10766-021-00703-4","relation":{},"ISSN":["0885-7458","1573-7640"],"issn-type":[{"type":"print","value":"0885-7458"},{"type":"electronic","value":"1573-7640"}],"subject":[],"published":{"date-parts":[[2021,3,25]]},"assertion":[{"value":"27 October 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"2 March 2021","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"25 March 2021","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}