9 research outputs found
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
Recommended from our members
Deriving Equations from Sensor Data Using Dimensional Function Synthesis
We present a new method for deriving functions that model the
relationship between multiple signals in a physical system. The
method, which we call dimensional function synthesis,
applies to data streams where the dimensions of the signals (e.g.,
length, mass, etc.) are known. The method comprises two phases:
a compile-time synthesis phase and a subsequent calibration using
sensor data. We implement dimensional function synthesis and use the
implementation to demonstrate efficiently summarizing multi-modal
sensor data for two physical systems using 90 laboratory experiments
and 10,000 synthetic idealized measurements.
The results show that our technique can generate models in less
than 300\,ms on average across all the physical systems we evaluated.
This is a marked improvement when compared to an average of 16 seconds for training neural networks of comparable accuracy on the same computing platform. When calibrated with sensor data, our models outperform traditional regression and neural network models in inference accuracy in all the cases we evaluated. In addition, our models perform better in training latency (over 1096x improvement) and required
arithmetic operations in inference (over 34x improvement).
These significant gains are largely the result of exploiting
information on the physics of signals that has hitherto been ignored
The air shower simulation framework CORSIKA 8: Development and first applications to muon production
Tools to accurately simulate extensive air showers are a key asset for the understanding of ultra-high energy cosmic rays. In this thesis, the Monte Carlo air shower simulation framework CORSIKA 8 is presented. CORSIKA 8 constitutes a next-generation code that aims to combine new functionality with a high level of flexibility and modularity. Notable aspects include the ability to freely combine an arbitrary number of physical processes and to setup simulation environments consisting of several media, including custom atmospheric models. A special feature is the possibility to inspect the complete lineage of particles, which allows linking particles on ground with any of their preceding generations.
After describing the foundations of Monte Carlo shower simulations, I explain the architecture of CORSIKA 8 in depth. Focusing on the hadronic and muonic shower components, results obtained with CORSIKA 8 and other simulation codes are compared with each other.
Even when using the same hadronic interaction models, a number of differences are observed, in particular regarding low-energy interactions, which have a considerable impact on the lateral distribution of muons at kilometre-scale distances up to a factor of two and more.
Making use of the lineage technique, I study the phase space of hadronic interactions in order to quantify the importance for muon production and compare the results with the Heitler–Matthews toy model. At high energies (√s ≳ 500 GeV) particle production in the forward region is confirmed to be especially important, while the central region becomes relevant at low energies (√s ≲ 50 GeV) in particular for muons at large distances.
Additionally, I study the impact of modified hadronic interactions on air shower observables.
Modified hadron-air cross-sections mainly affect the longitudinal development, causing a larger shift of the maximum muon production depth than of the shower maximum. Artificially increased ρ 0 production, on the other hand, can greatly increase the number of muons with only small impact on other observables.
Finally, I also consider the possibility of large multiplicity boson production in the first interaction and study its phenomenology in air showers with a simple toy model.
Within the scope of this thesis, I developed the foundations of the CORSIKA 8 framework.
Based on the studies that have become possible with CORSIKA 8, I point out some new opportunities towards an improved understanding of muons in air showers
Recommended from our members
Deriving Equations from Sensor Data Using Dimensional Function Synthesis
We present a new method for deriving functions that model the relationship between multiple signals in a physical system. The method, which we call dimensional function synthesis, applies to data streams where the dimensions of the signals are known. The method comprises two phases: a compile-time synthesis phase and a subsequent calibration using sensor data.
We implement dimensional function synthesis and use the implementation to demonstrate efficiently summarizing multi-modal sensor data for two physical systems using 90 laboratory experiments and 10 000 synthetic idealized measurements. We evaluate the performance of the compile-time phase of dimensional function synthesis as well as the calibration phase overhead, inference latency, and accuracy of the models our method generates.
The results show that our technique can generate models in less than 300 ms on average across all the physical systems we evaluated. When calibrated with sensor data, our models outperform traditional regression
and neural network models in inference accuracy in all the cases we evaluated. In addition, our models perform better in training latency (over 8660× improvement) and required arithmetic operations in inference (over
34× improvement). These significant gains are largely the result of exploiting information on the physics of signals that has hitherto been ignored.This research is supported by an Alan Turing Institute award TU/B/000096 under EPSRC grant EP/N510129/1, by Royal Society grant RG170136, and by EPSRC grants EP/P001246/1 and EP/R022534/1
Dimensional Analysis of Robot Software without Developer Annotations
Robot software risks the hazard of dimensional inconsistencies. These inconsistencies occur when a program incorrectly manipulates values representing real-world quantities. Incorrect manipulation has real-world consequences that range in severity from benign to catastrophic. Previous approaches detect dimensional inconsistencies in programs but require extra developer effort and technical complications. The extra effort involves developers creating type annotations for every variable representing a real-world quantity that has physical units, and the technical complications include toolchain burdens like specialized compilers or type libraries.
To overcome the limitations of previous approaches, this thesis presents novel methods to detect dimensional inconsistencies without developer annotations. We start by empirically assessing the difficulty developers have in making type annotations. In a human study of 83 subjects, we find that developers are only 51% accurate and require more than 2 minutes per annotation. We further find that type suggestions have a significant impact on annotation accuracy. We find that when showing developers annotation suggestions, three suggestions are better than a single suggestion because they are as helpful when correct and less harmful when incorrect. Since developers struggle to make type annotations accurately, we present a novel method to infer physical unit types without developer annotations. This is novel because it is the first method to detect dimensional inconsistencies in ROS C++ without developer annotations, and this is important because robot software and ROS are increasingly used in real-world applications. Our method leverages a property of robotic middleware architecture that reuses standardized data structures, and we implement our method in an open-source tool, Phriky. We evaluate our method empirically on a corpus of 5.9 M lines of code and find that it detects real inconsistencies with an 87% TP rate. However, our method only assigns physical unit types to 25% of variables, leaving much of the annotation space unaddressed. To overcome these limitations, we extend our method to utilize uncertain evidence in identifiers using probabilistic reasoning. We implement our new probabilistic method in a tool Phys and find that it assigns units to 75% of variables while retaining a TP rate of 82%. We present the first open dataset of dimensional inconsistencies in open-source robotics code, to our knowledge. Lastly, we identify extensions to our work and next steps for software tool developers to build more powerful robot software development tools.
Advisers: Sebastian Elbaum and Carrick Detweile