The carpet programming environment for solving scientific problems on parallel computers

  • Authors:
  • Giandomenico Spezzano;Domenico Talia

  • Affiliations:
  • ISI-CNR, c/o DEIS, UNICAL, 87036 Rende (CS), Italy;ISI-CNR, c/o DEIS, UNICAL, 87036 Rende (CS), Italy

  • Venue:
  • Virtual shared memory for distributed architectures
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cellular automata can be used to design high-performance applications in several science and engineering fields. This paper describes the development of scientific applications using CARPET, a high-level programming language based on the cellular automata theory. CARPET is a programming language designed for supporting the development of parallel high-performance software abstracting from the parallel architecture on which programs run. It exploits the computing power of a highly parallel computer while releasing a user from using explicit parallel constructs. A CARPET implementation has been used for programming cellular algorithms in the CAMEL parallel environment. A CARPET user may write programs to describe the actions of a very large number of simple active agents interacting locally. During execution the CARPET run-time environment allows a user to observe, also in a graphical format, the global results that arises from parallel execution. Aider describing the main constructs of CARPET, the paper discusses how the language can be effectively utilized to solve real-world complex problems, such as landslide simulations, and it shows performance figures.