{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T01:00:10Z","timestamp":1740099610853,"version":"3.37.3"},"publisher-location":"Cham","reference-count":21,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030346263"},{"type":"electronic","value":"9783030346270"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-34627-0_9","type":"book-chapter","created":{"date-parts":[[2019,11,12]],"date-time":"2019-11-12T09:02:55Z","timestamp":1573549375000},"page":"112-119","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Compiler Optimizations for Parallel Programs"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7870-8963","authenticated-orcid":false,"given":"Johannes","family":"Doerfert","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7551-7122","authenticated-orcid":false,"given":"Hal","family":"Finkel","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,11,13]]},"reference":[{"key":"9_CR1","doi-asserted-by":"publisher","unstructured":"Agarwal, S., Barik, R., Sarkar, V., Shyamasundar, R.K.: May-happen-in-parallel analysis of X10 programs. In: Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2007, San Jose, California, USA, 14\u201317 March 2007, pp. 183\u2013193 (2007). \nhttps:\/\/doi.org\/10.1145\/1229428.1229471","DOI":"10.1145\/1229428.1229471"},{"key":"9_CR2","doi-asserted-by":"publisher","unstructured":"Barik, R., Sarkar, V.: Interprocedural load elimination for dynamic optimization of parallel programs. In: PACT 2009, Proceedings of the 18th International Conference on Parallel Architectures and Compilation Techniques, Raleigh, North Carolina, USA, 12\u201316 September 2009, pp. 41\u201352 (2009). \nhttps:\/\/doi.org\/10.1109\/PACT.2009.32","DOI":"10.1109\/PACT.2009.32"},{"key":"9_CR3","doi-asserted-by":"publisher","unstructured":"Barik, R., Zhao, J., Sarkar, V.: Interprocedural strength reduction of critical sections in explicitly-parallel programs. In: Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, Edinburgh, UK, 7\u201311 September 2013, pp. 29\u201340 (2013). \nhttps:\/\/doi.org\/10.1109\/PACT.2013.6618801","DOI":"10.1109\/PACT.2013.6618801"},{"key":"9_CR4","doi-asserted-by":"crossref","unstructured":"Bell, N., Hoberock, J.: Thrust: a productivity-oriented library for CUDA. In: GPU Computing Gems Jade Edition, pp. 359\u2013371. Elsevier (2011)","DOI":"10.1016\/B978-0-12-385963-1.00026-5"},{"key":"9_CR5","doi-asserted-by":"publisher","unstructured":"Che, S., et al.: Rodinia: a benchmark suite for heterogeneous computing. In: Proceedings of the 2009 IEEE International Symposium on Workload Characterization, IISWC 2009, Austin, TX, USA, 4\u20136 October 2009, pp. 44\u201354 (2009). \nhttps:\/\/doi.org\/10.1109\/IISWC.2009.5306797","DOI":"10.1109\/IISWC.2009.5306797"},{"issue":"1","key":"9_CR6","doi-asserted-by":"publisher","first-page":"46","DOI":"10.1109\/99.660313","volume":"5","author":"L Dagum","year":"1998","unstructured":"Dagum, L., Menon, R.: Openmp: an industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46\u201355 (1998)","journal-title":"IEEE Comput. Sci. Eng."},{"key":"9_CR7","doi-asserted-by":"publisher","first-page":"113","DOI":"10.1007\/978-3-319-98521-3_8","volume-title":"Evolving OpenMP for Evolving Architectures","author":"Johannes Doerfert","year":"2018","unstructured":"Doerfert, J., Finkel, H.: Compiler Optimizations for OpenMP. In: Proceedings of Evolving OpenMP for Evolving Architectures - 14th International Workshop on OpenMP, IWOMP 2018, Barcelona, Spain, 26\u201328 September 2018, pp. 113\u2013127 (2018). \nhttps:\/\/doi.org\/10.1007\/978-3-319-98521-3_8"},{"issue":"12","key":"9_CR8","doi-asserted-by":"publisher","first-page":"3202","DOI":"10.1016\/j.jpdc.2014.07.003","volume":"74","author":"HC Edwards","year":"2014","unstructured":"Edwards, H.C., Trott, C.R., Sunderland, D.: Kokkos: enabling manycore performance portability through polymorphic memory access patterns. J. Parallel Distrib. Comput. 74(12), 3202\u20133216 (2014)","journal-title":"J. Parallel Distrib. Comput."},{"key":"9_CR9","doi-asserted-by":"publisher","unstructured":"Grunwald, D., Srinivasan, H.: Data flow equations for explicitly parallel programs. In: Proceedings of the Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP), San Diego, California, USA, 19\u201322 May 1993, pp. 159\u2013168 (1993). \nhttps:\/\/doi.org\/10.1145\/155332.155349","DOI":"10.1145\/155332.155349"},{"key":"9_CR10","doi-asserted-by":"crossref","unstructured":"Hornung, R.D., Keasler, J.A.: The raja portability layer: overview and status. Technical report, Lawrence Livermore National Laboratory (LLNL), Livermore, CA, USA (2014)","DOI":"10.2172\/1169830"},{"key":"9_CR11","doi-asserted-by":"publisher","unstructured":"Jordan, H., Pellegrini, S., Thoman, P., Kofler, K., Fahringer, T.: INSPIRE: the insieme parallel intermediate representation. In: Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, Edinburgh, UK, 7\u201311 September 2013, pp. 7\u201317 (2013). \nhttps:\/\/doi.org\/10.1109\/PACT.2013.6618799","DOI":"10.1109\/PACT.2013.6618799"},{"key":"9_CR12","doi-asserted-by":"publisher","unstructured":"Khaldi, D., Jouvelot, P., Irigoin, F., Ancourt, C., Chapman, B.M.: LLVM parallel intermediate representation: design and evaluation using OpenSHMEM communications. In: Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, LLVM 2015, Austin, Texas, USA, 15 November 2015, pp. 2:1\u20132:8 (2015). \nhttps:\/\/doi.org\/10.1145\/2833157.2833158","DOI":"10.1145\/2833157.2833158"},{"key":"9_CR13","doi-asserted-by":"publisher","unstructured":"Lattner, C., Adve, V.S.: LLVM: a compilation framework for lifelong program analysis & transformation. In: 2nd IEEE\/ACM International Symposium on Code Generation and Optimization (CGO 2004), San Jose, CA, USA, 20\u201324 March 2004, pp. 75\u201388 (2004). \nhttps:\/\/doi.org\/10.1109\/CGO.2004.1281665","DOI":"10.1109\/CGO.2004.1281665"},{"key":"9_CR14","doi-asserted-by":"publisher","unstructured":"Moll, S., Doerfert, J., Hack, S.: Input space splitting for OpenCL. In: Proceedings of the 25th International Conference on Compiler Construction, CC 2016, Barcelona, Spain, 12\u201318 March 2016, pp. 251\u2013260 (2016). \nhttps:\/\/doi.org\/10.1145\/2892208.2892217","DOI":"10.1145\/2892208.2892217"},{"key":"9_CR15","unstructured":"Schardl, T.B., Moses, W.S., Leiserson, C.E.: Tapir: embedding fork-join parallelism into LLVM\u2019s intermediate representation. In: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Austin, TX, USA, 4\u20138 February 2017, pp. 249\u2013265 (2017). \nhttp:\/\/dl.acm.org\/citation.cfm?id=3018758"},{"key":"9_CR16","doi-asserted-by":"publisher","unstructured":"Stelle, G., Moses, W.S., Olivier, S.L., McCormick, P.: OpenMPIR: implementing OpenMP tasks with Tapir. In: Proceedings of the Fourth Workshop on the LLVM Compiler Infrastructure in HPC, LLVM-HPC@SC 2017, Denver, CO, USA, 13 November 2017, pp. 3:1\u20133:12 (2017). \nhttps:\/\/doi.org\/10.1145\/3148173.3148186","DOI":"10.1145\/3148173.3148186"},{"issue":"3","key":"9_CR17","doi-asserted-by":"publisher","first-page":"66","DOI":"10.1109\/MCSE.2010.69","volume":"12","author":"JE Stone","year":"2010","unstructured":"Stone, J.E., Gohara, D., Shi, G.: OpenCL: a parallel programming standard for heterogeneous computing systems. Comput. Sci. Eng. 12(3), 66\u201373 (2010). \nhttps:\/\/doi.org\/10.1109\/MCSE.2010.69","journal-title":"Comput. Sci. Eng."},{"issue":"5","key":"9_CR18","doi-asserted-by":"publisher","first-page":"588","DOI":"10.1093\/comjnl\/bxh109","volume":"48","author":"X Tian","year":"2005","unstructured":"Tian, X., Girkar, M., Bik, A.J.C., Saito, H.: Practical compiler techniques on efficient multithreaded code generation for OpenMP programs. Comput. J. 48(5), 588\u2013601 (2005). \nhttps:\/\/doi.org\/10.1093\/comjnl\/bxh109","journal-title":"Comput. J."},{"key":"9_CR19","doi-asserted-by":"publisher","unstructured":"Tian, X., Girkar, M., Shah, S., Armstrong, D., Su, E., Petersen, P.: Compiler and runtime support for running OpenMP programs on Pentium-and Itanium-architectures. In: Eighth International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2003), Nice, France, 22\u201322 April 2003, pp. 47\u201355 (2003). \nhttps:\/\/doi.org\/10.1109\/HIPS.2003.1196494","DOI":"10.1109\/HIPS.2003.1196494"},{"key":"9_CR20","doi-asserted-by":"publisher","unstructured":"Tian, X., et al.: LLVM framework and IR extensions for parallelization, SIMD vectorization and offloading. In: Third Workshop on the LLVM Compiler Infrastructure in HPC, LLVM-HPC@SC 2016, Salt Lake City, UT, USA, 14 November 2016, pp. 21\u201331 (2016). \nhttps:\/\/doi.org\/10.1109\/LLVM-HPC.2016.008","DOI":"10.1109\/LLVM-HPC.2016.008"},{"key":"9_CR21","doi-asserted-by":"publisher","unstructured":"Zhao, J., Sarkar, V.: Intermediate language extensions for parallelism. In: Conference on Systems, Programming, and Applications: Software for Humanity, SPLASH 2011, Proceedings of the Compilation of the Co-located Workshops, DSM 2011, TMC 2011, AGERE! 2011, AOOPES 2011, NEAT 2011, and VMIL 2011, Portland, OR, USA, 22\u201327 October 2011, pp. 329\u2013340 (2011). \nhttps:\/\/doi.org\/10.1145\/2095050.2095103","DOI":"10.1145\/2095050.2095103"}],"container-title":["Lecture Notes in Computer Science","Languages and Compilers for Parallel Computing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-34627-0_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,11,12]],"date-time":"2019-11-12T09:04:21Z","timestamp":1573549461000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-34627-0_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030346263","9783030346270"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-34627-0_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"13 November 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"LCPC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Workshop on Languages and Compilers for Parallel Computing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Salt Lake City, UT","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"9 October 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 October 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"31","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"lcpc2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.lcpcworkshop.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Confy","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"26","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":"14","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":"54% - 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","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","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":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}