For decades, computer scientists have sought guidance on how to evolve architectures, languages, and programming models in order to improve application performance, efficiency, and productivity. Unfortunately, without overarching advice about future directions in these areas, individual guidance is inferred from the existing software/hardware ecosystem, and each discipline often conducts their research independently assuming all other technologies remain fixed. In today's rapidly evolving world of on-chip parallelism, isolated and iterative improvements to performance may miss superior solutions in the same way gradient descent optimization techniques may get stuck in local minima. To combat this, we present TORCH: A Testbed for Optimization ResearCH. These computational reference kernels define the core problems of interest in scientific computing without mandating a specific language, algorithm, programming model, or implementation. To compliment the kernel (problem) definitions, we provide a set of algorithmically-expressed verification tests that can be used to verify a hardware/software co-designed solution produces an acceptable answer. Finally, to provide some illumination as to how researchers have implemented solutions to these problems in the past, we provide a set of reference implementations in C and MATLAB.
Recently, advances in processor architecture have become the driving force for new programming models in the computing industry, as ever newer multicore processor designs with increasing number of cores are introduced on schedules regimented by marketing demands. As a result, collaborative parallel (rather than simply concurrent) implementations of important applications, programming languages, models, and even algorithms have been forced to adapt to these architectures to exploit the available raw performance. We believe that this optimization regime is flawed. In this paper, we present an alternate approach that, rather than starting with an existing hardware/software solution laced with hidden assumptions, defines the computational problems of interest and invites architects, researchers and programmers to implement novel hardware/software co-designed solutions. Our work builds on the previous ideas of computational dwarfs, motifs, and parallel patterns by selecting a representative set of essential problems for which we provide: An algorithmic description; scalable problem definition; illustrative reference implementations; verification schemes. This testbed will enable comparative research in areas such as parallel programming models, languages, auto-tuning, and hardware/software codesign. For simplicity, we focus initially on the computational problems of interest to the scientific computing community but proclaim the methodology (and perhaps a subset of the problems) as applicable to other communities. We intend to broaden the coverage of this problem space through stronger community involvement.
From the Stone Age to the Silicon Age, humanity’s relationship with materials has framed our scientific and cultural evolution. Despite recent scientific advances that open the laboratory doors to a future of material experimentation, the building industry remains stuck in the Concrete Age. The next material age is likely to be a Timber Age, as engineered timber finally comes into its own as a structural material suitable for multi-storey buildings.The research and design methodology of our practice can be summarised as an essay in conflict and compromise; a continual infliction of self-imposed constraints that allows us to discover hitherto unimaginable paths through the available options. We achieve this by searching through a space of possibilities demarcated by the properties and performative logic of the material at hand. First, we create an abundant field of alternatives, then we often use evolutionary computations to find our way through this field towards a visionary and original design.All design involves conflicting objectives. The best schemes offer the best compromise between desires. This article discusses how evolutionary solvers can be used as a tool for material-based architectural optimisation of geometries and structures, and how we have used them in designs for the imminent Timber Age. As one potentially conflicting objective is weighed against another, we move closer and closer to a tradeoff: the fitness of cooperating, opposing or unconnected variables.A population of possible design responses is visualised as a ‘fitness landscape’. Inspired by the role of natural selection in biological evolution, we use evolutionary algorithms to perform a selection process in which the ‘most fit’ members of such a population survive, while the ‘least fit’ members are eliminated, with the selection process guiding the algorithm towards ever-better solutions. The resulting timber structures would have made Darwin proud.
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.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.