"A New High Level Parallel Portable Language for hierarchical systems in Trasgo"

Ana Moreton-Fernandez, Arturo Gonzalez-Escribano, Diego R. Llanos

Resumen:
Currently, the generation of parallel codes which are portable
to different kinds of parallel computers is a challenge. Many approaches
have been proposed during the last years following two different paths.
Programming from scratch using new programming languages and models
that deal with parallelism explicitly, or automatically generating parallel
codes from already existing sequential programs. Using the current
main-trend parallel languages, the programmer deals with mapping and
optimization problems that forces to take into account details of the
execution platform to obtain a good performance. In code generators
that automatically transform sequential programs to parallel ones,
programmers cannot control basic mapping decisions, and many times the
programmer needs to transform the original sequential code to expose to
the compiler information needed to leverage important optimizations.
This paper presents a new high-level parallel programming language
named CMAPS, designed to be used with the Trasgo parallel programming framework.
This language provides a simple and explicit way to express parallelism
at a highly abstract level. The programmer does not face
decisions about granularity, thread management, or interprocess communication.
Thus, the programmer can express different parallel paradigms
in an easy, unified, abstract, and portable form. The language supports
the necessary features imposed by transformation models such as Trasgo,
to generate parallel codes that adapt their communication and
synchronization structures for target machines composed by mixed distributed-
and shared-memory parallel multicomputers.