The CARPET Programming Environment for Solving Scientific Problems on Parallel Computers

Main Article Content

Giandomenico Spezzano
Domenico Talia


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. After 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.

Article Details

Research Reports