Authors:
Ralf Seidler
;
H. Martin Bücker
;
M. Ali Rostami
and
David Neuhäuser
Affiliation:
Friedrich Schiller University, Germany
Keyword(s):
Parallel and Distributed Computing, Simulation Software, Optimization Software, Software Frameworks, EFCOSS, Python, Fortran.
Related
Ontology
Subjects/Areas/Topics:
Distributed and Mobile Software Systems
;
Distributed Architectures
;
Parallel and High Performance Computing
;
Software Engineering
Abstract:
Mathematical optimization algorithms are ubiquitous in computational science and engineering where the objective function of the optimization problem involves a complicated computer model predicting relevant phenomena of a scientific or engineering system of interest. Therefore, in this area of mathematical software, it is indispensable to combine software for optimization with software for simulation, typically developed independently of each other by members of separate scientific communities. From a software engineering point of view, the situation becomes even more challenging when the simulation software is developed using a parallel
programming paradigm without taking into consideration that it will be executed within an optimization context. The EFCOSS environment alleviates some of the problems by serving as an interfacing layer between optimization software and simulation software. In this paper, we show the software design of those parts of EFCOSS that are relevant to the i
ntegration of a simulation software involving different parallel programming paradigms. The parallel programming paradigms supported by EFCOSS include MPI for distributed memory
and OpenMP for shared memory. In addition, the simulation software can be executed on a remote parallel
computer.
(More)