40 research outputs found

    A Short Overview of Executing Γ Chemical Reactions over the ΣC and τC Dataflow Programming Models

    Get PDF
    International audienceMany-core processors offer top computational power while keeping the energy consumption reasonable compared to complex processors. Today, they enter both high-performance computing systems, as well as embedded systems. However, these processors require dedicated programming models to efficiently benefit from their massively parallel architectures. The chemical programming paradigm has been introduced in the late eighties as an elegant way of formally describing distributed programs. Data are seen as molecules that can freely react thanks to operators to create new data. This paradigm has also been used within the context of grid computing and now seems to be relevant for many-core processors. Very few implementations of runtimes for chemical programming have been proposed, none of them giving serious elements on how it can be deployed onto a real architecture. In this paper, we propose to implement some parts of the chemical paradigm over the ÎŁC dataflow programming language, that is dedicated to many-core processors. We show how to represent molecules using agents and communication links, and to iteratively build the dataflow graph following the chemical reactions. A preliminary implementation of the chemical reaction mechanisms is provided using the Ď„ C dataflow compilation toolchain, a language close to ÎŁC, in order to demonstrate the relevance of the proposition

    Generating Code and Memory Buffers to Reorganize Data on Many-core Architectures

    Get PDF
    International audienceThe dataflow programming model has shown to be a relevant approach to efficiently run mas-sively parallel applications over many-core architectures. In this model, some particular builtin agents are in charge of data reorganizations between user agents. Such agents can Split, Join and Duplicate data onto their communication ports. They are widely used in signal processing for example. These system agents, and their associated implementations, are of major impor-tance when it comes to performance, because they can stand on the critical path (think about Amdhal's law). Furthermore, a particular data reorganization can be expressed by the devel-oper in several ways that may lead to inefficient solutions (mostly unneeded data copies and transfers). In this paper, we propose several strategies to manage data reorganization at compile time, with a focus on indexed accesses to shared buffers to avoid data copies. These strategies are complementary: they ensure correctness for each system agent configuration, as well as performance when possible. They have been implemented within the Sigma-C industry-grade compilation toolchain and evaluated over the Kalray MPPA 256-core processor

    Smacc: a Compiler-Compiler

    Get PDF
    International audienc

    Compilation itérative pour l'exécution de programmes chimiques sur une chaîne de compilation flot de données

    Get PDF
    International audienceLe paradigme de la programmation chimique a été introduit à la fin des années 1980comme une manière élégante de définir mathématiquement des programmes répartis. Le principerepose sur l’analogie des réactions chimiques, dans lequel un ensemble de molécules réagissentpour en former de nouvelles. La programmation chimique consiste à déclarer des données initiales typées ainsi que des opérateurs. L’ordre des réactions - la manière dont sont appliqués lesopérateurs sur les données - est résolu à l’exécution, sans indications de la part du développeur.Les programmes chimiques sont par nature parallèles et non déterministes. Ce paradigme aété utilisé pour les grappes et grilles de calculateurs et il reste pertinent pour les processeursmany-coeurs. Une grande part de la complexité des programmes chimiques réside dans le logiciel système qui a la charge d’orchestrer les réactions. L’implémentation de ce logiciel faitresurgir les problèmes classiques d’exécution en environnement réparti, ce qui explique qu’iln’existe pas à notre connaissance d’implémentation efficace de langage chimique. L’objectifde ce travail est de fournir un support d’exécution efficace en se basant sur le paradigme deprogrammation flot de données

    Fast Tsunami Simulations for a Real-Time Emergency Response Flow

    No full text
    In the context of response to disasters, fast and accurate simulations can be integrated into a real-time flow, allowing best situation estimates to be provided at required deadlines for warnings and decisions. In such a pilot centered on earthquakes, the TsunAWI tsunami simulation code has been adapted and improved to provide both fast results with a coarse mesh and more accurate results with a fine mesh. Improvements to the TsunAWI code have allowed simulation runs to reach runtimes compatible with the needs of a workflow with real-time deadlines. A significant component of TsunAWI is the underlying mesh traversal order; the use of heuristics from the gpu rendering community can reach comparable performance to the original space filing curve ordering, and validation against historical cases is underway for the fast simulation results
    corecore