{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,5,7]],"date-time":"2024-05-07T19:51:24Z","timestamp":1715111484737},"reference-count":26,"publisher":"Elsevier","isbn-type":[{"value":"9780128041895","type":"print"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"DOI":"10.1016\/b978-0-12-804189-5.00006-5","type":"book-chapter","created":{"date-parts":[[2017,6,29]],"date-time":"2017-06-29T20:15:23Z","timestamp":1498767323000},"page":"185-225","source":"Crossref","is-referenced-by-count":0,"title":["Code retargeting for CPU-based platforms"],"prefix":"10.1016","author":[{"given":"Jo\u00e3o M.P.","family":"Cardoso","sequence":"first","affiliation":[]},{"given":"Jos\u00e9 Gabriel F.","family":"Coutinho","sequence":"additional","affiliation":[]},{"given":"Pedro C.","family":"Diniz","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0010","unstructured":"BLAS (Basic Linear Algebra Subprograms). http:\/\/www.netlib.org\/blas\/ [Accessed January 2017]."},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0015","first-page":"1","article-title":"Automatically tuned linear algebra software","author":"Whaley","year":"1998"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0020","series-title":"DSLs in action","author":"Ghosh","year":"2010"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0025","unstructured":"3.10 Options that control optimization. https:\/\/gcc.gnu.org\/onlinedocs\/gcc\/Optimize-Options.html [Accessed May 2016]."},{"issue":"1","key":"10.1016\/B978-0-12-804189-5.00006-5_bb0030","doi-asserted-by":"crossref","DOI":"10.1145\/2883614","article-title":"Clustering-based selection for the exploration of compiler optimization sequences","volume":"13","author":"Martins","year":"2016","journal-title":"ACM Trans Archit Code Optim"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0035","first-page":"295","article-title":"Using machine learning to focus iterative optimization","author":"Agakov","year":"2006"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0040","first-page":"147","article-title":"Mitigating the compiler optimization phase-ordering problem using machine learning","author":"Kulkarni","year":"2012"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0045","first-page":"231","article-title":"Finding effective compilation sequences","author":"Almagor","year":"2004"},{"issue":"1","key":"10.1016\/B978-0-12-804189-5.00006-5_bb0050","doi-asserted-by":"crossref","first-page":"7","DOI":"10.1023\/A:1015729001611","article-title":"Adaptive optimizing compilers for the 21st century","volume":"23","author":"Cooper","year":"2002","journal-title":"J Supercomput"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0055","first-page":"75","article-title":"LLVM: a compilation framework for lifelong program analysis & transformation","author":"Lattner","year":"2004"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0060","unstructured":"Auto-vectorization in GCC. http:\/\/gcc.gnu.org\/projects\/tree-ssa\/vectorization.html [Accessed September 2016]."},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0065","unstructured":"A guide to auto-vectorization with Intel C++ compilers. https:\/\/software.intel.com\/en-us\/articles\/a-guide-to-auto-vectorization-with-intel-c-compilers [Accessed July 2016]."},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0070","unstructured":"Auto-vectorization in LLVM. http:\/\/llvm.org\/docs\/Vectorizers.html [Accessed October 2016]."},{"issue":"1","key":"10.1016\/B978-0-12-804189-5.00006-5_bb0075","doi-asserted-by":"crossref","first-page":"46","DOI":"10.1109\/99.660313","article-title":"OpenMP: an industry standard API for shared-memory programming","volume":"5","author":"Dagum","year":"1998","journal-title":"IEEE Comput Sci Eng"},{"issue":"9","key":"10.1016\/B978-0-12-804189-5.00006-5_bb0080","doi-asserted-by":"crossref","first-page":"1017","DOI":"10.1016\/j.jpdc.2004.03.021","article-title":"Communication lower bounds for distributed-memory matrix multiplication","volume":"64","author":"Irony","year":"2004","journal-title":"J Parallel Distrib Comput"},{"issue":"4","key":"10.1016\/B978-0-12-804189-5.00006-5_bb0085","doi-asserted-by":"crossref","first-page":"491","DOI":"10.1145\/29873.29875","article-title":"Automatic translation of FORTRAN programs to vector form","volume":"9","author":"Allen","year":"1987","journal-title":"ACM Trans Program Lang Syst"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0090","first-page":"82","article-title":"Vectorization for SIMD architectures with alignment constraints","author":"Eichenberger","year":"2014"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0095","first-page":"145","article-title":"Exploiting superword level parallelism with multimedia instruction sets","author":"Larsen","year":"2000"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0100","first-page":"2","article-title":"Outer-loop vectorization: revisited for short SIMD architectures","author":"Nuzman","year":"2008"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0105","series-title":"Scientific and engineering computation","article-title":"Using OpenMP: portable shared memory parallel programming","author":"Chapman","year":"2007"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0110","unstructured":"The OpenMP API specification for parallel programming. http:\/\/www.openmp.org\/ [Accessed June 2016]."},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0115","series-title":"Parallel programming with MPI","author":"Pacheco","year":"1996"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0120","series-title":"Using MPI: portable parallel programming with the message-passing interface","author":"Gropp","year":"2014"},{"issue":"3","key":"10.1016\/B978-0-12-804189-5.00006-5_bb0125","doi-asserted-by":"crossref","DOI":"10.1007\/s10766-010-0161-2","article-title":"Milepost GCC: machine learning enabled self-tuning compiler","volume":"39","author":"Fursin","year":"2011","journal-title":"Int J Parallel Prog"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0130","series-title":"Proceedings of the ACM Transactions on Architecture and Code Optimization (TACO)","article-title":"Finding good optimization sequences covering program space","volume":"vol. 9","author":"Purini","year":"2013"},{"key":"10.1016\/B978-0-12-804189-5.00006-5_bb0135","series-title":"ACM Trans. Archit. Code Optim","article-title":"COBAYN: compiler autotuning framework using Bayesian networks","volume":"vol. 13","author":"Ashouri","year":"2016"}],"container-title":["Embedded Computing for High Performance"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:B9780128041895000065?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:B9780128041895000065?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2018,8,31]],"date-time":"2018-08-31T07:00:26Z","timestamp":1535698826000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/B9780128041895000065"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9780128041895"],"references-count":26,"URL":"https:\/\/doi.org\/10.1016\/b978-0-12-804189-5.00006-5","relation":{},"subject":[],"published":{"date-parts":[[2017]]}}}