{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T23:39:57Z","timestamp":1742945997886,"version":"3.40.3"},"publisher-location":"Cham","reference-count":18,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030863586"},{"type":"electronic","value":"9783030863593"}],"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-86359-3_17","type":"book-chapter","created":{"date-parts":[[2021,9,6]],"date-time":"2021-09-06T19:03:28Z","timestamp":1630955008000},"page":"223-234","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Implicit Data Layout Optimization for Portable Parallel Programming in C++"],"prefix":"10.1007","author":[{"given":"Vladyslav","family":"Kucher","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sergei","family":"Gorlatch","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2021,9,7]]},"reference":[{"key":"17_CR1","unstructured":"The OpenACC Application Programming Interface (2013). openacc-standard.org, version 2.0a"},{"key":"17_CR2","unstructured":"Bolt C++ Template Library, version 1.2 (2014)"},{"key":"17_CR3","unstructured":"Programming Languages - C++ (Committee Draft) (2014). isocpp.org"},{"key":"17_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"193","DOI":"10.1007\/3-540-35767-X_13","volume-title":"Languages and Compilers for Parallel Computing","author":"P An","year":"2003","unstructured":"An, P., et al.: STAPL: an adaptive, generic parallel C++ library. In: Dietz, H.G. (ed.) LCPC 2001. LNCS, vol. 2624, pp. 193\u2013208. Springer, Heidelberg (2003). https:\/\/doi.org\/10.1007\/3-540-35767-X_13"},{"key":"17_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1007\/978-3-642-21487-5_9","volume-title":"OpenMP in the Petascale Era","author":"JC Beyer","year":"2011","unstructured":"Beyer, J.C., Stotzer, E.J., Hart, A., de Supinski, B.R.: OpenMP for accelerators. In: Chapman, B.M., Gropp, W.D., Kumaran, K., M\u00fcller, M.S. (eds.) IWOMP 2011. LNCS, vol. 6665, pp. 108\u2013121. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-21487-5_9"},{"key":"17_CR6","unstructured":"CUDA Vector addition example (2019). https:\/\/github.com\/olcf\/vector_addition_tutorials\/tree\/master\/CUDA"},{"key":"17_CR7","doi-asserted-by":"publisher","unstructured":"Haidl, M., Gorlatch, S.: PACXX: towards a unified programming model for programming accelerators using C++14. In: 2014 LLVM Compiler Infrastructure in HPC, pp. 1\u201311, November 2014. https:\/\/doi.org\/10.1109\/LLVM-HPC.2014.9","DOI":"10.1109\/LLVM-HPC.2014.9"},{"key":"17_CR8","unstructured":"Hoberock, J., Bell, N.: Thrust: A Parallel Template Library, version 1.6 (2014)"},{"key":"17_CR9","unstructured":"Khronos OpenCL Working Group: The OpenCL Specification, version 1.2 (2012)"},{"key":"17_CR10","unstructured":"Khronos SYCL Working Group: The SYCL Specification, version 2020 (2021)"},{"key":"17_CR11","doi-asserted-by":"crossref","unstructured":"Kucher, V., Fey, F., Gorlatch, S.: Unified cross-platform profiling of parallel C++ applications. In: 2018 IEEE\/ACM Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS), pp. 57\u201362 (2018)","DOI":"10.1109\/PMBS.2018.8641652"},{"key":"17_CR12","doi-asserted-by":"publisher","unstructured":"Kucher, V., Gorlatch, S.: Towards implicit memory management for portable parallel programming in C++. In: Proceedings of the 2020 ASSE, pp. 52\u201356. ACM, New York (2020). https:\/\/doi.org\/10.1145\/3399871.3399881","DOI":"10.1145\/3399871.3399881"},{"key":"17_CR13","doi-asserted-by":"publisher","unstructured":"Kucher, V., Hunloh, J., Gorlatch, S.: Toward performance-portable finite element methods on high-performance systems. In: 2019 SigTelCom, pp. 69\u201373, March 2019. https:\/\/doi.org\/10.1109\/SIGTELCOM.2019.8696146","DOI":"10.1109\/SIGTELCOM.2019.8696146"},{"key":"17_CR14","unstructured":"Lattner, C.: LLVM and Clang: next generation compiler technology. In: The BSD Conference, pp. 1\u20132 (2008)"},{"key":"17_CR15","doi-asserted-by":"publisher","unstructured":"Li, L., Kessler, C.: VectorPU: a generic and efficient data-container and component model for transparent data transfer on GPU-based heterogeneous systems. PARMA-DITAM 2017, pp. 7\u201312. ACM, New York (2017). https:\/\/doi.org\/10.1145\/3029580.3029582","DOI":"10.1145\/3029580.3029582"},{"key":"17_CR16","unstructured":"Microsoft: C++ AMP: Language and Programming Model, version 1.0 (2012)"},{"key":"17_CR17","unstructured":"Nvidia: CUDA C Programming Guide, version 6.5 (2014)"},{"key":"17_CR18","unstructured":"OpenCL Vector addition example (2019). https:\/\/github.com\/olcf\/vector_addition_tutorials\/tree\/master\/OpenCL"}],"container-title":["Lecture Notes in Computer Science","Parallel Computing Technologies"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-86359-3_17","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,9,6]],"date-time":"2021-09-06T19:13:32Z","timestamp":1630955612000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-86359-3_17"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030863586","9783030863593"],"references-count":18,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-86359-3_17","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":"7 September 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"PaCT","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Parallel Computing Technologies","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Kaliningrad","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Russia","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13 September 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18 September 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"16","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"pact2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/ssd.sscc.ru\/conference\/pact2021\/","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":"MyReview (by Philippe Rigaux)","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"62","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":"24","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":"12","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":"39% - 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":"2.8","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":"4.8","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 online due to the COVID-19 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)"}}]}}