Learn More
This paper presents a parallel programming methodology that ensures easy programming, eeciency, and portability of programs to diierent machines belonging to the class of the general-purpose, distributed memory, MIMD architectures. The methodology is based on the deenition of a new, high-level, explicitly parallel language, called P 3 L, and of a set of(More)
In this work we present Lithium, a pure Java structured parallel programming environment based on skeletons (common, reusable and efficient parallelism exploitation patterns). Lithium is implemented as a Java package and represents both the first skeleton based programming environment in Java and the first complete skeleton based Java environment exploiting(More)
Technological directions for innovative HPC software environments are discussed in this paper. We focus on industrial user requirements of heterogeneous multisci-plinary applications, performance portability, rapid prototyping and software reuse, integration and interoperability of standard tools. The various issues are demonstrated with reference to the(More)
FastFlow is a programming framework specifically targeting cache-coherent shared-memory multi-cores. It is implemented as a stack of C++ template libraries built on top of lock-free (and memory fence free) synchronization mechanisms. Its philosophy is to combine programmability with performance. In this paper a new FastFlow programming methodology aimed at(More)
Semantics of skeleton-based parallel programming languages comes usually as two distinct items: a functional semantics, modeling the function computed by the skeleton program, and a parallel semantics describing the ways used to exploit parallelism during the execution of the skeleton program. The former is usually expressed using some kind of semantic(More)