Parallel and Distributed Computing and Systems / 790: Software Engineering and Applications 2012
DOI: 10.2316/p.2012.790-043
|View full text |Cite
|
Sign up to set email alerts
|

Engineering Internal Domain-Specific Language Software for Lattice-based Simulations

Abstract: Modern high-level programming languages are making it practical to develop internal domain-specific languages (DSL) for even computationally intensive applications such as complex systems simulations. We present a prototype DSL to implement lattice-based operations for a whole family of simulation models on different lattices and with different neighbourhood localities. We use closure techniques to switch between lattice geometries and neighbourhoods at run-time. We show how a framework can be implemented in b… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
5
1

Relationship

3
3

Authors

Journals

citations
Cited by 7 publications
(5 citation statements)
references
References 22 publications
0
5
0
Order By: Relevance
“…In this work, we provide a proof of concept study towards a high performance modelling support mechanism making use of a combinatorial optimiser to reduce provided uncertain constructs to concrete ones. We implement this through the development of a high performance domainspecific language [19][20][21] using a very recent multi-stage programming language named Terra [9]. To the best of our knowledge, we are not aware of other authors currently using multi-stage programming for the run-time generation of candidate ABMs.…”
Section: Developmental Methodsmentioning
confidence: 99%
“…In this work, we provide a proof of concept study towards a high performance modelling support mechanism making use of a combinatorial optimiser to reduce provided uncertain constructs to concrete ones. We implement this through the development of a high performance domainspecific language [19][20][21] using a very recent multi-stage programming language named Terra [9]. To the best of our knowledge, we are not aware of other authors currently using multi-stage programming for the run-time generation of candidate ABMs.…”
Section: Developmental Methodsmentioning
confidence: 99%
“…A number of DSLs have been proposed to achieve heterogeneous execution for simulations. The DSL by Hawick et al [20] permits the generation of simulation programs for many problems based on partial differential equations. Similarly, Devito et al [12] propose a language to build portable mesh-based PDE solvers that can run on multiple platforms.…”
Section: Code Transformation and Generation For Heterogeneous Computingmentioning
confidence: 99%
“…We then use nested loops operating over some working variables to build up the shell of Moore neighbour indices in a list when requested for a particular centre cell k. This can be done in C/C++/Java/Groovy or any related programming language. Higher level languages like Groovy, Python, Ruby and so forth allow some extra layers of code using mechanisms such as closures [9] to make these operations more compact and elegant for the model user/programmer. However the key operations as encoded in Figure 4 must still be implemented in an appropriate imperative or object library.…”
Section: Software Approachesmentioning
confidence: 99%
“…Alternative lattice structures such as hexagonal, triangular or face-centred-cubic and so forth can also use these techniques [9], but we focus on simple square and hypercubic systems here where the only parameters are the dimension and the neighbourhood shell distance.…”
Section: Introductionmentioning
confidence: 99%