Computer-Assisted Parallel Program Generation

Computer-Assisted Parallel Program Generation

Shigeo Kawata (Utsunomiya University, Japan)
DOI: 10.4018/978-1-5225-7368-5.ch052

Abstract

Parallel computation is widely employed in scientific researches, engineering activities, and product development. Parallel program writing itself is not always a simple task depending on problems solved. Large-scale scientific computing, huge data analyses, and precise visualizations, for example, would require parallel computations, and the parallel computing needs the parallelization techniques. In this chapter, a parallel program generation support is discussed, and a computer-assisted parallel program generation system, P-NCAS, is introduced. Computer-assisted problem solving is one of key methods to promote innovations in science and engineering, and contributes to enrich our society and our life toward a programming-free environment in computing science. Problem-solving environments (PSE) research activities started to enhance the programming power in 1970s. The P-NCAS is one of the PSEs; the PSE concept provides an integrated human-friendly computational software and hardware system to solve a target class of problems.
Chapter Preview
Top

Introduction

Parallel computation is widely employed in scientific researches, engineering activities and product development. Parallel program writing itself is not always a simple task depending on problems solved. Large-scale scientific computing, huge data analyses and precise visualizations, for example, would require parallel computations, and the parallel computing needs the parallelization techniques. In this Chapter a parallel program generation support is discussed, and a computer-assisted parallel program generation system P-NCAS is introduced.

Computer assisted problem solving is one of key methods to promote innovations in science and engineering, and contributes to enrich our society and our life toward a programming-free environment in computing science. Problem solving environments (PSE) research activities had started to enhance the programming power in 1970’s. The P-NCAS is one of the PSEs; The PSE concept provides an integrated human-friendly computational software and hardware system to solve a target class of problems (Kawata, 2014). For example, a PSE generates a computer program automatically to solve differential equations (Boonmee et al., 1998a; Boonmee et al., 1998b; Fujio et al., 1998; Fujita et al., 2000; Gallopoulos, et al., 1991; Gallopoulos et al., 1994; Hirayama et al., 1988; Houstis et al., 1992; Kawata et al., 2000; Okochi et al., 1994; Rice et al., 1984; Umetani, 1985). In the PSE concept, human concentrates on target problems, and a part of problem solving, which can be solved mechanically, is performed by computers or machines or software.

The concept of the computer-assisted program generation has been opening the new style of the computer programing to reduce the programing hard task. Huge computer software may include errors and bugs. The errors or malfunction of the software infrastructure may induce uncertainty and accordingly serious accidents in our society (Einarsson, 2005; Kawata et al, 2012). The programing process tends to include mechanical parts, that means, mechanically programmable parts. When the application area of the software is limited in a reasonable size, a part of the software would be mechanically generated. For example, scientific research-oriented programs would have a similar program structure depending on the numerical scheme.

P-NCAS supports scientists and engineers to generate parallel programs for problems described by partial differential equations (PDEs). P-NCAS presents a remarkable capability of visualization and steering of all the processes required for the generation of parallel programs. In P-NCAS users input problem description information including PDEs, initial and boundary conditions, discretization scheme, algorithm and also comments on the problem itself as well as the parallelization information. P-NCAS supports a domain decomposition method for the parallelization, and the SPMD (single program multi data) model is employed. In P-NCAS users can see and edit all the information through the visualization and editing windows. The program flow is also visualized by a Problem Analysis Diagram (PAD). Even through the flow visualization window users can modify the program flow. Finally P-NCAS outputs the corresponding parallel program in the C language, and at the same time a document for the program including the problem itself, the program flow, the PDEs, the initial and boundary conditions, the discretization method, the numerical algorithm employed and the variable definitions.

Complete Chapter List

Search this Book:
Reset