{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:36:39Z","timestamp":1750307799931,"version":"3.41.0"},"reference-count":18,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2008,7,1]],"date-time":"2008-07-01T00:00:00Z","timestamp":1214870400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100004085","name":"Ministry of Education, Science and Technology","doi-asserted-by":"publisher","award":["R0A-2008-000-20110-0"],"award-info":[{"award-number":["R0A-2008-000-20110-0"]}],"id":[{"id":"10.13039\/501100004085","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004084","name":"Korea Science and Engineering Foundation","doi-asserted-by":"publisher","award":["R17-2007-086-01001-0"],"award-info":[{"award-number":["R17-2007-086-01001-0"]}],"id":[{"id":"10.13039\/501100004084","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2008,7]]},"abstract":"<jats:p>As more processing elements are integrated in a single chip, embedded software design becomes more challenging: It becomes a parallel programming for nontrivial heterogeneous multiprocessors with diverse communication architectures, and design constraints such as hardware cost, power, and timeliness. In the current practice of parallel programming with MPI or OpenMP, the programmer should manually optimize the parallel code for each target architecture and for the design constraints. Thus, the design-space exploration of MPSoC (multiprocessor systems-on-chip) costs become prohibitively large as software development overhead increases drastically. To solve this problem, we develop a parallel-programming framework based on a novel programming model called common intermediate code (CIC). In a CIC, functional parallelism and data parallelism of application tasks are specified independently of the target architecture and design constraints. Then, the CIC translator translates the CIC into the final parallel code, considering the target architecture and design constraints to make the CIC retargetable. Experiments with preliminary examples, including the H.263 decoder, show that the proposed parallel-programming framework increases the design productivity of MPSoC software significantly.<\/jats:p>","DOI":"10.1145\/1367045.1367048","type":"journal-article","created":{"date-parts":[[2008,7,29]],"date-time":"2008-07-29T13:22:19Z","timestamp":1217337739000},"page":"1-18","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":45,"title":["A retargetable parallel-programming framework for MPSoC"],"prefix":"10.1145","volume":"13","author":[{"given":"Seongnam","family":"Kwon","sequence":"first","affiliation":[{"name":"Seoul National University, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yongjoo","family":"Kim","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Woo-Chul","family":"Jeun","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Soonhoi","family":"Ha","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yunheung","family":"Paek","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,7,25]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2006.54"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASPDAC.2007.358007"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2006.36"},{"volume-title":"Proceedings of the European Workshop on OpenMP (EWOMP).","author":"Hotta Y.","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_5_1","unstructured":"Jerraya A. and Wolf W. 2005. Multiprocessor Systems-on-Chip. Elsevier Morgan Kaufmann.  Jerraya A. and Wolf W. 2005. Multiprocessor Systems-on-Chip. Elsevier Morgan Kaufmann."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146909.1146981"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASPDAC.2007.357790"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.97901"},{"volume-title":"Proceedings of the Workshop on OpenMP Applications and Tools (WOMPAT), 54--68","author":"Liu F.","key":"e_1_2_1_9_1"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2006.15"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146909.1146980"},{"key":"e_1_2_1_12_1","first-page":"159","article-title":"MPI: A message-passing interface standard","volume":"8","author":"Message Passing Interface Forum","year":"1994","journal-title":"Int. J. Supercomput. Appl. High Perform. Comput."},{"key":"e_1_2_1_13_1","unstructured":"OpenMP Architecture Review Board. 1998. OpenMP C and C++ application program interface version 1.0. http:\/\/www.openmp.org.  OpenMP Architecture Review Board. 1998. OpenMP C and C++ application program interface version 1.0. http:\/\/www.openmp.org."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1016720.1016735"},{"key":"e_1_2_1_15_1","unstructured":"Peace. 2008. Official homepage. http:\/\/peace.snu.ac.kr.  Peace. 2008. Official homepage. http:\/\/peace.snu.ac.kr."},{"key":"e_1_2_1_16_1","unstructured":"Real View\u00ae SoC Designer. 2008. Official homepage. http:\/\/www.arm.com\/products\/DevTools\/MaxSim.html.  Real View\u00ae SoC Designer. 2008. Official homepage. http:\/\/www.arm.com\/products\/DevTools\/MaxSim.html."},{"volume-title":"Proceedings of the European Workshop on OpenMP (EWOMP).","author":"Sato M.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1016720.1016771"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1367045.1367048","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1367045.1367048","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:56:30Z","timestamp":1750254990000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1367045.1367048"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,7]]},"references-count":18,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2008,7]]}},"alternative-id":["10.1145\/1367045.1367048"],"URL":"https:\/\/doi.org\/10.1145\/1367045.1367048","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2008,7]]},"assertion":[{"value":"2007-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-07-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}