How can you make Fortran code parallel without isolating the pro@ammerfrom learnim to understand ... more How can you make Fortran code parallel without isolating the pro@ammerfrom learnim to understand and exploit parallelism effectively? With an intenwtive toolkit that automates paml/elization as it educates.
... sin~le-user operatin£ system for the PDP-11145 minicomputer. Concurrent Pascal has several ma... more ... sin~le-user operatin£ system for the PDP-11145 minicomputer. Concurrent Pascal has several major limitations for implementinE microcomputer systems: (I) Concurrent Pascal restricts prop.rams to a fixed number of processes, which are statically declared at compile-time. ...
The design and implementation of a well-defined set of extensions to the UCSn Pascal System which... more The design and implementation of a well-defined set of extensions to the UCSn Pascal System which support concurrent pro~;rammin~; is descril~ed. The extensions provide for dynamic process creation and interprocess communication usin~ messages. The extensions are designed to he consistent with the UCSF) Pascal System philosophy of providinp; a compact, portable environment for microcomputer software development. The concurrent pro~ramminp; capability extends the range of applications of the UCSD Pascal System to distributed systems, real-time process control, and simulation of discrete processes.
Crustal and mantle deformation are two closely coupled dynamical systems, usually solved in isola... more Crustal and mantle deformation are two closely coupled dynamical systems, usually solved in isolation. To numerically solve this problem, it is desirable to have both the crust and mantle as active components of the dynamics. However, materials composing the crust and mantle respond to loading differently and two different constitutive relations are necessary to describe the rheology of this system. Deformations also occur over a wide range of length scales: from a few 100 m for fault zones to well over 104 km for the largest scales involved in mantle convection. As a result, the numerical cost for a single model to resolve all of these spatial features while also incorporating distinct material types is prohibitive. Coupling two distinct modeling codes within a computational framework is a natural avenue to tackle the multi-material and multi-scale dynamics associated with the crust-mantle system. Using GeoFramework (http://geoframework.org), an extension of the Pyre, Python-based modeling framework, the SNAC and CitcomS codes are dynamically coupled. CitcomS has been used in variety of studies of mantle convection; this finite element package has been entirely reengineered within the Pyre environment. SNAC is based on the FLAC algorithm and is well-suited to modeling crustal deformation because it can deal with linear elastic, Maxwell viscoelastic, or elastoplastic rheology with a Mohr-Coulomb criterion. Using the Pyre-coupled SNAC and CitcomS codes, we run 3D numerical experiments of the extension of lithosphere in the presence of a rising mantle plume within a regional spherical geometry. The full thickness of the crust is simulated with SNAC and mantle convection with CitcomS. In the far field, deformation is partly driven by prescribed velocities described by two diverging plates around a single Euler pole. This specific setting for the problem is intended to help understand the evolution of the Red Sea and Afar triple junction. We will show the dynamic outcome, including surface uplift, for different crustal rheologies, and mantle plumes during the formation of fault-bound grabens. Integrating observational dataset to constrain the models will be the next step.
Numerical simulation of the physics and dynamics of the entire earth system offers an outstanding... more Numerical simulation of the physics and dynamics of the entire earth system offers an outstanding opportunity for advancing earth system science and technology but represents a major challenge due to the range of scales and physical processes involved, as well as the magnitude of the software engineering effort required. However, new simulation and computer technologies are bringing this objective within
The Ada? programming language defines the semantics of interrupt handling as part of the tasking ... more The Ada? programming language defines the semantics of interrupt handling as part of the tasking mechanism, making it possible to construct implementation-independent interrupt handlers. However, for the Ada mechanism to be effective, an implementation must provide support not specified by the Ada standard, such as for initializing hardware interrupting devices, handling unexpected interrupts and optimizing for real-time performance constraints. This paper analyses some of the constraints that efficient interrupt support places on an implementation. It develops a model for the interaction between interrupt hardware and Ada tasks and describes optimizations for Ada interrupt handlers. Implementation issues, including task priorities and task termination for interrupt handlers, are discussed in detail.
Journal of Research and Practice in Information …, 2007
... between the quite diverse High Performance Computing (HPC) centres around Australia, one in e... more ... between the quite diverse High Performance Computing (HPC) centres around Australia, one in each state, CSIRO and the ANU. ... BANNON, D., CHHABRA, R., CODDINGTON, DC, CRAWFORD, C., FRANCIS, R., GALANG, G., JENKINS, G., ROSA, ML, McMAHON, S., RANKINE ...
As data sets in geophysics become larger and of greater relevance to other earth science discipli... more As data sets in geophysics become larger and of greater relevance to other earth science disciplines, and as earth science becomes more interdisciplinary in general, modeling tools are being driven in new directions. There is now a greater need to link modeling codes to one another, link modeling codes to multiple datasets, and to make modeling software available to non modeling specialists. Coupled with rapid progress in computer hardware (including the computational speed afforded by massively parallel computers), progress in numerical algorithms, and the introduction of software frameworks, these lofty goals of merging software in geophysics are now possible. The GeoFramework project, a collaboration between computer scientists and geoscientists, is a response to these needs and opportunities. GeoFramework is based on and extends Pyre, a Python-based modeling framework, recently developed to link solid (Lagrangian) and fluid (Eulerian) models, as well as mesh generators, visualization packages, and databases, with one another for engineering applications. The utility and generality of Pyre as a general purpose framework in science is now being recognized. Besides its use in engineering and geophysics, it is also being used in particle physics and astronomy. Geology and geophysics impose their own unique requirements on software frameworks which are not generally available in existing frameworks and so there is a need for research in this area. One of the special requirements is the way Lagrangian and Eulerian codes will need to be linked in time and space within a plate tectonics context. GeoFramework has grown beyond its initial goal of linking a limited number of exiting codes together. The following codes are now being reengineered within the context of Pyre: Tecton, 3-D FE Visco-elastic code for lithospheric relaxation; CitComS, a code for spherical mantle convection; SpecFEM3D, a SEM code for global and regional seismic waves; eqsim, a FE code for dynamic earthquake rupture; SNAC, a developing 3-D coded based on the FLAC method for visco-elastoplastic deformation; SNARK, a 3-D FE-PIC method for viscoplastic deformation; and gPLATES an open source paleogeographic/plate tectonics modeling package. We will demonstrate how codes can be linked with themselves, such as a regional and global model of mantle convection and a visco-elastoplastic representation of the crust within viscous mantle flow. Finally, we will describe how http://GeoFramework.org has become a distribution site for a suite of modeling software in geophysics.
When developing computational models of phenomena, physicists are concerned with both the general... more When developing computational models of phenomena, physicists are concerned with both the general mathematical formulation of the problem, and the detailed physical parameters, and ideally can iteratively refine both over time. However given the difficulty of writing parallel programs for high-performance computer architectures, time constraints often force the use of a pre-existing code and its associated formulation. This initial time saving is often offset by difficulties once the limitations of a given numerical method are reached. In this talk we present StGermain & Snark, parallel solver frameworks with a modular design which allow quickly changing both the mathematical formulation (e.g. incorporating Lagrangian integration points into the Finite Element Method), and the details of the problem being simulated (constitutive relationships, material types etc).
... SM Quenette∗ BF Appelbe M. Gurnis LJ Hodkinson§ L. Moresi¶ PD Sunter 24 September 2004 Abst... more ... SM Quenette∗ BF Appelbe M. Gurnis LJ Hodkinson§ L. Moresi¶ PD Sunter 24 September 2004 Abstract ... Snac: Mike Gurnis, Michael Aivazis, Eun-seo Choi, Puruv Thouriddey, Eh Tan at the California Institute of Technology. Luc Lavier at the University of Texas. References ...
Each discipline of geophysics has traditionally focused on limited sets of closely related phenom... more Each discipline of geophysics has traditionally focused on limited sets of closely related phenomena using methodologies and data sets optimized for its specific area of interest. Why is that? Single discipline, single scale, foundation physics problems are relatively easy to code in Fortran, and hence they eventually become optimized for best performance whilst simultaneously becoming difficult to adapt to new
Mora, PR, Muhlhaus, HB, Gross, L., Xing, H., Abe, S., Weatherley, DK, Davies, M., Latham, SJ, Wan... more Mora, PR, Muhlhaus, HB, Gross, L., Xing, H., Abe, S., Weatherley, DK, Davies, M., Latham, SJ, Wang, Y., Saez, E., Wang, C. and Gerschwitz, JC (2004). The Australian Computational Earth Systems Simulator Major National Research Facility (ACcESS). In: , 4th ACES Workshop Abstracts. 4th APEC Cooperation for Earthquake Simulation Workshop, Beijing, China, (127-129). 9-14 July 2004.
Why is it that though the free software movement largely sprung from academic computer labs in th... more Why is it that though the free software movement largely sprung from academic computer labs in the 1980s, some fields of scientific research have been sluggish in developing quality open source community codes? We'll examine the causes of this, and present an overview of ...
Legacy release of UW1. Please consider migrating to Underworld version 2 If you use UW1, please c... more Legacy release of UW1. Please consider migrating to Underworld version 2 If you use UW1, please cite the following paper: Moresi, L., Moresi, L. N., S. Quenette, V. Lemiale, C. Mériaux, B. Appelbe, W. Appelbe, H. B. Muhlhaus, Mühlhaus (2007), Computational approaches to studying non-linear dynamics of the crust and mantle, Physics of the Earth and Planetary Interiors, 163(1-4), 69–82, doi:10.1016/j.pepi.2007.06.009. There is a DOI for the UW1 code itself: DOI: 10.5281/zenodo.1445812
This paper describes a new hardware approach to data and instruction prefetching for superscalar ... more This paper describes a new hardware approach to data and instruction prefetching for superscalar processors. The key innovation is instruction prefetching by predicting procedural control flow, and decoupling data and instruction prefetching. Simulation results show this method to recover 72% of unnecessarily lost cache cycles and to yield a great improvement (20-27%) over previous hardware prefetching techniques. The technique has a relatively small cost in hardware, and is intended to come between the processor and a level-1 cache. 1 Introduction Memory latency is swiftly becoming a serious bottleneck in modern superscalar systems. As the gap between processor speeds and memory access speeds widens, this bottleneck will become even more prominent. The traditional approach to alleviate this problem, hierarchical memories, works well but not optimally; simple hierarchical caches do not capitalize on the fact that the data and instructions which will soon be required are often predic...
Proceedings of the AdaTEC Conference on Ada - AdaTEC '82
Intermediate codes are in widespread use for implementing modular, portable compilers. Such inter... more Intermediate codes are in widespread use for implementing modular, portable compilers. Such intermediate codes can also provide a tool for language and compiler standardization if a formal model of the intermediate code is available. This paper describes an abstract machine model for defining the semantics of an intermediate code developed for the TeleSoft-Ada2 compiler. The model, referred to as A0, is an abstract machine whose operations are used to define the Ada intermediate code. A0 includes a logical memory organization and task representation designed for Ada, together with operations to support KAPSE functions such as rendevous, exception handling, and interrupt handling. This approach enables production quality intermediate code translators to be standardized and maintained independently from the Ada source to intermediate code compiler.
Author Institution: Centre for Molecular Simulation and School of Information Technology, Swinbur... more Author Institution: Centre for Molecular Simulation and School of Information Technology, Swinburne University of Technology; School of Chemistry, Physics and Earth Sciences, The Flinders University of South Australia; Division of Molecular Sciences, The Flinders University of South Australia; Division of Molecular Sciences, Victorian Partnership for Advanced Computing; Organic Chemistry Institute, University of Heidelberg
How can you make Fortran code parallel without isolating the pro@ammerfrom learnim to understand ... more How can you make Fortran code parallel without isolating the pro@ammerfrom learnim to understand and exploit parallelism effectively? With an intenwtive toolkit that automates paml/elization as it educates.
... sin~le-user operatin£ system for the PDP-11145 minicomputer. Concurrent Pascal has several ma... more ... sin~le-user operatin£ system for the PDP-11145 minicomputer. Concurrent Pascal has several major limitations for implementinE microcomputer systems: (I) Concurrent Pascal restricts prop.rams to a fixed number of processes, which are statically declared at compile-time. ...
The design and implementation of a well-defined set of extensions to the UCSn Pascal System which... more The design and implementation of a well-defined set of extensions to the UCSn Pascal System which support concurrent pro~;rammin~; is descril~ed. The extensions provide for dynamic process creation and interprocess communication usin~ messages. The extensions are designed to he consistent with the UCSF) Pascal System philosophy of providinp; a compact, portable environment for microcomputer software development. The concurrent pro~ramminp; capability extends the range of applications of the UCSD Pascal System to distributed systems, real-time process control, and simulation of discrete processes.
Crustal and mantle deformation are two closely coupled dynamical systems, usually solved in isola... more Crustal and mantle deformation are two closely coupled dynamical systems, usually solved in isolation. To numerically solve this problem, it is desirable to have both the crust and mantle as active components of the dynamics. However, materials composing the crust and mantle respond to loading differently and two different constitutive relations are necessary to describe the rheology of this system. Deformations also occur over a wide range of length scales: from a few 100 m for fault zones to well over 104 km for the largest scales involved in mantle convection. As a result, the numerical cost for a single model to resolve all of these spatial features while also incorporating distinct material types is prohibitive. Coupling two distinct modeling codes within a computational framework is a natural avenue to tackle the multi-material and multi-scale dynamics associated with the crust-mantle system. Using GeoFramework (http://geoframework.org), an extension of the Pyre, Python-based modeling framework, the SNAC and CitcomS codes are dynamically coupled. CitcomS has been used in variety of studies of mantle convection; this finite element package has been entirely reengineered within the Pyre environment. SNAC is based on the FLAC algorithm and is well-suited to modeling crustal deformation because it can deal with linear elastic, Maxwell viscoelastic, or elastoplastic rheology with a Mohr-Coulomb criterion. Using the Pyre-coupled SNAC and CitcomS codes, we run 3D numerical experiments of the extension of lithosphere in the presence of a rising mantle plume within a regional spherical geometry. The full thickness of the crust is simulated with SNAC and mantle convection with CitcomS. In the far field, deformation is partly driven by prescribed velocities described by two diverging plates around a single Euler pole. This specific setting for the problem is intended to help understand the evolution of the Red Sea and Afar triple junction. We will show the dynamic outcome, including surface uplift, for different crustal rheologies, and mantle plumes during the formation of fault-bound grabens. Integrating observational dataset to constrain the models will be the next step.
Numerical simulation of the physics and dynamics of the entire earth system offers an outstanding... more Numerical simulation of the physics and dynamics of the entire earth system offers an outstanding opportunity for advancing earth system science and technology but represents a major challenge due to the range of scales and physical processes involved, as well as the magnitude of the software engineering effort required. However, new simulation and computer technologies are bringing this objective within
The Ada? programming language defines the semantics of interrupt handling as part of the tasking ... more The Ada? programming language defines the semantics of interrupt handling as part of the tasking mechanism, making it possible to construct implementation-independent interrupt handlers. However, for the Ada mechanism to be effective, an implementation must provide support not specified by the Ada standard, such as for initializing hardware interrupting devices, handling unexpected interrupts and optimizing for real-time performance constraints. This paper analyses some of the constraints that efficient interrupt support places on an implementation. It develops a model for the interaction between interrupt hardware and Ada tasks and describes optimizations for Ada interrupt handlers. Implementation issues, including task priorities and task termination for interrupt handlers, are discussed in detail.
Journal of Research and Practice in Information …, 2007
... between the quite diverse High Performance Computing (HPC) centres around Australia, one in e... more ... between the quite diverse High Performance Computing (HPC) centres around Australia, one in each state, CSIRO and the ANU. ... BANNON, D., CHHABRA, R., CODDINGTON, DC, CRAWFORD, C., FRANCIS, R., GALANG, G., JENKINS, G., ROSA, ML, McMAHON, S., RANKINE ...
As data sets in geophysics become larger and of greater relevance to other earth science discipli... more As data sets in geophysics become larger and of greater relevance to other earth science disciplines, and as earth science becomes more interdisciplinary in general, modeling tools are being driven in new directions. There is now a greater need to link modeling codes to one another, link modeling codes to multiple datasets, and to make modeling software available to non modeling specialists. Coupled with rapid progress in computer hardware (including the computational speed afforded by massively parallel computers), progress in numerical algorithms, and the introduction of software frameworks, these lofty goals of merging software in geophysics are now possible. The GeoFramework project, a collaboration between computer scientists and geoscientists, is a response to these needs and opportunities. GeoFramework is based on and extends Pyre, a Python-based modeling framework, recently developed to link solid (Lagrangian) and fluid (Eulerian) models, as well as mesh generators, visualization packages, and databases, with one another for engineering applications. The utility and generality of Pyre as a general purpose framework in science is now being recognized. Besides its use in engineering and geophysics, it is also being used in particle physics and astronomy. Geology and geophysics impose their own unique requirements on software frameworks which are not generally available in existing frameworks and so there is a need for research in this area. One of the special requirements is the way Lagrangian and Eulerian codes will need to be linked in time and space within a plate tectonics context. GeoFramework has grown beyond its initial goal of linking a limited number of exiting codes together. The following codes are now being reengineered within the context of Pyre: Tecton, 3-D FE Visco-elastic code for lithospheric relaxation; CitComS, a code for spherical mantle convection; SpecFEM3D, a SEM code for global and regional seismic waves; eqsim, a FE code for dynamic earthquake rupture; SNAC, a developing 3-D coded based on the FLAC method for visco-elastoplastic deformation; SNARK, a 3-D FE-PIC method for viscoplastic deformation; and gPLATES an open source paleogeographic/plate tectonics modeling package. We will demonstrate how codes can be linked with themselves, such as a regional and global model of mantle convection and a visco-elastoplastic representation of the crust within viscous mantle flow. Finally, we will describe how http://GeoFramework.org has become a distribution site for a suite of modeling software in geophysics.
When developing computational models of phenomena, physicists are concerned with both the general... more When developing computational models of phenomena, physicists are concerned with both the general mathematical formulation of the problem, and the detailed physical parameters, and ideally can iteratively refine both over time. However given the difficulty of writing parallel programs for high-performance computer architectures, time constraints often force the use of a pre-existing code and its associated formulation. This initial time saving is often offset by difficulties once the limitations of a given numerical method are reached. In this talk we present StGermain & Snark, parallel solver frameworks with a modular design which allow quickly changing both the mathematical formulation (e.g. incorporating Lagrangian integration points into the Finite Element Method), and the details of the problem being simulated (constitutive relationships, material types etc).
... SM Quenette∗ BF Appelbe M. Gurnis LJ Hodkinson§ L. Moresi¶ PD Sunter 24 September 2004 Abst... more ... SM Quenette∗ BF Appelbe M. Gurnis LJ Hodkinson§ L. Moresi¶ PD Sunter 24 September 2004 Abstract ... Snac: Mike Gurnis, Michael Aivazis, Eun-seo Choi, Puruv Thouriddey, Eh Tan at the California Institute of Technology. Luc Lavier at the University of Texas. References ...
Each discipline of geophysics has traditionally focused on limited sets of closely related phenom... more Each discipline of geophysics has traditionally focused on limited sets of closely related phenomena using methodologies and data sets optimized for its specific area of interest. Why is that? Single discipline, single scale, foundation physics problems are relatively easy to code in Fortran, and hence they eventually become optimized for best performance whilst simultaneously becoming difficult to adapt to new
Mora, PR, Muhlhaus, HB, Gross, L., Xing, H., Abe, S., Weatherley, DK, Davies, M., Latham, SJ, Wan... more Mora, PR, Muhlhaus, HB, Gross, L., Xing, H., Abe, S., Weatherley, DK, Davies, M., Latham, SJ, Wang, Y., Saez, E., Wang, C. and Gerschwitz, JC (2004). The Australian Computational Earth Systems Simulator Major National Research Facility (ACcESS). In: , 4th ACES Workshop Abstracts. 4th APEC Cooperation for Earthquake Simulation Workshop, Beijing, China, (127-129). 9-14 July 2004.
Why is it that though the free software movement largely sprung from academic computer labs in th... more Why is it that though the free software movement largely sprung from academic computer labs in the 1980s, some fields of scientific research have been sluggish in developing quality open source community codes? We'll examine the causes of this, and present an overview of ...
Legacy release of UW1. Please consider migrating to Underworld version 2 If you use UW1, please c... more Legacy release of UW1. Please consider migrating to Underworld version 2 If you use UW1, please cite the following paper: Moresi, L., Moresi, L. N., S. Quenette, V. Lemiale, C. Mériaux, B. Appelbe, W. Appelbe, H. B. Muhlhaus, Mühlhaus (2007), Computational approaches to studying non-linear dynamics of the crust and mantle, Physics of the Earth and Planetary Interiors, 163(1-4), 69–82, doi:10.1016/j.pepi.2007.06.009. There is a DOI for the UW1 code itself: DOI: 10.5281/zenodo.1445812
This paper describes a new hardware approach to data and instruction prefetching for superscalar ... more This paper describes a new hardware approach to data and instruction prefetching for superscalar processors. The key innovation is instruction prefetching by predicting procedural control flow, and decoupling data and instruction prefetching. Simulation results show this method to recover 72% of unnecessarily lost cache cycles and to yield a great improvement (20-27%) over previous hardware prefetching techniques. The technique has a relatively small cost in hardware, and is intended to come between the processor and a level-1 cache. 1 Introduction Memory latency is swiftly becoming a serious bottleneck in modern superscalar systems. As the gap between processor speeds and memory access speeds widens, this bottleneck will become even more prominent. The traditional approach to alleviate this problem, hierarchical memories, works well but not optimally; simple hierarchical caches do not capitalize on the fact that the data and instructions which will soon be required are often predic...
Proceedings of the AdaTEC Conference on Ada - AdaTEC '82
Intermediate codes are in widespread use for implementing modular, portable compilers. Such inter... more Intermediate codes are in widespread use for implementing modular, portable compilers. Such intermediate codes can also provide a tool for language and compiler standardization if a formal model of the intermediate code is available. This paper describes an abstract machine model for defining the semantics of an intermediate code developed for the TeleSoft-Ada2 compiler. The model, referred to as A0, is an abstract machine whose operations are used to define the Ada intermediate code. A0 includes a logical memory organization and task representation designed for Ada, together with operations to support KAPSE functions such as rendevous, exception handling, and interrupt handling. This approach enables production quality intermediate code translators to be standardized and maintained independently from the Ada source to intermediate code compiler.
Author Institution: Centre for Molecular Simulation and School of Information Technology, Swinbur... more Author Institution: Centre for Molecular Simulation and School of Information Technology, Swinburne University of Technology; School of Chemistry, Physics and Earth Sciences, The Flinders University of South Australia; Division of Molecular Sciences, The Flinders University of South Australia; Division of Molecular Sciences, Victorian Partnership for Advanced Computing; Organic Chemistry Institute, University of Heidelberg
Uploads
Papers by Bill Appelbe