{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,8]],"date-time":"2025-10-08T16:14:43Z","timestamp":1759940083305,"version":"3.40.3"},"publisher-location":"Cham","reference-count":17,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030715922"},{"type":"electronic","value":"9783030715939"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"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":[[2021]]},"DOI":"10.1007\/978-3-030-71593-9_16","type":"book-chapter","created":{"date-parts":[[2021,3,13]],"date-time":"2021-03-13T20:02:27Z","timestamp":1615665747000},"page":"197-208","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Implementation and Evaluation of CUDA-Unified Memory in Numba"],"prefix":"10.1007","author":[{"given":"Lena","family":"Oden","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tarek","family":"Saidi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2021,3,14]]},"reference":[{"unstructured":"Anaconda, I., et al.: Numba user manual: overview. http:\/\/numba.pydata.org\/numba-doc\/latest\/user\/overview.html","key":"16_CR1"},{"issue":"1","key":"16_CR2","first-page":"31","volume":"13","author":"X Cai","year":"2005","unstructured":"Cai, X., Langtangen, H.P., Moe, H.: On the performance of the Python programming language for serial and parallel scientific computations. Sci. Program. 13(1), 31\u201356 (2005)","journal-title":"Sci. Program."},{"unstructured":"NVIDIA cooperation: CUDA C programming guide. https:\/\/docs.nvidia.com\/cuda\/archive\/9.1\/pdf\/CUDA_C_Programming_Guide.pdf","key":"16_CR3"},{"unstructured":"NVIDIA cooperation: NVVM IR specification 1.4: reference guide. https:\/\/docs.nvidia.com\/pdf\/NVVM_IR_Specification.pdf","key":"16_CR4"},{"issue":"6","key":"16_CR5","doi-asserted-by":"publisher","first-page":"381","DOI":"10.1145\/358669.358692","volume":"24","author":"MA Fischler","year":"1981","unstructured":"Fischler, M.A., Bolles, R.C.: Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM 24(6), 381\u2013395 (1981)","journal-title":"Commun. ACM"},{"doi-asserted-by":"crossref","unstructured":"G\u00f3mez-Luna, J., et al.: Chai: collaborative heterogeneous applications for integrated-architectures. In: 2017 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 43\u201354. IEEE (2017)","key":"16_CR6","DOI":"10.1109\/ISPASS.2017.7975269"},{"unstructured":"Harris, M.: Unified memory for CUDA beginners. https:\/\/devblogs.nvidia.com\/unified-memory-cuda-beginners\/","key":"16_CR7"},{"issue":"11","key":"16_CR8","doi-asserted-by":"publisher","first-page":"7625","DOI":"10.1007\/s11227-019-02966-8","volume":"75","author":"M Knap","year":"2019","unstructured":"Knap, M., Czarnul, P.: Performance evaluation of unified memory with prefetching and oversubscription for selected parallel CUDA applications on NVIDIA Pascal and Volta GPUs. J. Supercomput. 75(11), 7625\u20137645 (2019). https:\/\/doi.org\/10.1007\/s11227-019-02966-8","journal-title":"J. Supercomput."},{"doi-asserted-by":"crossref","unstructured":"Lam, S.K., Pitrou, A., Seibert, S.: Numba: a LLVM-based python JIT compiler. In: Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, p. 7. ACM (2015)","key":"16_CR9","DOI":"10.1145\/2833157.2833162"},{"doi-asserted-by":"crossref","unstructured":"Landaverde, R., Zhang, T., Coskun, A.K., Herbordt, M.: An investigation of unified memory access performance in CUDA. In: 2014 IEEE High Performance Extreme Computing Conference (HPEC), pp. 1\u20136. IEEE (2014)","key":"16_CR10","DOI":"10.1109\/HPEC.2014.7040981"},{"doi-asserted-by":"crossref","unstructured":"Li, W., Jin, G., Cui, X., See, S.: An evaluation of unified memory technology on NVIDIA GPUs. In: 2015 15th IEEE\/ACM International Symposium on Cluster, Cloud and Grid Computing, pp. 1092\u20131098. IEEE (2015)","key":"16_CR11","DOI":"10.1109\/CCGrid.2015.105"},{"issue":"4","key":"16_CR12","doi-asserted-by":"publisher","first-page":"1449","DOI":"10.1007\/s11227-017-2213-5","volume":"74","author":"A Marowka","year":"2017","unstructured":"Marowka, A.: Python accelerators for high-performance computing. J. Supercomput. 74(4), 1449\u20131460 (2017). https:\/\/doi.org\/10.1007\/s11227-017-2213-5","journal-title":"J. Supercomput."},{"doi-asserted-by":"crossref","unstructured":"Oden, L.: Lessons learned from comparing C-CUDA and Python-Numba for GPU-computing. In: 2020 28th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 216\u2013223 (2020)","key":"16_CR13","DOI":"10.1109\/PDP50117.2020.00041"},{"issue":"3","key":"16_CR14","doi-asserted-by":"publisher","first-page":"23","DOI":"10.1109\/2.660187","volume":"31","author":"JK Ousterhout","year":"1998","unstructured":"Ousterhout, J.K.: Scripting: higher level programming for the 21st century. Computer 31(3), 23\u201330 (1998)","journal-title":"Computer"},{"key":"16_CR15","doi-asserted-by":"publisher","first-page":"136","DOI":"10.1016\/j.jcp.2018.01.039","volume":"361","author":"V Pierro","year":"2018","unstructured":"Pierro, V., Troiano, L., Mejuto, E., Filatrella, G.: Stochastic first passage time accelerated with CUDA. J. Comput. Phys. 361, 136\u2013149 (2018)","journal-title":"J. Comput. Phys."},{"issue":"1","key":"16_CR16","doi-asserted-by":"publisher","first-page":"44","DOI":"10.1145\/1117389.1117403","volume":"4","author":"B Smaalders","year":"2006","unstructured":"Smaalders, B.: Performance anti-patterns. Queue 4(1), 44\u201350 (2006)","journal-title":"Queue"},{"unstructured":"Van Rossum, G., Drake Jr, F.L.: Python\/C API reference manual. Python Software Foundation (2002)","key":"16_CR17"}],"container-title":["Lecture Notes in Computer Science","Euro-Par 2020: Parallel Processing Workshops"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-71593-9_16","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,12]],"date-time":"2025-03-12T23:03:06Z","timestamp":1741820586000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-71593-9_16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030715922","9783030715939"],"references-count":17,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-71593-9_16","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"14 March 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"Euro-Par","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Conference on Parallel Processing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Warsaw","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Poland","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24 August 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"28 August 2020","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"europar2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/2020.euro-par.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"158","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"39","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"25% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2.5","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"The conference was held virtually due to the coronavirus pandemic.","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}