1,050 research outputs found

    Outils et méthodes pour le traitement parallèle de calculs sur des tableaux

    Get PDF
    Modèle de parallélisme de HPF -- Architecture du SIMD de pulse -- Partitionnement de boucles imbriquées -- Partitionnement de code de haut niveau -- Génération d'adresse pour les tableaux -- Langages de haut niveau pour la programmation SIMD -- Méthodes itératives -- Méthodes directes -- Contexte matériel -- Mise en oeuvre d'un objet-tableau C++ -- Générations d'adresses -- Patrons d'adresses -- Algorithme -- Implantation logicielle -- Implantation matérielle -- Transformations -- Paramètres -- Un langage de haut niveau pour les ordinateurs SIMD -- Description du langage -- Sémantique -- Tampons circulaires -- Exemple de programme -- Analyse des performances obtenues -- Génération automatique de directives HPF -- Cadre conceptuel et algorithmes -- Implantation -- Généralisation et formalisation du modèle de partitionnement -- Classe de distribution -- Algorithmes

    Ordonnancement dynamique, adapté aux architectures hétérogènes, de la méthode multipôle pour les équations de Maxwell, en électromagnétisme

    Get PDF
    La méthode multipôle permet d'accélérer les produits matrices-vecteurs, utilisés par les solveurs itératifs pour déterminer le comportement électromagnétique, d'un objet soumis à une onde incidente. Nos travaux ont pour but d'adapter cette méthode pour la rendre efficace sur les architectures hétérogènes contenant des GPU. Pour cela, nous utilisons une ordonnanceur dynamique, StarPU, qui effectuera la distribution des tâches de calcul au sein d'un nœud. Pour la parallélisation en mémoire distribuée, nous effectuerons un ordonnancement statique des boîtes, couplé à un ordonnancement dynamique des interactions proches.The Fast Multipole Method can speed up matrix-vector products, found in iterative solvers in order to compute the electromagnetics response of an object subject to an incident wave. We have intended to adapt this method to make it effective on heterogeneous architectures with GPUs. For this purpose, we use a dynamic scheduler named StarPU, which distributes the tasks within a node. For the parallelization in distributed memory, we distribute the tasks statically but we distribute the near interactions dynamically..BORDEAUX1-Bib.electronique (335229901) / SudocSudocFranceF

    Analyse de performance multi-niveau et partionnement d'application radio sur une plateforme multiprocesseur

    Get PDF
    RESUME Depuis déjà un bon nombre d’années, une demande importante est apparue dans le domaine des télécommunications en ce qui a trait aux systèmes portables. En plus des fonctions téléphoniques déjà existantes, plusieurs applications connexes viennent maintenant se greffer à ces appareils. Afin de pouvoir surmonter les défis imposés par ces nouvelles classes d’applications, de nouvelles méthodologies et topologies de circuit ont vu le jour. Ce mémoire s’inscrit dans le projet global OPERA qui a pour but d’explorer différentes classes d’applications par rapport à une implémentation matérielle existante de manière à guider les phases de configuration, de vérification et possiblement de modification du design actuel. De manière plus spécifique à ce projet, un des buts était de faire ressortir rapidement et automatiquement si une application sélectionnée dans le domaine des télécommunications pouvait être exécutée selon les limites imposées par les différentes normes sur la puce Vocallo fournie par les concepteurs d’Octasic, le partenaire industriel qui supporte ce projet. Pour arriver à cet objectif, la méthodologie dite de conception basée sur les plateformes (Platform based design) a été sélectionnée. Cette technique repose sur la modélisation des différentes couches du système global, soit la couche physique représentant la puce Vocallo et la couche applicative servant à abstraire les algorithmes choisis. Une fois la modélisation des couches effectuées, il suffit de les relier en propageant les contraintes du niveau applicatif vers la couche matérielle de manière à obtenir une estimation de performance selon les caractéristiques abstraites dans chacun des modèles. La puce Vocallo comporte plusieurs caractéristiques peu communes. En effet, le Vocallo est composé d’une matrice de 15 cœurs reliés à une mémoire externe par un seul et unique bus de communication. Chacun des ces cœurs est lui-même constitué de 16 unités opératives asynchrones (ALUs) fonctionnant en parallèle.---------------- ABSTRACT Over the last few years, an important increase in demand has appeared in the telecommunication world in terms of portable system. New classes of applications, like video capability, are now supported by these devices. In order to satisfy the challenges of these new types of software, new circuit topology and emerging methodology became a hot topic of research. This thesis is a small part of the OPERA project that tries to explore several classes of applications in regards to a specific hardware implementation in order to guide efficiently the phases of configuration and verification and possibly could lead to modifications of the design itself. A main goal of this project was to quickly and automatically know if a selected application within the world of telecommunication could be executed on the Vocallo chipset, developed by Octasic, the industrial partner sponsoring this project, while satisfying the requirements imposed by the different standards. In order to achieve this goal, the Platform Based Design approach was chosen. This technique rests on the modeling of the different layers of the overall system. The physical layer serves to represent the Vocallo chip, while the application layer is used to capture the algorithm’s requirements. Upon the completion of the modeling of these layers, the constraints of the application are propagated towards the physical layer to obtain an estimation of performances based on the selected models. The Vocallo chip is characterised by several uncommon particularities. It is composed of a matrix of 15 cores linked to an external memory by a single communication bus. It is also important to specify that each of the cores is composed of 16 asynchronous ALUs working in parallel. By following the selected methodology, an intermediate representation of the application is selected

    Visualisation interactive de grands bâtiments

    No full text
    Best paper awardNational audienceLes performances des algorithmes de lancer de rayons sont directement liées à la structure accélératrice utilisée. En ce qui concerne les environnements architecturaux, plusieurs travaux ont précédemment démontré que la structure accélératrice la plus efficace est la structure cellules-et-passages. Dans cet article, nous proposons une nouvelle structure accélératrice qui consiste en une extension des structures cellules-et-passages classiques par une description topologique complète de la scène. La structure de données est décrite par un graphe dont le parcours, utilisant l'ensemble des propriétés topologiques de notre modèle, est particulièrement simple et rapide. Nous montrons dans cet article que notre structure permet un rendu interactif même pour de grands bâtiments composés de plusieurs centaines de pièces meublées en prenant en compte l'éclairage direct de plusieurs milliers de sources lumineuses ponctuelles

    Placement d'applications parallèles en fonction de l'affinité et de la topologie

    Get PDF
    Computer simulation is one of the pillars of Sciences and industry. Climate simulation,cosmology, or heart modeling are all areas in which computing power needs are constantlygrowing. Thus, how to scale these applications ? Parallelization and massively parallel supercomputersare the only ways to do achieve. Nevertheless, there is a price to pay consideringthe hardware topologies incessantly complex, both in terms of network and memoryhierarchy. The issue of data locality becomes central : how to reduce the distance betweena processing entity and data to which it needs to access ? Application placement is one ofthe levers to address this problem. In this thesis, we present the TreeMatch algorithmand its application for static mapping, that is to say at the lauchtime of the application,and the dynamic placement. For this second approach, we propose the awareness of datalocality within a load balancing algorithm. The different approaches discussed are validatedby experiments both on benchmarking codes and on real applications.La simulation numérique est un des piliers des Sciences et de l’industrie. La simulationmétéorologique, la cosmologie ou encore la modélisation du coeur humain sont autantde domaines dont les besoins en puissance de calcul sont sans cesse croissants. Dès lors,comment passer ces applications à l’échelle ? La parallélisation et les supercalculateurs massivementparallèles sont les seuls moyens d’y parvenir. Néanmoins, il y a un prix à payercompte tenu des topologies matérielles de plus en plus complexes, tant en terme de réseauque de hiérarchie mémoire. La question de la localité des données devient ainsi centrale :comment réduire la distance entre une entité logicielle et les données auxquelles elle doitaccéder ? Le placement d’applications est un des leviers permettant de traiter ce problème.Dans cette thèse, nous présentons l’algorithme de placement TreeMatch et ses applicationsdans le cadre du placement statique, c’est-à-dire au lancement de l’application, et duplacement dynamique. Pour cette seconde approche, nous proposons la prise en comptede la localité des données dans le cadre d’un algorithme d’équilibrage de charge. Les différentesapproches abordées sont validées par des expériences réalisées tant sur des codesd’évaluation de performances que sur des applications réelles

    Modélisation intégratrice du traitement BigData

    Get PDF
    Nowadays, multiple actors of Internet technology are producing very large amounts of data. Sensors, social media or e-commerce, all generate real-time extending information based on the 3 Vs of Gartner: Volume, Velocity and Variety. In order to efficiently exploit this data, it is important to keep track of the dynamic aspect of their chronological evolution by means of two main approaches: the polymorphism, a dynamic model able to support type changes every second with a successful processing and second, the support of data volatility by means of an intelligent model taking in consideration key-data, salient and valuable at a specific moment without processing all volumes of history and up to date data.The primary goal of this study is to establish, based on these approaches, an integrative vision of data life cycle set on 3 steps, (1) data synthesis by selecting key-values of micro-data acquired by different data source operators, (2) data fusion by sorting and duplicating the selected key-values based on a de-normalization aspect in order to get a faster processing of data and (3) the data transformation into a specific format of map of maps of maps, via Hadoop in the standard MapReduce process, in order to define the related graph in applicative layer.In addition, this study is supported by a software prototype using the already described modeling tools, as a toolbox compared to an automatic programming software and allowing to create a customized processing chain of BigDataDans le monde d’aujourd’hui de multiples acteurs de la technologie numérique produisent des quantités infinies de données. Capteurs, réseaux sociaux ou e-commerce, ils génèrent tous de l’information qui s’incrémente en temps-réel selon les 3 V de Gartner : en Volume, en Vitesse et en Variabilité. Afin d’exploiter efficacement et durablement ces données, il est important de respecter la dynamicité de leur évolution chronologique au moyen de deux approches : le polymorphisme d’une part, au moyen d’un modèle dynamique capable de supporter le changement de type à chaque instant sans failles de traitement ; d’autre part le support de la volatilité par un modèle intelligent prenant en compte des données clé seulement interprétables à un instant « t », au lieu de traiter toute la volumétrie des données actuelle et historique.L’objectif premier de cette étude est de pouvoir établir au moyen de ces approches une vision intégratrice du cycle de vie des données qui s’établit selon 3 étapes, (1) la synthèse des données via la sélection des valeurs-clés des micro-données acquises par les différents opérateurs au niveau de la source, (2) la fusion en faisant le tri des valeurs-clés sélectionnées et les dupliquant suivant un aspect de dé-normalisation afin d’obtenir un traitement plus rapide des données et (3) la transformation en un format particulier de carte de cartes de cartes, via Hadoop dans le processus classique de MapReduce afin d’obtenir un graphe défini dans la couche applicative.Cette réflexion est en outre soutenue par un prototype logiciel mettant en oeuvre les opérateurs de modélisation sus-décrits et aboutissant à une boîte à outils de modélisation comparable à un AGL et, permettant une mise en place assistée d'un ou plusieurs traitements sur BigDat

    L'hexacode, le code de Golay et le réseau de Leech construction, décodage, application en quantification

    Get PDF
    Ce mémoire traite spécifiquement de l'utilisation du code quaternaire [6,3,4], l' hexacode , en quantification vectorielle. Celui-ci permet de construire et surtout de décoder très efficacement le code de Golay binaire étendu [24,12,8] et le réseau de Leech tourné R ? 24 . Ces objets sont exceptionnels; ils servent tout particulièrement de base de comparaison dans l'étude des algorithmes de décodage algébrique. Le sujet est inspiré de travaux de recherche sur le codage de canal et la modulation codée, mais les résultats sont appliqués ici à la quantification uniquement. Les algorithmes proposés dans la littérature (à distance minimale et à distance bornée) sont détaillés; de nouveaux al gorithmes, fondés sur une recherche en profondeur d'abord, sont proposés. Les algorithmes de décodage algébrique sont appliqués à la quantification d'une source gaussienne sans mémoire . En effet, de par la dualité source-canal, ce qui est décodage au sens du canal peut servir au codage au sens de la source. Il ressort qu'en 24 dimensions le décodage algébrique sous-optimal offre un meilleur compromis entre performance et complexité que le décodage algébrique à distance minimale. Ce résultat incite donc à explorer les dimensions élévées de quantification au moyen de techniques algébriques et d'algorithmes de décodage sous-optimaux
    • …
    corecore