{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:25:48Z","timestamp":1750220748050,"version":"3.41.0"},"reference-count":35,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2020,5,29]],"date-time":"2020-05-29T00:00:00Z","timestamp":1590710400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100004489","name":"Mitacs","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100004489","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2020,6,30]]},"abstract":"<jats:p>This work introduces Single Instruction Multi-Thread Express (SIMT-X), a general-purpose Central Processing Unit (CPU) microarchitecture that enables Graphics Processing Units (GPUs)-style SIMT execution across multiple threads of the same program for high throughput, while retaining the latency benefits of out-of-order execution, and the programming convenience of homogeneous multi-thread processors. SIMT-X leverages the existing Single Instruction Multiple Data (SIMD) back-end to provide CPU\/GPU-like processing on a single core with minimal overhead. We demonstrate that although SIMT-X invokes a restricted form of Out-of-Order (OoO), the microarchitecture successfully captures a majority of the benefits of aggressive OoO execution using at most two concurrent register mappings per architectural register, while addressing issues of partial dependencies and supporting a general-purpose Instruction Set Architecture (ISA).<\/jats:p>","DOI":"10.1145\/3392032","type":"journal-article","created":{"date-parts":[[2020,5,30]],"date-time":"2020-05-30T04:22:06Z","timestamp":1590812526000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["SIMT-X"],"prefix":"10.1145","volume":"17","author":[{"given":"Anita","family":"Tino","sequence":"first","affiliation":[{"name":"INRIA, France"}]},{"given":"Caroline","family":"Collange","sequence":"additional","affiliation":[{"name":"INRIA, France"}]},{"given":"Andr\u00e9","family":"Seznec","sequence":"additional","affiliation":[{"name":"INRIA, France"}]}],"member":"320","published-online":{"date-parts":[[2020,5,29]]},"reference":[{"volume-title":"Jaswinder Pal Singh, and Kai Li","year":"2008","author":"Bienia Christian","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306797"},{"volume-title":"Proceedings of the 49th Annual IEEE\/ACM International Symposium on Microarchitecture.","author":"ElTantawy Ahmed","key":"e_1_2_1_3_1"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2002.1003586"},{"volume-title":"Proceedings of the 30th Annual ACM\/IEEE International Symposium on Microarchitecture. IEEE Computer Society, 160--170","author":"Espasa Roger","key":"e_1_2_1_5_1"},{"key":"e_1_2_1_6_1","first-page":"7","article-title":"Dynamic warp formation: Efficient MIMD control flow on SIMD graphics hardware","volume":"6","author":"Fung Wilson W. L.","year":"2009","journal-title":"ACM Transactions on Architecture and Code Optimization (TACO)"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3038228.3038237"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.1999.744331"},{"volume-title":"Intel 64 and IA-32 Architectures Optimization Reference Manual","author":"Intel Corporation","key":"e_1_2_1_9_1"},{"volume-title":"DITVA: Dynamic inter-thread vectorization architecture. J. Parallel and Distrib. Comput.","year":"2017","author":"Kalathingal S.","key":"e_1_2_1_10_1"},{"volume-title":"Whole-function vectorization","author":"Karrenberg Ralf","key":"e_1_2_1_11_1","doi-asserted-by":"crossref","DOI":"10.1109\/CGO.2011.5764682"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3123939.3136952"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2014.48"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669172"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2008.31"},{"volume-title":"Proceedings of the 2010 43rd Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO). IEEE, 337--348","author":"Long Guoping","key":"e_1_2_1_16_1"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064978.1065034"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451143"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2014.43"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2014.03.006"},{"volume-title":"Vetter","year":"2015","author":"Mittal Sparsh","key":"e_1_2_1_21_1"},{"volume-title":"Dally","year":"2010","author":"Nickolls John","key":"e_1_2_1_22_1"},{"key":"e_1_2_1_23_1","unstructured":"NVIDIA2017. NVIDIA Tesla V100 GPU Architecture Whitepaper. NVIDIA.  NVIDIA2017. NVIDIA Tesla V100 GPU Architecture Whitepaper. NVIDIA."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2002.1003585"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2005.154"},{"volume-title":"Mark","year":"2012","author":"Pharr Matt","key":"e_1_2_1_26_1"},{"volume-title":"SYRANT: SYmmetric resource allocation on not-taken and taken paths. ACM Trans. Archit. Code Optim. (TACO)\u2014HIPEAC Papers 8, 4","year":"2012","author":"Pr\u00e9millieu Nathana\u00ebl","key":"e_1_2_1_27_1"},{"volume-title":"Efficient out-of-order execution of guarded ISAs. ACM Trans. Archit. Code Optimization 11 (12","year":"2014","author":"Pr\u00e9millieu Nathanael","key":"e_1_2_1_28_1"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2010.2062545"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2155620.2155635"},{"volume-title":"Wenisch","year":"2016","author":"Sleiman Faissal M.","key":"e_1_2_1_31_1"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2017.35"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/307338.300981"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2001.903248"},{"volume-title":"Proceedings of the 8th Workshop on Duplicating, Deconstructing, and Debunking.","author":"Wong Henry","key":"e_1_2_1_35_1"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3392032","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3392032","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:38:48Z","timestamp":1750199928000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3392032"}},"subtitle":["Extending Single-Instruction Multi-Threading to Out-of-Order Cores"],"short-title":[],"issued":{"date-parts":[[2020,5,29]]},"references-count":35,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,6,30]]}},"alternative-id":["10.1145\/3392032"],"URL":"https:\/\/doi.org\/10.1145\/3392032","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2020,5,29]]},"assertion":[{"value":"2019-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-05-29","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}