{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:25:55Z","timestamp":1750307155622,"version":"3.41.0"},"reference-count":28,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2012,6,1]],"date-time":"2012-06-01T00:00:00Z","timestamp":1338508800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2012,6]]},"abstract":"<jats:p>Dual memory banks provide extra memory bandwidth to DSP applications and enable simultaneous access to two operands if the data is partitioned appropriately. Fully automated and compiler integrated approaches to data partitioning and memory bank assignment have, however, found little acceptance by DSP software developers. In this article we present a novel source-level approach that is more programmer friendly. Our scheme is based on soft graph coloring and highly adaptive heuristics generated by genetic programming. We have evaluated our scheme on an Analog Devices TigerSHARC TS-101 DSP and achieved speedups of up to 57% on 13 UTDSP benchmarks.<\/jats:p>","DOI":"10.1145\/2180887.2180897","type":"journal-article","created":{"date-parts":[[2012,6,11]],"date-time":"2012-06-11T13:03:21Z","timestamp":1339419801000},"page":"1-22","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Adaptive Source-Level Data Assignment to Dual Memory Banks"],"prefix":"10.1145","volume":"11S","author":[{"given":"Alastair","family":"Murray","sequence":"first","affiliation":[{"name":"University of Edinburgh"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bj\u00f6rn","family":"Franke","sequence":"additional","affiliation":[{"name":"University of Edinburgh"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,6]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"ACE. 1998. DSP-C an extension to ISO\/IEC IS 9899:1990. Tech. rep. ACE Associated Compiler Experts bv. ACE . 1998. DSP-C an extension to ISO\/IEC IS 9899:1990. Tech. rep. ACE Associated Compiler Experts bv."},{"key":"e_1_2_1_2_1","unstructured":"Beemster M. van Someren H. Wakker W. and Banks W. 2005. The Embedded C extension to C. http:\/\/www.ddj.com\/cpp\/184401988. Beemster M. van Someren H. Wakker W. and Banks W. 2005. The Embedded C extension to C. http:\/\/www.ddj.com\/cpp\/184401988."},{"key":"e_1_2_1_3_1","first-page":"9","article-title":"Software synthesis and code generation for signal processing systems","volume":"47","author":"Bhattacharyya S.","year":"2000","unstructured":"Bhattacharyya , S. , Leupers , R. , and Marwedel , P. 2000 . Software synthesis and code generation for signal processing systems . IEEE Trans. Circ. Syst. II: Anal. Dig. Signal Process. 47 , 9 . Bhattacharyya, S., Leupers, R., and Marwedel, P. 2000. Software synthesis and code generation for signal processing systems. IEEE Trans. Circ. Syst. II: Anal. Dig. Signal Process. 47, 9.","journal-title":"IEEE Trans. Circ. Syst. II: Anal. Dig. Signal Process."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2005.14"},{"volume-title":"Proceedings of the Symposium of the Los Alamos Computer Science Institute.","author":"Cooper K. D.","key":"e_1_2_1_5_1","unstructured":"Cooper , K. D. and Waterman , T . 2003. Investigating adaptive compilation using the MIPSpro compiler . In Proceedings of the Symposium of the Los Alamos Computer Science Institute. Cooper, K. D. and Waterman, T. 2003. Investigating adaptive compilation using the MIPSpro compiler. In Proceedings of the Symposium of the Los Alamos Computer Science Institute."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the International Conference on Genetic Algorithms and Their Applications (ICGA\u201985)","author":"Cramer N. L.","year":"1985","unstructured":"Cramer , N. L. 1985 . A representation for the adaptive generation of simple sequential programs . In Proceedings of the International Conference on Genetic Algorithms and Their Applications (ICGA\u201985) . 183--187. Cramer, N. L. 1985. A representation for the adaptive generation of simple sequential programs. In Proceedings of the International Conference on Genetic Algorithms and Their Applications (ICGA\u201985). 183--187."},{"key":"e_1_2_1_7_1","doi-asserted-by":"crossref","unstructured":"Falk H.\n     and \n      Verma M\n  . \n  2004\n  . Combined data partitioning and loop nest splitting for energy consumption minimization. In Software and Compilers for Embedded Systems Lecture Notes in Computer Science vol. \n  3199 Springer 137--151. Falk H. and Verma M. 2004. Combined data partitioning and loop nest splitting for energy consumption minimization. In Software and Compilers for Embedded Systems Lecture Notes in Computer Science vol. 3199 Springer 137--151.","DOI":"10.1007\/978-3-540-30113-4_11"},{"volume-title":"Proceedings of the International Symposium on Stochastic Algorithms (SAGA\u201901)","author":"Fitzpatrick S.","key":"e_1_2_1_8_1","unstructured":"Fitzpatrick , S. and Meertens , L . 2001. An experimental assessment of a stochastic, anytime, decentralized, soft colourer for sparse graphs . In Proceedings of the International Symposium on Stochastic Algorithms (SAGA\u201901) . 49--64. Fitzpatrick, S. and Meertens, L. 2001. An experimental assessment of a stochastic, anytime, decentralized, soft colourer for sparse graphs. In Proceedings of the International Symposium on Stochastic Algorithms (SAGA\u201901). 49--64."},{"volume-title":"Proceedings of the 34th IEEE Asilomar Conference on Signals, Systems, and Computers.","author":"Frederiksen A.","key":"e_1_2_1_9_1","unstructured":"Frederiksen , A. , Christiansen , R. , Bier , J. , and Koch , P . 2000. An evaluation of compiler-processor interaction for DSP applications . In Proceedings of the 34th IEEE Asilomar Conference on Signals, Systems, and Computers. Frederiksen, A., Christiansen, R., Bier, J., and Koch, P. 2000. An evaluation of compiler-processor interaction for DSP applications. In Proceedings of the 34th IEEE Asilomar Conference on Signals, Systems, and Computers."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/11596110_24"},{"volume-title":"Proceedings of the IEEE Workshop on Memory Performance Issues (WMPI\u201906)","author":"Gr\u00e9wal G.","key":"e_1_2_1_11_1","unstructured":"Gr\u00e9wal , G. , Coros , S. , Morton , A. , and Banerji , D . 2006. A multi-objective integer linear program for memory assignment in the DSP domain . In Proceedings of the IEEE Workshop on Memory Performance Issues (WMPI\u201906) . 21--28. Gr\u00e9wal, G., Coros, S., Morton, A., and Banerji, D. 2006. A multi-objective integer linear program for memory assignment in the DSP domain. In Proceedings of the IEEE Workshop on Memory Performance Issues (WMPI\u201906). 21--28."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/773365.773371"},{"key":"e_1_2_1_13_1","unstructured":"JTC1\/SC22\/WG14. 2004. Programming languages - C - extensions to support embedded processors. Tech. rep. ISO\/IEC. JTC1\/SC22\/WG14 . 2004. Programming languages - C - extensions to support embedded processors. Tech. rep. ISO\/IEC."},{"volume-title":"Proceedings of the International Workshop on Software and Compilers for Embedded Systems (SCOPES\u201903)","author":"Ko M.-Y.","key":"e_1_2_1_14_1","unstructured":"Ko , M.-Y. and Bhattacharyya , S. S . 2003. Data partioning for DSP software synthesis . In Proceedings of the International Workshop on Software and Compilers for Embedded Systems (SCOPES\u201903) . 344--358. Ko, M.-Y. and Bhattacharyya, S. S. 2003. Data partioning for DSP software synthesis. In Proceedings of the International Workshop on Software and Compilers for Embedded Systems (SCOPES\u201903). 344--358."},{"key":"e_1_2_1_15_1","volume-title":"Genetic Programming: On the Programming of Computers by Means of Natural Selection","author":"Koza J.","year":"1992","unstructured":"Koza , J. 1992 . Genetic Programming: On the Programming of Computers by Means of Natural Selection . The MIT Press . Koza, J. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. The MIT Press."},{"key":"e_1_2_1_16_1","unstructured":"Lee C. G. 1998. UTDSP benchmark suite. http:\/\/www.eecg.toronto.edu\/~corinna\/DSP\/infrastructure\/UTDSP.html. Lee C. G. 1998. UTDSP benchmark suite. http:\/\/www.eecg.toronto.edu\/~corinna\/DSP\/infrastructure\/UTDSP.html."},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the 2nd European DSP Education and Research Conference.","author":"Leupers R.","year":"1998","unstructured":"Leupers , R. 1998 . Novel code optimization techniques for DSPs . In Proceedings of the 2nd European DSP Education and Research Conference. Leupers, R. 1998. Novel code optimization techniques for DSPs. In Proceedings of the 2nd European DSP Education and Research Conference."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICASSP.2001.941118"},{"volume-title":"Proceedings of the Genetic and Evolutionary Computation Conference. 829--836","author":"Luke S.","key":"e_1_2_1_19_1","unstructured":"Luke , S. and Panait , L . 2002. Lexicographic parsimony pressure . In Proceedings of the Genetic and Evolutionary Computation Conference. 829--836 . Luke, S. and Panait, L. 2002. Lexicographic parsimony pressure. In Proceedings of the Genetic and Evolutionary Computation Conference. 829--836."},{"volume-title":"Proceedings of the 11th International Workshop on Software and Compilers for Embedded Systems (SCOPES\u201908)","author":"Murray A.","key":"e_1_2_1_20_1","unstructured":"Murray , A. and Franke , B . 2008. Fast source-level data assignment to dual memory banks . In Proceedings of the 11th International Workshop on Software and Compilers for Embedded Systems (SCOPES\u201908) . 43--52. Murray, A. and Franke, B. 2008. Fast source-level data assignment to dual memory banks. In Proceedings of the 11th International Workshop on Software and Compilers for Embedded Systems (SCOPES\u201908). 43--52."},{"volume-title":"Proceedings of the 3rd Workshop on Statistical and Machine Learning Approaches to Architectures and Compilation (SMART\u201909)","author":"Murray A.","key":"e_1_2_1_21_1","unstructured":"Murray , A. and Franke , B . 2009. Using genetic programming for source-level data assignment to dual memory banks . In Proceedings of the 3rd Workshop on Statistical and Machine Learning Approaches to Architectures and Compilation (SMART\u201909) . 75--89. Murray, A. and Franke, B. 2009. Using genetic programming for source-level data assignment to dual memory banks. In Proceedings of the 3rd Workshop on Statistical and Machine Learning Approaches to Architectures and Compilation (SMART\u201909). 75--89."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301645"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/237090.237193"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-39920-9_25"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781141"},{"volume-title":"Proceedings of the 6th European Conference on Genetic Programming.","author":"Stephenson M.","key":"e_1_2_1_26_1","unstructured":"Stephenson , M. , O\u2019Reilly , U.-M. , Martin , M. C. , and Amarasinghe , S . 2003b. Genetic programming applied to compiler heuristic optimization . In Proceedings of the 6th European Conference on Genetic Programming. Stephenson, M., O\u2019Reilly, U.-M., Martin, M. C., and Amarasinghe, S. 2003b. Genetic programming applied to compiler heuristic optimization. In Proceedings of the 6th European Conference on Genetic Programming."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/217474.217595"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/193209.193217"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2180887.2180897","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2180887.2180897","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:54:22Z","timestamp":1750240462000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2180887.2180897"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,6]]},"references-count":28,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2012,6]]}},"alternative-id":["10.1145\/2180887.2180897"],"URL":"https:\/\/doi.org\/10.1145\/2180887.2180897","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2012,6]]},"assertion":[{"value":"2009-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}