Computational and Mathematical Methods in Science and Engineering (CMMSE)

Abstract

Producción CientíficaCurrently, 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 details that forces to take into account details of the execution platform to obtain a good performance. In code generators from sequential programs, programmers cannot control basic mapping decisions, and many times the programmer needs to transform the 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 in a highly abstract level. The programmer does not face decisions about granularity, thread management, or interprocess communication. Thus, the programmer can express di erent parallel paradigms in a easy, uni ed, 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.Ministerio de Econom a y Competitividad (Spain) and the ERDF program of the European Union: CAPAP-H5 network (TIN2014- 53522), MOGECOPP project (TIN2011-25639), HomProg-HetSys project (TIN2014-58876- P); the Junta de Castilla y Le on (Spain): ATLAS project (VA172A12-2)

    Similar works