{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,13]],"date-time":"2026-02-13T21:39:07Z","timestamp":1771018747500,"version":"3.50.1"},"reference-count":27,"publisher":"SAGE Publications","issue":"2","license":[{"start":{"date-parts":[[2016,6,15]],"date-time":"2016-06-15T00:00:00Z","timestamp":1465948800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2018,3]]},"abstract":"<jats:p> Floating-point computation is ubiquitous in high-performance scientific computing, but rounding error can compromise the results of extended calculations, especially at large scales. In this paper, we present new techniques that use binary instrumentation and modification to do fine-grained floating-point precision analysis, simulating any level of precision less than or equal to the precision of the original program. These techniques have an average of 40\u201370% lower overhead and provide more fine-grained insights into a program\u2019s sensitivity than previous mixed-precision analyses. We also present a novel histogram-based visualization of a program\u2019s floating-point precision sensitivity, as well as an incremental search technique that allows developers to incrementally trade off analysis time for detail, including the ability to restart analyses from where they left off. We present results from several case studies and experiments that show the efficacy of these techniques. Using our tool and its novel visualization, application developers can more quickly determine for specific data sets whether their application could be run using fewer double precision variables, saving both time and memory space. <\/jats:p>","DOI":"10.1177\/1094342016652462","type":"journal-article","created":{"date-parts":[[2016,6,17]],"date-time":"2016-06-17T01:17:21Z","timestamp":1466126241000},"page":"231-245","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":25,"title":["Fine-grained floating-point precision analysis"],"prefix":"10.1177","volume":"32","author":[{"given":"Michael O","family":"Lam","sequence":"first","affiliation":[{"name":"Department of Computer Science, James Madison University, USA"}]},{"given":"Jeffrey K","family":"Hollingsworth","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Maryland, USA"}]}],"member":"179","published-online":{"date-parts":[[2016,6,15]]},"reference":[{"key":"bibr1-1094342016652462","first-page":"1","volume-title":"INTERVAL\u201994","author":"Andrade MVA","year":"1994"},{"key":"bibr2-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1007\/s00450-010-0124-2"},{"key":"bibr3-1094342016652462","doi-asserted-by":"crossref","unstructured":"Bailey D, Harris T, Saphir W, Wijngaart RVD, Woo A, Yarrow M (1995) The NAS Parallel Benchmarks 2.0. Technical Report 3, The Pennsylvania State University CiteSeer Archives. DOI:10.1177\/109434209100500306.","DOI":"10.1177\/109434209100500306"},{"key":"bibr4-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1177\/109434209100500306"},{"key":"bibr5-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1177\/109434200001400404"},{"key":"bibr6-1094342016652462","unstructured":"Buttari A, Dongarra J, Kurzak J, Langou J, Langou J, Luszczek P, (2006) Exploiting mixed precision floating point hardware in scientific computations. In Selected Papers from the 2006 International Advanced Research Workshop on High Performance Computing and Grids. Cetraro, Italy, pp. 19\u201336. Available at: http:\/\/dblp.uni-trier.de\/db\/conf\/hpc\/hpc2006.html"},{"key":"bibr7-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1145\/368325.368329"},{"key":"bibr8-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2010.05.002"},{"key":"bibr9-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1177\/1094342010391989"},{"key":"bibr10-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2010.61"},{"key":"bibr11-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1080\/17445760601122076"},{"key":"bibr12-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1145\/103162.103163"},{"key":"bibr13-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45927-8_15"},{"key":"bibr14-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1145\/364338.364384"},{"key":"bibr15-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008153532043"},{"key":"bibr16-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898718027"},{"key":"bibr17-1094342016652462","volume-title":"IEEE Standard for Floating-Point Arithmetic (IEEE 754-2008)","author":"IEEE","year":"2008"},{"key":"bibr18-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2012.26"},{"key":"bibr19-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1109\/12.709374"},{"key":"bibr20-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1145\/2464996.2465018"},{"key":"bibr21-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1145\/567806.567808"},{"key":"bibr22-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-74061-2_19"},{"key":"bibr23-1094342016652462","doi-asserted-by":"crossref","first-page":"101","DOI":"10.1145\/1480945.1480960","volume-title":"Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM\u201909)","author":"Martel M","year":"2009"},{"key":"bibr24-1094342016652462","unstructured":"Nicholaeff D, Davis N, Robey R (2013) Cell-based adaptive mesh refinement on hybrid architectures. Technical report, Los Alamos National Laboratory. Available at: http:\/\/www.github.com\/losalamos\/ExascaleDocs."},{"key":"bibr25-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898718072"},{"key":"bibr26-1094342016652462","doi-asserted-by":"publisher","DOI":"10.1145\/2503210.2503296"},{"key":"bibr27-1094342016652462","volume-title":"Rounding Errors in Algebraic Processes","author":"Wilkinson JH","year":"1964"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342016652462","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/full-xml\/10.1177\/1094342016652462","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342016652462","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,2]],"date-time":"2025-03-02T20:31:27Z","timestamp":1740947487000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342016652462"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,6,15]]},"references-count":27,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2018,3]]}},"alternative-id":["10.1177\/1094342016652462"],"URL":"https:\/\/doi.org\/10.1177\/1094342016652462","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"value":"1094-3420","type":"print"},{"value":"1741-2846","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,6,15]]}}}