Once recalled only for The Whig Interpretation of History (1931) and Christianity and History (1949), Sir Herbert Butterfield's contribution to western culture has undergone an astonishing revaluation over the past twenty years. What has been left out of this reappraisal is the man himself. Yet the force of Butterfield's writings is weakened without some knowledge of the man behind them: his temperament, contexts and personal torments. Previous authors have been unable to supply a rounded portrait for lack of available material, particularly a dearth of sources for the crucial period before the outbreak of war in 1939. Michael Bentley's original, startling 2011 biography draws on sources never seen before. They enable him to present a new Butterfield, one deeply troubled by self-doubt, driven by an urgent sexuality and plagued by an unending tension between history, science and God in a mind as hard and cynical as it was loving and charitable.
No Yes No Yes Create FLiT tests User Code Deterministic? Reproducibility and Performance Is the fastest repro sufficient? Done Library, Source, and Function Blame Debug Issue using standard tools Determinize Run FLiT Tests FLiT Bisect Done Figure 1: Multi-level workflow. Levels are (1) determine variability-inducing compilations, (2) analyze the space of reproducibility and performance, and (3) debug variability by identifying files and functions causing variability.
ABSTRACTSuccessful HPC software applications are long-lived. When ported across machines and their compilers, these applications often produce different numerical results, many of which are unacceptable. Such variability is also a concern while optimizing the code more aggressively to gain performance. Efficient tools that help locate the program units (files and functions) within which most of the variability occurs are badly needed, both to plan for code ports and to root-cause errors due to variability when they happen in the field. In this work, we offer an enhanced version of the open-source testing framework FLiT to serve these roles. Key new features of FLiT include a suite of bisection algorithms that help locate the root causes of variability. Another added feature allows an analysis of the tradeoffs between performance and the degree of variability. Our new contributions also include a collection of case studies. Results on the MFEM finite-element library include variability/performance tradeoffs, and the identification of a (hitherto unknown) abnormal level of result-variability even under mild compiler optimizations. Results from studying the Laghos proxy application include identifying a significantly divergent floating-point result-variability and successful root-causing down to the problematic function over as little as 14 program executions. Finally, in an evaluation of 4,376 controlled injections of floating-point perturbations on the LULESH proxy application, we showed that the FLiT framework has 100% precision and recall in discovering the file and function locations of the injections all within an average of only 15 program executions.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.