||Home > Research > PDE Generators
It is challenging to develop large-scale scientific applications for high-performance machines or to port existing scientific software to these machines. Problem solving environments (PSEs) can significantly simplify the development of software for scientific PDE-based scientific models by generating optimized code automatically from high-level model specifications and hardware descriptions.
Demo: the Ctadel code generation system applied to the HIRLAM weather forecast system.
See also PhD dissertation: Ctadel: a Generator of Efficient Numeral Codes.
See also: a spin-off from Ctadel programming fun with Monica.
PDE Code Generators and Optimizers for Scientific Applications
R. van Engelen, ATMOL: A Domain-Specific Language for Atmospheric Modeling, in the Journal of Computing and Information Technology, 2002, pages 289-304.
This paper describes the design and implementation of ATMOL: a domain-specific language for the formulation and implementation of atmospheric models. ATMOL provides a concise notation and adopts common notational conventions. ATMOLs expressiveness allows the formulation of high-level and low-level model details as language constructs for problem refinement and code synthesis. The atmospheric models specified in ATMOL are translated into efficient numerical codes with Ctadel, a tool for symbolic manipulation and code synthesis.
P. van der Mark, R. van Engelen, K. Gallivan, and W. Dewar, A Case Study for Automatic Code Generation on a Coupled Ocean-Atmosphere Model, in the proceedings of the 2002 International Conference on Computational Science, April 21-24, 2002, Amsterdam, the Netherlands.
Traditional design and implementation of large atmospheric models is a difficult, tedious and erroneous task. This paper shows the abilities of Ctadel-based code generation for a coupled ocean-atmosphere model, in which we have to deal with multi-resolution domains and different time-steps. We describe a new concept in compiler design, the use of templates for code generation, to elevate the burden of choosing architecture optimized numerical routines.
L. Kohout, A. Strotmann, and R. van Engelen, Knowledge Engineering Methods for Climate Models, in the proceedings of the IEEE Systems, Man, and Cybernetics Conference, 2001.
This paper presents the relationship between knowledge engineering and automatic construction of programs for climate models in which domain-specific knowledge is used in the transformation process from high-level model sspecifications to low-level code.
R. van Engelen, L. Wolters, and G. Cats, The Ctadel Application Driver, Chapter in Enabling Technologies for Computational Science: Frameworks, Middleware and Environments, E.N. Houstis, J.R. Rice, E. Gallopoulos, and R. Bramley (eds), March 2000.
I. Heitlager, R. van Engelen, and L. Wolters, The Construction of Flux-Limiting Advection Algorithms through Program Generation, Technical Report 98-04, Department of Computer Science, Leiden University, February 1998.
This report presents the automatic construction of flux-limiting advection algorithms through code generation with Ctadel. Techniques are described and evaluated for automatic implementations of efficient loops with branching conditions to execute these schemes.
R. van Engelen and L. Wolters, A High-Level Language and Interpreter for the Use of Mathematical Vector Notation in PDE-Problem Specifications, Technical Report 97-05, Department of Computer Science, Leiden University, October 1997.
This report presents the development and use of high-level math notation and semantics for model specifications in Ctadel.
R. van Engelen, L. Wolters, and G. Cats, Tomorrow's Weather Forecast: Automatic Code Generation for Atmospheric Modeling, IEEE Journal of Computational Science and Engineering, Vol. 4, No. 3, July/September 1997, pages 22-31.
This paper gives a general overview of the Ctadel code generation system. Ctadel transforms high-level PDE problem specifications into efficient codes for serial, vector, and parallel computer architectures using computing-cost heuristics and architecture-specific symbolic transformations.
R. van Engelen, L. Wolters, and G. Cats, The Ctadel Application Driver for Numerical Weather Forecast Systems, in the proceedings of the 15th International Association for Mathematics and Computers in Simulation (IMACS) conference , Vol. 4, Wissenshaft & Technik Verlag, Berlin, Germany, 1997, pages 571-576.
This paper briefly describes the Ctadel system, specifically the Ctadel problem specification language concepts and method of iterative refinement of the (intermediate form of) code for specific hardware platforms. The Ctadel system is used as an application driver for the HIRLAM numerical weather forecast system.
R. van Engelen, I. Heitlager, L. Wolters, and G. Cats, Incorporating Application Dependent Information in an Automatic Code Generating Environment, in the proceedings of the 11th ACM International Conference on Supercomputing, July 7-11, 1997, Vienna, Austria, pages 180-187.
In this paper we describe the generation of efficient codes for a the parameterization part of atmospheric circulation models. We demonstrate that it is infeasible for existing restructuring compilers to automatically restructure the original serial production code into optimized vector or data parallel code without exploiting knowledge on the actual physical problem involved. Therefore, a high-level code restructuring technique based on monotonicity information about the data structures is presented. The techniques are evaluated for the so-called physics routines of the HIRLAM numerical weather forecast model.
R. van Engelen, L. Wolters, and G. Cats, PDE-Oriented Language Compilation and Optimization with Ctadel for Parallel Computing, in the proceedings of the IEEE International Workshop on High-level Programming Models and Supportive Environments (HIPS), April 1-5, 1997, Geneva, Switzerland, IEEE Computer Society Press, pages 105-109.
A new technique for the optimization of multiple nested reductions and scans by summation reordering through commutativity analysis is presented. Since parallel reductions and scans require expensive collective communications, the presented approach may yield a significant speedup of the generated code, as is demonstrated with example problems based on real-world atmospheric models. The optimization techniques are based on the algebraic simplifier and array-level common-subexpression eliminator of Ctadel.
R. van Engelen, L. Wolters, and G. Cats, Automatic Code Generation for High Performance Computing in Environmental Modeling, in the proceedings of the 1996 EUROSIM International Conference on HPCN Challenges in Telecomp and Telecom: Parallel Simulation of Complex Systems and Large-Scale Applications, June 10-12, 1996, Delft, the Netherlands, pages 421-428.
This paper discusses the role of code generating systems in environmental modeling. An overview of potentially applicable code generation systems is given and the Ctadel code generator is presented in the context of environmental modeling. Performance results of platform-specific Ctadel-generated codes are presented for desktop machines (HP 720, SGI Indy, SGI Indigo), vector machines (Convex C4, CRAY C98), SIMD (MasPar MP-1), and MIMD (CRAY T3D).
R. van Engelen, L. Wolters, and G. Cats, Ctadel: A Generator of Multi-Platform High Performance Codes for PDE-based Scientific Applications, in the proceedings of the 10th ACM International Conference on Supercomputing, May 25-28 1996, Philadelphia, USA, ACM Press, pages 86-93.
The Ctadel system employs high-level algebraic simplification techniques and powerful methods for global array-level common-subexpression elimination to guarantee the generation of efficient high performance codes for various target architectures. Performance results are given for platform-specific Ctadel-generated codes of the HIRLAM weather forecast dynamics model running on desktop machines (HP 720, SGI Indy, SGI Indigo), vector machines (Convex C4, CRAY C98), SIMD (MasPar MP-1), and MIMD (CRAY T3D). The results show that the optimization techniques are effective and most of the generated codes outperformed the production-quality hand-written codes.
L. Wolters, R. van Engelen, and G. Cats, Automatic Code Generation: Ctadel, in the proceedings of the 17th EWGLAM and SRNWP meeting, LAM Newsletter, Number 25, May 1996, pp. 137-143.
This paper reports on the use and performance of the Ctadel code generator for implementing parallel versions of the HIRLAM Dynamics model.
R. van Engelen, L. Wolters, and G. Cats, Multi-Platform Code Generation for the HIRLAM Dyn Routine with Ctadel, in the proceedings of the HIRLAM workshop on Variational Data Assimilation, February 1996, De Bilt, the Netherlands, pages 115-122.
This paper reports on the use and performance of the Ctadel code generator for implementing serial, vector, and parallel versions of the HIRLAM Dynamics model using machine architecture descriptions and parameters.
R. van Engelen and L. Wolters, A Comparison of Parallel Programming Paradigms and Data Distributions for a Limited Area Numerical Weather Forecast Routine, in the proceedings of the 9th ACM International Conference on Supercomputing, July 3-7 1995, Barcelona, Spain, ACM Press, pages 357-364.
In this paper the impact of parallel programming paradigms and data distributions on the performance of a parallel finite difference application is investigated. The finite difference application is a kernel routine of a limited area numerical weather forecast model. Results are given for the CRAY T3D and MasPar systems.