25,792 research outputs found
Distributed memory compiler methods for irregular problems: Data copy reuse and runtime partitioning
Outlined here are two methods which we believe will play an important role in any distributed memory compiler able to handle sparse and unstructured problems. We describe how to link runtime partitioners to distributed memory compilers. In our scheme, programmers can implicitly specify how data and loop iterations are to be distributed between processors. This insulates users from having to deal explicitly with potentially complex algorithms that carry out work and data partitioning. We also describe a viable mechanism for tracking and reusing copies of off-processor data. In many programs, several loops access the same off-processor memory locations. As long as it can be verified that the values assigned to off-processor memory locations remain unmodified, we show that we can effectively reuse stored off-processor data. We present experimental data from a 3-D unstructured Euler solver run on iPSC/860 to demonstrate the usefulness of our methods
Interactive Chemical Reactivity Exploration
Elucidating chemical reactivity in complex molecular assemblies of a few
hundred atoms is, despite the remarkable progress in quantum chemistry, still a
major challenge. Black-box search methods to find intermediates and
transition-state structures might fail in such situations because of the
high-dimensionality of the potential energy surface. Here, we propose the
concept of interactive chemical reactivity exploration to effectively introduce
the chemist's intuition into the search process. We employ a haptic pointer
device with force-feedback to allow the operator the direct manipulation of
structures in three dimensions along with simultaneous perception of the
quantum mechanical response upon structure modification as forces. We elaborate
on the details of how such an interactive exploration should proceed and which
technical difficulties need to be overcome. All reactivity-exploration concepts
developed for this purpose have been implemented in the Samson programming
environment.Comment: 36 pages, 14 figure
Distributed memory compiler design for sparse problems
A compiler and runtime support mechanism is described and demonstrated. The methods presented are capable of solving a wide range of sparse and unstructured problems in scientific computing. The compiler takes as input a FORTRAN 77 program enhanced with specifications for distributing data, and the compiler outputs a message passing program that runs on a distributed memory computer. The runtime support for this compiler is a library of primitives designed to efficiently support irregular patterns of distributed array accesses and irregular distributed array partitions. A variety of Intel iPSC/860 performance results obtained through the use of this compiler are presented
'Transformations towards sustainability':Emerging approaches, critical reflections, and a research agenda
Over the last two decades researchers have come to understand much about the global challenges confronting human society (e.g. climate change; biodiversity loss; water, energy and food insecurity; poverty and widening social inequality). However, the extent to which research and policy efforts are succeeding in steering human societies towards more sustainable and just futures is unclear. Attention is increasingly turning towards better understanding how to navigate processes of social and institutional transformation to bring about more desirable trajectories of change in various sectors of human society. A major knowledge gap concerns understanding how transformations towards sustainability are conceptualised, understood and analysed. Limited existing scholarship on this topic is fragmented, sometimes overly deterministic, and weak in its capacity to critically analyse transformation processes which are inherently political and contested. This paper aims to advance understanding of transformations towards sustainability, recognising it as both a normative and an analytical concept. We firstly review existing concepts of transformation in global environmental change literature, and the role of governance in relation to it. We then propose a framework for understanding and critically analysing transformations towards sustainability based on the existing ‘Earth System Governance’ framework (Biermann et al., 2009). We then outline a research agenda, and argue that transdisciplinary research approaches and a key role for early career researchers are vital for pursuing this agenda. Finally, we argue that critical reflexivity among global environmental change scholars, both individually and collectively, will be important for developing innovative research on transformations towards sustainability to meaningfully contribute to policy and action over time
A Domain-Specific Language and Editor for Parallel Particle Methods
Domain-specific languages (DSLs) are of increasing importance in scientific
high-performance computing to reduce development costs, raise the level of
abstraction and, thus, ease scientific programming. However, designing and
implementing DSLs is not an easy task, as it requires knowledge of the
application domain and experience in language engineering and compilers.
Consequently, many DSLs follow a weak approach using macros or text generators,
which lack many of the features that make a DSL a comfortable for programmers.
Some of these features---e.g., syntax highlighting, type inference, error
reporting, and code completion---are easily provided by language workbenches,
which combine language engineering techniques and tools in a common ecosystem.
In this paper, we present the Parallel Particle-Mesh Environment (PPME), a DSL
and development environment for numerical simulations based on particle methods
and hybrid particle-mesh methods. PPME uses the meta programming system (MPS),
a projectional language workbench. PPME is the successor of the Parallel
Particle-Mesh Language (PPML), a Fortran-based DSL that used conventional
implementation strategies. We analyze and compare both languages and
demonstrate how the programmer's experience can be improved using static
analyses and projectional editing. Furthermore, we present an explicit domain
model for particle abstractions and the first formal type system for particle
methods.Comment: Submitted to ACM Transactions on Mathematical Software on Dec. 25,
201
From Physics Model to Results: An Optimizing Framework for Cross-Architecture Code Generation
Starting from a high-level problem description in terms of partial
differential equations using abstract tensor notation, the Chemora framework
discretizes, optimizes, and generates complete high performance codes for a
wide range of compute architectures. Chemora extends the capabilities of
Cactus, facilitating the usage of large-scale CPU/GPU systems in an efficient
manner for complex applications, without low-level code tuning. Chemora
achieves parallelism through MPI and multi-threading, combining OpenMP and
CUDA. Optimizations include high-level code transformations, efficient loop
traversal strategies, dynamically selected data and instruction cache usage
strategies, and JIT compilation of GPU code tailored to the problem
characteristics. The discretization is based on higher-order finite differences
on multi-block domains. Chemora's capabilities are demonstrated by simulations
of black hole collisions. This problem provides an acid test of the framework,
as the Einstein equations contain hundreds of variables and thousands of terms.Comment: 18 pages, 4 figures, accepted for publication in Scientific
Programmin
- …