Runtime Implementation

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 34497 Experts worldwide ranked by ideXlab platform

Miranda Cupertino - One of the best experts on this subject based on the ideXlab platform.

  • Erbium : réconcilier les langages, les supports d'exécution, la compilation, et les optimisations pour calculs sur des flux de données
    HAL CCSD, 2013
    Co-Authors: Miranda Cupertino
    Abstract:

    As transistors size and power limitations stroke computer industry, hardware parallelism arose as the solution, bringing old forgotten problems back into equation to solve the existing limitations of current parallel technologies. Compilers regain focus by being the most relevant puzzle piece in the quest for the expected computer performance improvements predicted by Moores law no longer possible without parallelism. Parallel research is mainly focused in either the language or architectural aspects, not really giving the needed attention to compiler problems, being the reason for the weak compiler support by many parallel languages or architectures, not allowing to exploit performance to the best. This thesis addresses these problems by presenting: Erbium, a low level streaming data-flow language supporting multiple producer and consumer task communication; a very efficient Runtime Implementation for x86 architectures also addressing other types of architectures; a compiler integration of the language as an intermediate representation in GCC; a study of the language primitives dependencies, allowing compilers to further optimise the Erbium code not only through specific parallel optimisations but also through traditional compiler optimisations, such as partial redundancy elimination and dead code elimination.Frappée par les rendements décroissants de la performance séquentielle et les limitations thermiques, l’industrie des microprocesseurs s’est tournée résolument vers les multiprocesseurs sur puce. Ce mouvement a ramené des problèmes anciens et difficiles sous les feux de l’actualité du développement logiciel. Les compilateurs sont l’une des pièces maitresses du puzzle permettant de poursuivre la traduction de la loi de Moore en gains de performances effectifs, gains inaccessibles sans exploiter le parallélisme de threads. Pourtant, la recherche sur les systèmes parallèles s’est concentrée sur les aspects langage et architecture, et le potentiel reste énorme en termes de compilation de programmes parallèles, d’optimisation et d’adaptation de programmes parallèles pour exploiter efficacement le matériel. Cette thèse relève ces défis en présentant Erbium, un langage de bas niveau fondé sur le traitement de flots de données, et mettant en œuvre des communications multi-producteur multi-consommateur ; un exécutif parallèle très efficace pour les architectures x86 et des variantes pour d’autres types d’architectures ; un schéma d’intégration du langage dans un compilateur illustré en tant que représentation intermédiaire dans GCC ; une étude des primitives du langage et de leurs dépendances permettant aux compilateurs d’optimiser des programmes Erbium à l’aide de transformations spécifiques aux programmes parallèles, et également à travers des formes généralisées d’optimisations classiques, telles que l’élimination de redondances partielles et l’élimination de code mort

  • Erbium (réconcilier les langages, les supports d'exécution, la compilation, et les optimisations pour calculs sur des flux de données)
    2013
    Co-Authors: Miranda Cupertino, Cohen, Albert Henri
    Abstract:

    Frappée par les rendements décroissants de la performance séquentielle et les limitations thermiques, l industrie des microprocesseurs s est tournée résolument vers les multiprocesseurs sur puce. Ce mouvement a ramené des problèmes anciens et difficiles sous les feux de l actualité du développement logiciel. Les compilateurs sont l une des pièces maitresses du puzzle permettant de poursuivre la traduction de la loi de Moore en gains de performances effectifs, gains inaccessibles sans exploiter le parallélisme de threads. Pourtant, la recherche sur les systèmes parallèles s est concentrée sur les aspects langage et architecture, et le potentiel reste énorme en termes de compilation de programmes parallèles, d optimisation et d adaptation de programmes parallèles pour exploiter efficacement le matériel. Cette thèse relève ces défis en présentant Erbium, un langage de bas niveau fondé sur le traitement de flots de données, et mettant en œuvre des communications multi-producteur multi-consommateur ; un exécutif parallèle très efficace pour les architectures x86 et des variantes pour d autres types d architectures ; un schéma d intégration du langage dans un compilateur illustré en tant que représentation intermédiaire dans GCC ; une étude des primitives du langage et de leurs dépendances permettant aux compilateurs d optimiser des programmes Erbium à l aide de transformations spécifiques aux programmes parallèles, et également à travers des formes généralisées d optimisations classiques, telles que l élimination de redondances partielles et l élimination de code mort.As transistors size and power limitations stroke computer industry, hardware parallelism arose as the solution, bringing old forgotten problems back into equation to solve the existing limitations of current parallel technologies. Compilers regain focus by being the most relevant puzzle piece in the quest for the expected computer performance improvements predicted by Moores law no longer possible without parallelism. Parallel research is mainly focused in either the language or architectural aspects, not really giving the needed attention to compiler problems, being the reason for the weak compiler support by many parallel languages or architectures, not allowing to exploit performance to the best. This thesis addresses these problems by presenting: Erbium, a low level streaming data-flow language supporting multiple producer and consumer task communication; a very efficient Runtime Implementation for x86 architectures also addressing other types of architectures; a compiler integration of the language as an intermediate representation in GCC; a study of the language primitives dependencies, allowing compilers to further optimise the Erbium code not only through specific parallel optimisations but also through traditional compiler optimisations, such as partial redundancy elimination and dead code elimination.PARIS11-SCD-Bib. électronique (914719901) / SudocSudocFranceF

Cohen, Albert Henri - One of the best experts on this subject based on the ideXlab platform.

  • Erbium (réconcilier les langages, les supports d'exécution, la compilation, et les optimisations pour calculs sur des flux de données)
    2013
    Co-Authors: Miranda Cupertino, Cohen, Albert Henri
    Abstract:

    Frappée par les rendements décroissants de la performance séquentielle et les limitations thermiques, l industrie des microprocesseurs s est tournée résolument vers les multiprocesseurs sur puce. Ce mouvement a ramené des problèmes anciens et difficiles sous les feux de l actualité du développement logiciel. Les compilateurs sont l une des pièces maitresses du puzzle permettant de poursuivre la traduction de la loi de Moore en gains de performances effectifs, gains inaccessibles sans exploiter le parallélisme de threads. Pourtant, la recherche sur les systèmes parallèles s est concentrée sur les aspects langage et architecture, et le potentiel reste énorme en termes de compilation de programmes parallèles, d optimisation et d adaptation de programmes parallèles pour exploiter efficacement le matériel. Cette thèse relève ces défis en présentant Erbium, un langage de bas niveau fondé sur le traitement de flots de données, et mettant en œuvre des communications multi-producteur multi-consommateur ; un exécutif parallèle très efficace pour les architectures x86 et des variantes pour d autres types d architectures ; un schéma d intégration du langage dans un compilateur illustré en tant que représentation intermédiaire dans GCC ; une étude des primitives du langage et de leurs dépendances permettant aux compilateurs d optimiser des programmes Erbium à l aide de transformations spécifiques aux programmes parallèles, et également à travers des formes généralisées d optimisations classiques, telles que l élimination de redondances partielles et l élimination de code mort.As transistors size and power limitations stroke computer industry, hardware parallelism arose as the solution, bringing old forgotten problems back into equation to solve the existing limitations of current parallel technologies. Compilers regain focus by being the most relevant puzzle piece in the quest for the expected computer performance improvements predicted by Moores law no longer possible without parallelism. Parallel research is mainly focused in either the language or architectural aspects, not really giving the needed attention to compiler problems, being the reason for the weak compiler support by many parallel languages or architectures, not allowing to exploit performance to the best. This thesis addresses these problems by presenting: Erbium, a low level streaming data-flow language supporting multiple producer and consumer task communication; a very efficient Runtime Implementation for x86 architectures also addressing other types of architectures; a compiler integration of the language as an intermediate representation in GCC; a study of the language primitives dependencies, allowing compilers to further optimise the Erbium code not only through specific parallel optimisations but also through traditional compiler optimisations, such as partial redundancy elimination and dead code elimination.PARIS11-SCD-Bib. électronique (914719901) / SudocSudocFranceF

Nzekwa Russel - One of the best experts on this subject based on the ideXlab platform.

  • Construction flexible des boucles de contrôles autonomes pour les applications à large échelle
    HAL CCSD, 2013
    Co-Authors: Nzekwa Russel
    Abstract:

    Modern software systems are getting more complex. This is partly justified by the heterogeneity of technologies embedded to deliver services to the end client, the large-scale distribution of software pieces that intervene within a single application, or the requirements for adaptive software systems. In addition, the need for reducing the maintenance costs of software systems has led to the emergence of new paradigms to cope with the complexity of these software. Autonomic computing is a relatively new paradigm for building software systems which aims at reducing the maintenance cost of software by building autonomic software systems which are able to manage themselves with a minimal intervention of a human operator. However, building autonomic software raises many scientific and technological challenges. For example, the lack of visibility of the control system architecture in autonomic systems makes them difficult to maintain. Similarly, the lack of verification tools is a limitation for building reliable autonomic systems. The flexible management of non-functional-properties, or the traceability between the design and the Implementation are other challenges that need to be addressed for building flexible autonomic systems. The main contribution of this thesis is CORONA. CORONA is a framework which aims at helping software engineers for building flexible autonomic systems. To achieve that goal, CORONA relies on an architectural description language which reifies the structure of the control system architecture. CORONA enables the flexible integration of non-functional-properties during the design of autonomic systems. It also provides tools for conflicts checking in autonomic systems architecture. Finally, the traceability between the design and the Runtime Implementation is carried out through the code generation of skeletons from architectural descriptions of control systems. These properties of the CORONA framework are exemplified through three case-studies.Les logiciels modernes sont de plus en plus complexes. Ceci est dû en partie à l'hétérogénéité des solutions misent en oeuvre, au caractère distribué des architectures de déploiement et à la dynamicité requise pour de tels logiciels qui devraient être capable de s'adapter en fonction des variations de leur contexte d'évolution. D'un autre coté, l'importance grandissante des contraintes de productivité dans le but de réduire les coûts de maintenance et de production des systèmes informatiques a favorisé l'émergence de nouveaux paradigmes pour répondre à la complexité des logiciels modernes. L'informatique des systèmes autonomes (Autonomic computing) s'inscrit dans cette perspective. Elle se propose entre autres de réduire le coût de maintenance des systèmes informatiques en développant des logiciels dits autonomes, c'est à dire dotés de la capacité de s'auto-gérer moyennant une intervention limité d'un opérateur humain. Toutefois, le développement de logiciels autonomes soulèvent de nombreux défis scientifiques et technologiques. Par exemple, l'absence de visibilité de la couche de contrôle dans les applications autonomes rend difficile leur maintenabilité, l'absence d'outils de vérification pour les architectures autonomes est un frein pour l'implémentation d'applications fiables, enfin, la gestion transparente des propriétés non-fonctionnelles et la traçabilité entre le design et l'implémentation sont autant de défis que pose la construction de logiciels autonomes flexibles. La principale contribution de cette thèse est CORONA. CORONA est un canevas logiciel qui vise à faciliter le développement de logiciels autonomes flexibles. Dans cet objectif, CORONA s'appuie sur un langage de description architecturale qui réifie les éléments qui forment la couche de contrôle dans les systèmes autonomes. CORONA permet l'intégration transparente des propriétés non-fonctionnelles dans la description architecturale des systèmes autonomes. il fournit aussi dans sa chaîne de compilation un ensemble d'outils qui permet d'effectuer des vérifications sur l'architecture des systèmes autonomes. Enfin, la traçabilité entre le design et l'implémentation est assurée par un mécanisme de génération des skeletons d'implémentation à partir d'une description architecturale. Les différentes propriétés de CORONA sont illustrées par trois cas d'utilisation

Barbara Chapman - One of the best experts on this subject based on the ideXlab platform.

  • a Runtime Implementation of openmp tasks
    International Workshop on OpenMP, 2011
    Co-Authors: James Lagrone, Ayodunni Aribuki, Cody Addison, Barbara Chapman
    Abstract:

    Many task-based programming models have been developed and refined in recent years to support application development for shared memory platforms. Asynchronous tasks are a powerful programming abstraction that offer flexibility in conjunction with great expressivity. Research involving standardized tasking models like OpenMP and nonstandardized models like Cilk facilitate improvements in many tasking Implementations. While the asynchronous task is arguably a fundamental element of parallel programming, it is the Implementation, not the concept, that makes all the difference with respect to the performance that is obtained by a program that is parallelized using tasks. There are many approaches to implementing tasking constructs, but few have also given attention to providing the user with some capabilities for fine tuning the execution of their code. This paper provides an overview of one OpenMP Implementation, highlights its main features, discusses the Implementation, and demonstrates its performance with user controlled Runtime variables.

  • an open source compiler and Runtime Implementation for coarray fortran
    Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model, 2010
    Co-Authors: Deepak Eachempati, Hyoung Joon Jun, Barbara Chapman
    Abstract:

    Coarray Fortran (CAF) comprises a set of proposed language extensions to Fortran that are expected to be adopted as part of the Fortran 2008 standard. In contrast to prior open-source Implementation efforts, our approach is to use a single, unified compiler infrastructure to translate, optimize and generate binaries from CAF codes. In this paper, we will describe our compiler and Runtime Implementation of CAF using an Open64-based compiler infrastructure. We will detail the process by which we generate a high-level intermediate representation from the CAF code in our compilers front-end, how our compiler analyzes and translate this IR to generate a binary which makes use of our Runtime system, and how we support the Runtime execution model with our Runtime library. We have carried out experiments using both an ARMCI- and GASNet-based Runtime Implementation, and we present these results.

Peterpike Sloan - One of the best experts on this subject based on the ideXlab platform.

  • Runtime Implementation of modular radiance transfer
    International Conference on Computer Graphics and Interactive Techniques, 2011
    Co-Authors: Brad Loos, Lakulish Antani, Kenny Mitchell, Derek Nowrouzezahrai, Wojciech Jarosz, Peterpike Sloan
    Abstract:

    Real-time rendering of indirect lighting significantly enhances the sense of realism in video games. Unfortunately, previously including such effects often required time consuming scene dependent precomputation and heavy Runtime computations unsuitable for low-end devices, such as mobile phones or game consoles. Modular Radiance Transfer (MRT) [Loos et al. 2011] is a recent technique that computes approximate direct-to-indirect transfer [Hasan et al. 2006; Kontkanen et al. 2006; Lehtinen et al. 2008] by warping and combining light transport, in real-time, from a small library of simple shapes. This talk focusses on Implementation issues of the MRT technical paper, including how our run time is designed to scale across many different platforms, from iPhones to modern GPUs.