To see the other types of publications on this topic, follow the link: Optimisation du code latent.

Dissertations / Theses on the topic 'Optimisation du code latent'

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Optimisation du code latent.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Li, Huiyu. "Exfiltration et anonymisation d'images médicales à l'aide de modèles génératifs." Electronic Thesis or Diss., Université Côte d'Azur, 2024. http://www.theses.fr/2024COAZ4041.

Full text
Abstract:
Cette thèse aborde plusieurs problèmes de sécurité et de confidentialité lors du traitement d'images médicales dans des lacs de données. Ainsi, on explore la fuite potentielle de données lors de l'exportation de modèles d'intelligence artificielle, puis on développe une approche d'anonymisation d'images médicales qui protège la confidentialité des données. Le Chapitre2 présente une nouvelle attaque d'exfiltration de données, appelée Data Exfiltration by Compression (DEC), qui s'appuie sur les techniques de compression d'images. Cette attaque est effectuée lors de l'exportation d'un réseau de neurones entraîné au sein d'un lac de données distant et elle est applicable indépendamment de la tâche de traitement d'images considérée. En explorant à la fois les méthodes de compression sans perte et avec perte, ce chapitre montre comment l'attaque DEC peut être utilisée efficacement pour voler des images médicales et les reconstruire avec une grande fidélité, grâce à l'utilisation de deux ensembles de données CT et IRM publics. Ce chapitre explore également les contre-mesures qu'un propriétaire de données peut mettre en œuvre pour empêcher l'attaque. Il étudie d'abord l'ajout de bruit gaussien pour atténuer cette attaque, et explore comment les attaquants peuvent créer des attaques résilientes à cet ajout. Enfin, une stratégie alternative d'exportation est proposée, qui implique un réglage fin du modèle et une vérification du code. Le Chapitre 3 présente une méthode d'anonymisation d'images médicales par approche générative, une nouvelle approche pour trouver un compromis entre la préservation de la confidentialité des patients et l'utilité des images générées pour résoudre les tâches de traitement d'images. Cette méthode sépare le processus d'anonymisation en deux étapes : tout d'abord, il extrait les caractéristiques liées à l'identité des patients et à l'utilité des images médicales à l'aide d'encodeurs spécialement entrainés ; ensuite, il optimise le code latent pour atteindre le compromis souhaité entre l'anonymisation et l'utilité de l'image. Nous utilisons des encodeurs d'identité, d'utilité et un encodeur automatique génératif basé sur un réseau antagoniste pour créer des images synthétiques réalistes à partir de l'espace latent. Lors de l'optimisation, nous incorporons ces encodeurs dans de nouvelles fonctions de perte pour produire des images qui suppriment les caractéristiques liées à l'identité tout en conservant leur utilité pour résoudre un problème de classification. L'efficacité de cette approche est démontrée par des expériences sur l'ensemble de données de radiographie thoracique MIMIC-CXR, où les images générées permettent avec succès la détection de pathologies pulmonaires. Le Chapitre 4 s'appuie sur les travaux du Chapitre 3 en utilisant des réseaux antagonistes génératifs (GAN) pour créer une solution d'anonymisation plus robuste et évolutive. Le cadre est structuré en deux étapes distinctes : tout d'abord, nous développons un encodeur simplifié et un nouvel algorithme d'entraînement pour plonger chaque image dans un espace latent. Dans la deuxième étape, nous minimisons les fonctions de perte proposées dans le Chapitre 3 pour optimiser la représentation latente de chaque image. Cette méthode garantit que les images générées suppriment efficacement certaines caractéristiques identifiables tout en conservant des informations diagnostiques cruciales. Des expériences qualitatives et quantitatives sur l'ensemble de données MIMIC-CXR démontrent que notre approche produit des images anonymisées de haute qualité qui conservent les détails diagnostiques essentiels, ce qui les rend bien adaptées à la formation de modèles d'apprentissage automatique dans la classification des pathologies pulmonaires. Le chapitre de conclusion résume les contributions scientifiques de ce travail et aborde les problèmes et défis restants pour produire des données médicales sensibles, sécurisées et préservant leur confidentialité
This thesis aims to address some specific safety and privacy issues when dealing with sensitive medical images within data lakes. This is done by first exploring potential data leakage when exporting machine learning models and then by developing an anonymization approach that protects data privacy.Chapter 2 presents a novel data exfiltration attack, termed Data Exfiltration by Compression (DEC), which leverages image compression techniques to exploit vulnerabilities in the model exporting process. This attack is performed when exporting a trained network from a remote data lake, and is applicable independently of the considered image processing task. By exploring both lossless and lossy compression methods, this chapter demonstrates how DEC can effectively be used to steal medical images and reconstruct them with high fidelity, using two public CT and MR datasets. This chapter also explores mitigation measures that a data owner can implement to prevent the attack. It first investigates the application of differential privacy measures, such as Gaussian noise addition, to mitigate this attack, and explores how attackers can create attacks resilient to differential privacy. Finally, an alternative model export strategy is proposed which involves model fine-tuning and code verification.Chapter 3 introduces the Generative Medical Image Anonymization framework, a novel approach to balance the trade-off between preserving patient privacy while maintaining the utility of the generated images to solve downstream tasks. The framework separates the anonymization process into two key stages: first, it extracts identity and utility-related features from medical images using specially trained encoders; then, it optimizes the latent code to achieve the desired trade-off between anonymity and utility. We employ identity and utility encoders to verify patient identities and detect pathologies, and use a generative adversarial network-based auto-encoder to create realistic synthetic images from the latent space. During optimization, we incorporate these encoders into novel loss functions to produce images that remove identity-related features while maintaining their utility to solve a classification problem. The effectiveness of this approach is demonstrated through extensive experiments on the MIMIC-CXR chest X-ray dataset, where the generated images successfully support lung pathology detection.Chapter 4 builds upon the work from Chapter 4 by utilizing generative adversarial networks (GANs) to create a more robust and scalable anonymization solution. The framework is structured into two distinct stages: first, we develop a streamlined encoder and a novel training scheme to map images into a latent space. In the second stage, we minimize the dual-loss functions proposed in Chapter 3 to optimize the latent representation of each image. This method ensures that the generated images effectively remove some identifiable features while retaining crucial diagnostic information. Extensive qualitative and quantitative experiments on the MIMIC-CXR dataset demonstrate that our approach produces high-quality anonymized images that maintain essential diagnostic details, making them well-suited for training machine learning models in lung pathology classification.The conclusion chapter summarizes the scientific contributions of this work, and addresses remaining issues and challenges for producing secured and privacy preserving sensitive medical data
APA, Harvard, Vancouver, ISO, and other styles
2

Lomüller, Victor. "Générateur de code multi-temps et optimisation de code multi-objectifs." Thesis, Grenoble, 2014. http://www.theses.fr/2014GRENM050/document.

Full text
Abstract:
La compilation est une étape indispensable dans la création d'applications performantes.Cette étape autorise l'utilisation de langages de haut niveau et indépendants de la cible tout en permettant d'obtenir de bonnes performances.Cependant, de nombreux freins empêchent les compilateurs d'optimiser au mieux les applications.Pour les compilateurs statiques, le frein majeur est la faible connaissance du contexte d'exécution, notamment sur l'architecture et les données utilisées.Cette connaissance du contexte se fait progressivement pendant le cycle de vie de l'application.Pour tenter d'utiliser au mieux les connaissances du contexte d'exécution, les compilateurs ont progressivement intégré des techniques de génération de code dynamique.Cependant ces techniques ne se focalisent que sur l'utilisation optimale du matériel et n'utilisent que très peu les données.Dans cette thèse, nous nous intéressons à l'utilisation des données dans le processus d'optimisation d'applications pour GPU Nvidia.Nous proposons une méthode utilisant différents moments pour créer des bibliothèques adaptatives capables de prendre en compte la taille des données.Ces bibliothèques peuvent alors fournir les noyaux de calcul les plus adapté au contexte.Sur l'algorithme de la GEMM, la méthode permet d'obtenir des gains pouvant atteindre 100~\% tout en évitant une explosion de la taille du code.La thèse s'intéresse également aux gains et coûts de la génération de code lors de l'exécution, et ce du point de vue de la vitesse d'exécution, de l'empreinte mémoire et de la consommation énergétique.Nous proposons et étudions 2 approches de génération de code à l'exécution permettant la spécialisation de code avec un faible surcoût.Nous montrons que ces 2 approches permettent d'obtenir des gains en vitesse et en consommation comparables, voire supérieurs, à LLVM mais avec un coût moindre
Compilation is an essential step to create efficient applications.This step allows the use of high-level and target independent languages while maintaining good performances.However, many obstacle prevent compilers to fully optimize applications.For static compilers, the major obstacle is the poor knowledge of the execution context, particularly knowledge on the architecture and data.This knowledge is progressively known during the application life cycle.Compilers progressively integrated dynamic code generation techniques to be able to use this knowledge.However, those techniques usually focuses on improvement of hardware capabilities usage but don't take data into account.In this thesis, we investigate data usage in applications optimization process on Nvidia GPU.We present a method that uses different moments in the application life cycle to create adaptive libraries able to take into account data size.Those libraries can therefore provide more adapted kernels.With the GEMM algorithm, the method is able to provide gains up to 100~\% while avoiding code size explosion.The thesis also investigate runtime code generation gains and costs from the execution speed, memory footprint and energy consumption point of view.We present and study 2 light-weight runtime code generation approaches that can specialize code.We show that those 2 approaches can obtain comparable, and even superior, gains compared to LLVM but at a lower cost
APA, Harvard, Vancouver, ISO, and other styles
3

Chaabane, Rim. "Analyse et optimisation de patterns de code." Paris 8, 2011. http://www.theses.fr/2011PA084174.

Full text
Abstract:
Our work is performed in the context of a financial company that develops and maintains legacy software. This software has been existing for more than twenty years, it was written in a proprietary, procedural and 4GL language called ADL (or Application Development Language). This software was initially developed for VMS system and deals with old generation of DBMS. For commercial reasons, the software has been ported to UNIX systems and to new RDBMS; Oracle and Sybase. It has also been extended to offer web interfaces. This legacy software has to face some new challenges as databases grow. During these last 20 years, some phenomenons like the merging of two companies, make data grow up to more than 1Terabyte and will reach 1Petabyte in a few years. In these new contexts, the ADL language shows limits to handle such a mass of data. Some patterns of code with database access have been suspected to be responsible for important decrease in performance. Our work consists in detecting all the instances of a suspected pattern of code in the source code or procedures, and identifying the instances of code, the most often called and the most time consuming. We developed a first tool called Adlmap, which is based on static analysis. It detects all DB accesses and flags those that are suspected patterns of code. The second tool we developed, named Pmonitor, is based on hybrid analysis; a combination of static and dynamic analysis. We use it to highlight inefficient code patterns instances
Notre travail consiste en l’analyse et l’optimisation du code source d’applications de type système hérité (ou legacy system). Nous avons particulièrement travaillé sur un logiciel, appelé GP3, qui est développé et maintenu par la société de finances Sungard. Ce logiciel existe depuis plus d’une vingtaine d’années, il est écrit en un langage propriétaire, procédural et de 4ème génération, appelé ADL (ou Application Development Language). Ce logiciel à été initialement développé sous VMS et accédait à des bases de données d’ancienne génération. Pour des raisons commerciales, il fut porté sous UNIX et s’adresse maintenant à des SGBD-R de nouvelles génération ; Oracle et Sybase. Il a également été étendu de manière à offrir une interface web. Ce système hérité doit maintenant faire face à de nouveaux défis, comme la croissance de la taille des bases de données. Durant ces 20 dernières années, nous avons pu observer la fusion de plusieurs entreprises, ce qui implique la fusion de bases de données. Ces dernières peuvent dépasser les 1 Téra de données et plus encore sont à prévoir à l’avenir. Dans ce nouveau contexte, le langage ADL montre des limites à traiter une aussi importante masse de données. Des patterns de code, désignant des structures d’accès en base, sont suspectés d’être responsables de dégradations des performances. Notre travail consiste à détecter toutes les instances de patterns dans le code source, puis d’identifier les instances les plus consommatrices en temps d’exécution et en nombre d’appels. Nous avons développé un premier outil, nommé Adlmap, basé sur l’analyse statique de code, et qui permet de détecter toutes les accès en base dans le code source. Les accès en base identifiés comme patterns de code sont marqués. Le second outil que nous avons développé, nommé Pmonitor, est basé sur une analyse hybride ; combinaison d’analyses statique et dynamique. Cet outil nous permet de mesurer les performances des patterns de code et ainsi, d’identifier les instances les moins performantes
APA, Harvard, Vancouver, ISO, and other styles
4

Jupp, Ian David. "The optimisation of discrete pixel code aperture telescopes." Thesis, University of Southampton, 1996. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.243190.

Full text
APA, Harvard, Vancouver, ISO, and other styles
5

Halli, Abderrahmane Nassim. "Optimisation de code pour application Java haute-performance." Thesis, Université Grenoble Alpes (ComUE), 2016. http://www.theses.fr/2016GREAM047/document.

Full text
Abstract:
Java est à ce jour l'un des langages, si ce n'est le langage, le plus utilisé toutes catégories de programmation confondues et sa popularité concernant le développement d'applications scientifiques n'est plus à démontrer. Néanmoins son utilisation dans le domaine du Calcul Haute Performance (HPC) reste marginale même si elle s'inscrit au cœur de la stratégie de certaine entreprise comme Aselta Nanographics, éditeur de l'application Inscale pour la modélisation des processus de lithographie par faisceaux d'électron, instigateur et partenaire industriel de cette thèse.Et pour cause, sa définition haut-niveau et machine-indépendante, reposant sur un environnement d'exécution, parait peu compatible avec le besoin de contrôle bas-niveau nécessaire pour exploiter de manière optimale des architectures de microprocesseurs de plus en plus complexes comme les architectures Intel64 (implémentation Intel de l'architecture x86-64).Cette responsabilité est entièrement déléguée à l'environnement d'exécution, notamment par le biais de la compilation dynamique, chargée de générer du code binaire applicatif à la volée. C'est le cas de la JVM HotSpot, au centre de cette étude, qui s'est imposée comme l'environnement de référence pour l'exécution d'applications Java en production.Cette thèse propose, dans ce contexte, de répondre à la problématique suivante : comment optimiser les performances de code séquentiel Java plus particulièrement dans un environnement HotSpot/Intel64 ?Pour tenter d'y répondre, trois axes principaux ont été explorés. Le premier axe est l'analyse des performances du polymorphisme, mécanisme Java haut-niveau omniprésent dans les applications, dans le lequel on tente de mesurer l'impact du polymorphisme sur les performances du code et d'évaluer des alternatives possibles. Le second axe est l'intégration de code natif au sein des applications - afin de bénéficier d'optimisations natives - avec prise en compte du compromis coût d'intégration/qualité du code. Enfin le troisième axe est l'extension du compilateur dynamique pour des méthodes applicatives afin, là encore, de bénéficier d'optimisations natives tout en s'affranchissant du surcout inhérent à l'intégration de code natif.Ces trois axes couvrent différentes pistes exploitables dans un contexte de production qui doit intégrer certaines contraintes comme le temps de développement ou encore la maintenabilité du code. Ces pistes ont permis d'obtenir des gains de performances significatifs sur des sections de code applicatif qui demeuraient jusqu'alors très critiques
L'auteur n'a pas fourni de résumé en anglais
APA, Harvard, Vancouver, ISO, and other styles
6

Adamczewski, Martine. "Vectorisation, analyse et optimisation d'un code bidimensionnel eulérien." Bordeaux 1, 1986. http://www.theses.fr/1986BOR10603.

Full text
Abstract:
On reprend le code Hull qui traite les problèmes de grande et petite déformations, que ce soit en hydrodynamique pure ou en éastoplasticité. Ls configurations étudiées sont essentiellement des cas d'impacts ou de détonation. On apporte quelques modifications au code Hull. Analyse et étude de la stabilité et de la convergence. Réalisation de la vectorisation du code
APA, Harvard, Vancouver, ISO, and other styles
7

Adamczewski, Martine. "Vectorisation, analyse et optimisation d'un code bidimensionnel eulérien." Grenoble 2 : ANRT, 1986. http://catalogue.bnf.fr/ark:/12148/cb375953123.

Full text
APA, Harvard, Vancouver, ISO, and other styles
8

Rastelli, Riccardo, and Nial Friel. "Optimal Bayesian estimators for latent variable cluster models." Springer Nature, 2018. http://dx.doi.org/10.1007/s11222-017-9786-y.

Full text
Abstract:
In cluster analysis interest lies in probabilistically capturing partitions of individuals, items or observations into groups, such that those belonging to the same group share similar attributes or relational profiles. Bayesian posterior samples for the latent allocation variables can be effectively obtained in a wide range of clustering models, including finite mixtures, infinite mixtures, hidden Markov models and block models for networks. However, due to the categorical nature of the clustering variables and the lack of scalable algorithms, summary tools that can interpret such samples are not available. We adopt a Bayesian decision theoretical approach to define an optimality criterion for clusterings and propose a fast and context-independent greedy algorithm to find the best allocations. One important facet of our approach is that the optimal number of groups is automatically selected, thereby solving the clustering and the model-choice problems at the same time. We consider several loss functions to compare partitions and show that our approach can accommodate a wide range of cases. Finally, we illustrate our approach on both artificial and real datasets for three different clustering models: Gaussian mixtures, stochastic block models and latent block models for networks.
APA, Harvard, Vancouver, ISO, and other styles
9

Cosma, Georgina. "An approach to source-code plagiarism detection investigation using latent semantic analysis." Thesis, University of Warwick, 2008. http://wrap.warwick.ac.uk/3575/.

Full text
Abstract:
This thesis looks at three aspects of source-code plagiarism. The first aspect of the thesis is concerned with creating a definition of source-code plagiarism; the second aspect is concerned with describing the findings gathered from investigating the Latent Semantic Analysis information retrieval algorithm for source-code similarity detection; and the final aspect of the thesis is concerned with the proposal and evaluation of a new algorithm that combines Latent Semantic Analysis with plagiarism detection tools. A recent review of the literature revealed that there is no commonly agreed definition of what constitutes source-code plagiarism in the context of student assignments. This thesis first analyses the findings from a survey carried out to gather an insight into the perspectives of UK Higher Education academics who teach programming on computing courses. Based on the survey findings, a detailed definition of source-code plagiarism is proposed. Secondly, the thesis investigates the application of an information retrieval technique, Latent Semantic Analysis, to derive semantic information from source-code files. Various parameters drive the effectiveness of Latent Semantic Analysis. The performance of Latent Semantic Analysis using various parameter settings and its effectiveness in retrieving similar source-code files when optimising those parameters are evaluated. Finally, an algorithm for combining Latent Semantic Analysis with plagiarism detection tools is proposed and a tool is created and evaluated. The proposed tool, PlaGate, is a hybrid model that allows for the integration of Latent Semantic Analysis with plagiarism detection tools in order to enhance plagiarism detection. In addition, PlaGate has a facility for investigating the importance of source-code fragments with regards to their contribution towards proving plagiarism. PlaGate provides graphical output that indicates the clusters of suspicious files and source-code fragments.
APA, Harvard, Vancouver, ISO, and other styles
10

Radhouane, Ridha. "Optimisation de modems VDSL." Valenciennes, 2000. https://ged.uphf.fr/nuxeo/site/esupversions/63219c61-e8b1-424c-a9aa-4c3502179c78.

Full text
Abstract:
Nous avons effectué cette thèse dans un contexte de transmission numérique DMT-VDSL. Trois sujets ont été traités dans ce cadre ; la transformée de Fourier rapide (FFT), la réduction des interférences VDSL sur les bandes HAMet l'entrelacement convolutionnel. Nous avons proposé une implémentation originale, la FFT flux continu mode mixte (CFMM-FFT), qui optimise la mémoire de traitement de la FFTen la réduisant de trois fois la taille de l'entrée à seulement deux fois. La CFMM-FFT est paramétrable et sans complexité particulière et elle sera exploitée par Texas Instruments dans ses modems DMT-VDSL de la prochaine génération (à savoir, la FDD-DMT-VDSL). Nous avons aussi étudié la suppression de l'énergie de fuite DMT-VDSL dans les bandes radio amateur HAM ou nous avons mis en évidence un phénomène spécifique à la modulation DMT et aux modulations multi-porteuse ; les porteuses physiques de la modulation subissent des rotations (rotation des porteuses physiques RPP) proportionnelles à leurs indices et à la longueur du préfixe cyclique utilisé. Nous avons exploité la RPP pour optimiser la méthode des Dummy tones utilisée pour atténuer la fuite VDSL dans les bandes HAM : nous avons défini les Dummy tones à coefficients complexes qui garantissent des atténuations très proches des -20db (recommandés par l'ETSI et l'ANSI) dans les modems actuels TDD-DMT-VDSL et inférieures à - 20db dans ceux de la prochaine génération (FDD-DMT-VDSL). Le troisième sujet traité est l'optimisation des implémentations matérielles de l'entrelacement convolutionnel. Nous avons proposé une nouvelle méthode simple pour une implémentation économique qui est valable sur une classe particulière de paramètres I (taille du bloc d'entrée) et d (profondeur d'entrelacement). L’utilisation conjointe de l'implémentation proposée avec la méthode de DAVIC, permet de doubler l'étendue des paramètres d'entrelacement I et d et d'offrir plus de souplesse aux systèmes exploitant l'entrelacement.
APA, Harvard, Vancouver, ISO, and other styles
11

Nijhar, Tajinder Pal Kaur. "Source code optimisation in a high level synthesis system." Thesis, University of Southampton, 1997. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.242110.

Full text
APA, Harvard, Vancouver, ISO, and other styles
12

Ieva, Carlo. "Révéler le contenu latent du code source : à la découverte des topoi de programme." Thesis, Montpellier, 2018. http://www.theses.fr/2018MONTS024/document.

Full text
Abstract:
Le développement de projets open source à grande échelle implique de nombreux développeurs distincts qui contribuent à la création de référentiels de code volumineux. À titre d'exemple, la version de juillet 2017 du noyau Linux (version 4.12), qui représente près de 20 lignes MLOC (lignes de code), a demandé l'effort de 329 développeurs, marquant une croissance de 1 MLOC par rapport à la version précédente. Ces chiffres montrent que, lorsqu'un nouveau développeur souhaite devenir un contributeur, il fait face au problème de la compréhension d'une énorme quantité de code, organisée sous la forme d'un ensemble non classifié de fichiers et de fonctions.Organiser le code de manière plus abstraite, plus proche de l'homme, est une tentative qui a suscité l'intérêt de la communauté du génie logiciel. Malheureusement, il n’existe pas de recette miracle ou bien d’outil connu pouvant apporter une aide concrète dans la gestion de grands bases de code.Nous proposons une approche efficace à ce problème en extrayant automatiquement des topoi de programmes, c'est à dire des listes ordonnées de noms de fonctions associés à un index de mots pertinents. Comment se passe le tri? Notre approche, nommée FEAT, ne considère pas toutes les fonctions comme égales: certaines d'entre elles sont considérées comme une passerelle vers la compréhension de capacités de haut niveau observables d'un programme. Nous appelons ces fonctions spéciales points d’entrée et le critère de tri est basé sur la distance entre les fonctions du programme et les points d’entrée. Notre approche peut être résumée selon ses trois étapes principales : 1) Preprocessing. Le code source, avec ses commentaires, est analysé pour générer, pour chaque unité de code (un langage procédural ou une méthode orientée objet), un document textuel correspondant. En outre, une représentation graphique de la relation appelant-appelé (graphe d'appel) est également créée à cette étape. 2) Clustering. Les unités de code sont regroupées au moyen d’une classification par clustering hiérarchique par agglomération (HAC). 3) Sélection du point d’entrée. Dans le contexte de chaque cluster, les unités de code sont classées et celles placées à des positions plus élevées constitueront un topos de programme.La contribution de cette thèse est triple: 1) FEAT est une nouvelle approche entièrement automatisée pour l'extraction de topoi de programme, basée sur le regroupement d'unités directement à partir du code source. Pour exploiter HAC, nous proposons une distance hybride originale combinant des éléments structurels et sémantiques du code source. HAC requiert la sélection d’une partition parmi toutes celles produites tout au long du processus de regroupement. Notre approche utilise un critère hybride basé sur la graph modularity et la cohérence textuelle pour sélectionner automatiquement le paramètre approprié. 2) Des groupes d’unités de code doivent être analysés pour extraire le programme topoi. Nous définissons un ensemble d'éléments structurels obtenus à partir du code source et les utilisons pour créer une représentation alternative de clusters d'unités de code. L’analyse en composantes principales, qui permet de traiter des données multidimensionnelles, nous permet de mesurer la distance entre les unités de code et le point d’entrée idéal. Cette distance est la base du classement des unités de code présenté aux utilisateurs finaux. 3) Nous avons implémenté FEAT comme une plate-forme d’analyse logicielle polyvalente et réalisé une étude expérimentale sur une base ouverte de 600 projets logiciels. Au cours de l’évaluation, nous avons analysé FEAT sous plusieurs angles: l’étape de mise en grappe, l’efficacité de la découverte de topoi et l’évolutivité de l’approche
During the development of long lifespan software systems, specification documents can become outdated or can even disappear due to the turnover of software developers. Implementing new software releases or checking whether some user requirements are still valid thus becomes challenging. The only reliable development artifact in this context is source code but understanding source code of large projects is a time- and effort- consuming activity. This challenging problem can be addressed by extracting high-level (observable) capabilities of software systems. By automatically mining the source code and the available source-level documentation, it becomes possible to provide a significant help to the software developer in his/her program understanding task.This thesis proposes a new method and a tool, called FEAT (FEature As Topoi), to address this problem. Our approach automatically extracts program topoi from source code analysis by using a three steps process: First, FEAT creates a model of a software system capturing both structural and semantic elements of the source code, augmented with code-level comments; Second, it creates groups of closely related functions through hierarchical agglomerative clustering; Third, within the context of every cluster, functions are ranked and selected, according to some structural properties, in order to form program topoi.The contributions of the thesis is three-fold:1) The notion of program topoi is introduced and discussed from a theoretical standpoint with respect to other notions used in program understanding ;2) At the core of the clustering method used in FEAT, we propose a new hybrid distance combining both semantic and structural elements automatically extracted from source code and comments. This distance is parametrized and the impact of the parameter is strongly assessed through a deep experimental evaluation ;3) Our tool FEAT has been assessed in collaboration with Software Heritage (SH), a large-scale ambitious initiative whose aim is to collect, preserve and, share all publicly available source code on earth. We performed a large experimental evaluation of FEAT on 600 open source projects of SH, coming from various domains and amounting to more than 25 MLOC (million lines of code).Our results show that FEAT can handle projects of size up to 4,000 functions and several hundreds of files, which opens the door for its large-scale adoption for program understanding
APA, Harvard, Vancouver, ISO, and other styles
13

Gomez, Jose Ismael Soto. "Optimisation techniques for combining code modulation with equalisation for fading channels." Thesis, Staffordshire University, 1997. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.336888.

Full text
APA, Harvard, Vancouver, ISO, and other styles
14

Parttimaa, T. (Tuomas). "Test suite optimisation based on response status codes and measured code coverage." Master's thesis, University of Oulu, 2013. http://urn.fi/URN:NBN:fi:oulu-201305201293.

Full text
Abstract:
A software test suite often comprises of thousands of distinct test cases. Therefore, the execution of an unoptimised test suite might waste valuable time and resources. In order to avoid the unnecessary execution of redundant test cases, the test suite should be optimised to contain fewer test cases. This thesis focuses on the optimisation efforts of a commercially available Hypertext Transfer Protocol (HTTP) fuzzing test suite. A test setup was created for the optimisation purposes. The test setup consisted of the given fuzzing test suite, five different HTTP server implementations used as test subjects, and a code coverage measurement tool. Test runs were executed against the five test subjects with the test suite, and at the same time code coverage was measured from the test subjects. In this thesis, three different types of test suite optimisation algorithms were implemented. The original test suite was optimised by applying the optimisation algorithms to the results of the test runs. Another set of test runs were performed with the optimised subset suites, while again measuring code coverage from the same test subjects. All of the coverage measurement results are presented and analysed. Based on the code coverage analysis, the test suite optimisation algorithms were assessed and the following research results were obtained. Code coverage analysis demonstrated with a strong degree of certainty that a variation in the response messages indicates which test cases actually exercise the test subject. The analysis showed also with a quite strong degree of certainty that an optimised test suite can achieve the same level of code coverage which was attained with the original test suite
Ohjelmistojen testisarja koostuu usein tuhansista erilaisista testitapauksista. Testisarjan suorittamisessa voi mennä hukkaan arvokasta aikaa ja resursseja, jos testisarjaa ei optimoida. Testisarja tulee optimoida siten, että se sisältää vähän testitapauksia, jotta epäolennaisten testitapausten tarpeeton suoritus vältetään. Tämä diplomityö keskittyy kaupallisesti saatavilla olevan Hypertext Transfer Protocol (HTTP) -palvelimien fuzz-testisarjan optimointiyrityksiin. Optimointia varten luotiin testiympäristö, joka koostuu fuzz-testaussarjasta, testikohteina käytetyistä viidestä HTTP-palvelimesta ja koodikattavuuden mittaustyökalusta. Ennalta määriteltyä testisarjaa käytettiin testikohteille suoritetuissa testiajoissa, joiden aikana mitattiin testikohteista koodikattavuus. Diplomityössä toteutettiin kolme erilaista testisarjan optimointialgoritmia. Alkuperäinen testisarja optimoitiin käyttämällä algoritmeja testiajojen tuloksiin. Optimoiduilla osajoukkosarjoilla suoritettiin uudet testiajot, joiden aikana mitattiin testikohteista koodikattavuus. Kaikki koodikattavuusmittaustulokset on esitetty ja analysoitu. Kattavuusanalyysin perusteella arvioitiin testisarjan optimointialgoritmien toimivuus ja saavutettiin seuraavat tutkimustulokset. Koodikattavuusanalyysin avulla saatiin varmuus siitä, että muutos vastausviesteissä ilmaisee, mitkä testitapaukset oikeasti käyttävät testikohdetta. Analyysilla saatiin myös kohtalainen varmuus siitä, että optimoidulla osajoukkosarjalla voidaan saavuttaa sama koodikattavuus, joka saavutettiin alkuperäisellä testisarjalla
APA, Harvard, Vancouver, ISO, and other styles
15

Descroix, Cannie Claire. "Optimisation de forme des structures à partir d'un grand code éléments finis." Grenoble INPG, 1989. http://www.theses.fr/1989INPG0125.

Full text
Abstract:
On optimise la forme des structures planes et axisymetriques. Les chargements peuvent etre des forces ponctuelles, reparties sur le bord, ou volumiques. Pour les structures axisymetriques, ils peuvent etre developpes en series de fourier. On minimise les objectifs suivants : le poids, l'integrale d'une fonction dependant de la contrainte equivalente de von mises ou de la contrainte tangentielle de bord. On peut prendre en compte des limitations sur : le volume, une fonction de contraintes, la geometrie. Les calculs des sensibilites sont effectues a partir de methodes utilisant la discretisation par elements finis. L'evolution du maillage est basee sur l'utilisation d'une loi physique. Cela permet d'employer un mailleur libre. Les developpements informatiques ont ete effectues dans le code elements finis systus (developpe et commercialise par framatome).
APA, Harvard, Vancouver, ISO, and other styles
16

Faye, Papa Aldemba. "Couplage algorithme génétique-code éléments finis pour le dimensionnement de structures en matériaux composites." Clermont-Ferrand 2, 2004. http://www.theses.fr/2004CLF22497.

Full text
Abstract:
Ce travail a eu pour objet l'optimisation des structures en matériaux composites par algorithme génétique. Durant la première phase, l'algorithme de base a été amélioré afin d'accroître sa vitesse de convergence, en optimisant les séquences d'empilement de stratifiés sollicités avec des efforts de membrane. Dans la seconde étape, l'algorithme a été couplé avec un module de calcul éléments finis, de manière à pouvoir optimiser des structures de formes et de chargements plus complexes. Un des apports de ce travail a consisté à y adjoindre une procédure permettant d'assurer la continuité des plis d'un sous-domaine à l'autre de la structure, la séquence d'empilement des plis étant optimisée dans chacun d'eux. Trois plaques ainsi que deux tronçons de maquette de pale, soumis à des chargements de flexion-torsion, ont été optimisés. Les essais effectués sur ces derniers ont permis d'apporter un début de validation expérimentale à la démarche proposée, mettant en évidence des gains en masse de l'ordre de 25%
APA, Harvard, Vancouver, ISO, and other styles
17

Taleb, Robin I. "Preparation, optimisation and characterisation of sequence selective compounds." Thesis, View thesis, 2008. http://handle.uws.edu.au:8081/1959.7/38214.

Full text
Abstract:
DNA is the pharmacological target for most platinum drugs; however, the majority of these drugs show little or no specificity for particular base pairs. Considerable progress has been made in the design of sequence selective compounds, such that an antiparallel association of a polyamide can have high affinity for selected DNA base pairs. Hairpin polyamides have distinct advantages as they achieve affinities and specificities that are comparable to that of DNA-binding proteins. Platinum(II) hairpin polyamides are expected to display antitumour activity and target specific sequences of DNA. Five DNA-sequence-selective hairpin polyamide platinum(II) complexes, containing pyrrole (Py) and imidazole (Im) heterocyclic rings, have been synthesised using a combination of solid and solution phase chemistry. One mononuclear sequence selective complex, β-Ala-PyPyPy-L4-ImImIm-L4-Pt (HLSP-6) [β-Ala is β-alanine, L4 is 4-(Fmoc-amino)butyric acid and Pt is transplatin], and two dinuclear sequence selective complexes, β-Ala-PyPyPy-L4-ImImIm-L6'-Pt-(Pt) (DNHLSP-6) [L6' is 2,6-Fmoc-Lysine-(Fmoc)-OH] and β-Ala-PyPyImImIm-L4'-PyPyPyPyPy-L6'-Pt-(Pt) (DNHLSP-10) (L4' is 2-Boc-4-Fmoc-L-diaminobutyric acid), were synthesised entirely using solid phase chemistry. Two mononuclear sequence selective complexes, Pt-L6-β-Ala-Py-L4-Im (HSP-2) and Pt-L6-β-Ala-PyPyPy-L4-ImImIm (HSP-6), were synthesised using a combination of solid and solution phase chemistry. The synthesis of a trinuclear sequence selective polyamide was also attempted using a combination of solid and solution phase chemistry. The polyamides were synthesised in a series of reaction steps. Each heterocyclic ring and linker was coupled through solid phase chemistry using 2-(1H-benzotriazole-1-y1)-1,1,3,3-tetramethyluronium hexafluorophosphate (HBTU). Once the organic components were assembled, the platinum(II) group/s was/were added using either solid or solution phase chemistry. The polyamide sequence of PyPyPy-L4-ImImIm was designed to target the guanine rich telomere region of DNA. The metal complexes reported in this study will span sequences between 2, 5 or 7 DNA base pairs (depending on their length), which include 5'-(A/T)GGG(A/T)-3' and 5'-(A/T)(A/T)(A/T)GGG(A/T)-3'. All complexes were characterised using 1H and 195Pt NMR, high resolution mass spectrometry and elemental analysis. The binding of HLSP-6 and DNHLSP-6 to guanosine was also monitored by 1H NMR.
APA, Harvard, Vancouver, ISO, and other styles
18

Laguzet, Florence. "Etude et optimisation d'algorithmes pour le suivi d'objets couleur." Thesis, Paris 11, 2013. http://www.theses.fr/2013PA112197.

Full text
Abstract:
Les travaux de cette thèse portent sur l'amélioration et l'optimisation de l'algorithme de suivi d'objet couleur Mean-Shift à la fois d’un point de vue robustesse du suivi et d’un point de vue architectural pour améliorer la vitesse d’exécution. La première partie des travaux a consisté en l'amélioration de la robustesse du suivi. Pour cela, l'impact des espaces de représentation couleur a été étudié, puis une méthode permettant la sélection de l'espace couleur représentant le mieux l'objet à suivre a été proposée. L'environnement de la cible changeant au cours du temps, une stratégie est mise en place pour resélectionner un espace couleur au moment opportun. Afin d'améliorer la robustesse dans le cas de séquences particulièrement difficile, le Mean-Shift avec stratégie de sélection a été couplé avec un autre algorithme plus coûteux en temps d'exécution : le suivi par covariance. L’objectif de ces travaux est d’obtenir un système complet fonctionnant en temps réel sur processeurs multi-cœurs SIMD. Une phase d’étude et d'optimisation a donc été réalisée afin de rendre les algorithmes paramétrables en complexité pour qu’ils puissent s’exécuter en temps réel sur différentes plateformes, pour différentes tailles d’images et d’objets suivi. Dans cette optique de compromis vitesse / performance, il devient ainsi possible de faire du suivi temps-réel sur des processeurs ARM type Cortex A9
The work of this thesis focuses on the improvement and optimization of the Mean-Shift color object tracking algorithm, both from a theoretical and architectural point of view to improve both the accuracy and the execution speed. The first part of the work consisted in improving the robustness of the tracking. For this, the impact of color space representation on the quality of tracking has been studied, and a method for the selection of the color space that best represents the object to be tracked has been proposed. The method has been coupled with a strategy determining the appropriate time to recalculate the model. Color space selection method was also used in collaboration with another object tracking algorithm to further improve the tracking robustness for particularly difficult sequences : the covariance tracking which is more time consuming. The objective of this work is to obtain an entire real time system running on multi-core SIMD processors. A study and optimization phase has been made in order to obtain algorithms with a complexity that is configurable so that they can run in real time on different platforms, for various sizes of images and object tracking. In this context of compromise between speed and performance, it becomes possible to do real-time tracking on processors like ARM Cortex A9
APA, Harvard, Vancouver, ISO, and other styles
19

Drai, Patrick. "Optimisation d'une méthode numérique en thermohydraulique - application de cette méthode au code CEDRIC." Aix-Marseille 1, 1998. http://www.theses.fr/1998AIX11058.

Full text
Abstract:
Un modele moyen est developpe pour la simulation de transitoires diphasiques (liquide-vapeur) induit par les depressurisations accidentelles d'enceintes contenant initialement du liquide a haute pression. Il est base sur un systeme a trois equations et un modele de drift-flux decrivant la vitesse relative entre phases. La solution du systeme est obtenue grace a un schema discret totalement implicite en temps. Un traitement original pour le terme de drift-flux (base sur le concept de cellule donneuse) est utilise. La comparaison calcul / experience est tres bonne. La grande rapidite des calculs permet de realiser des simulations temps reel, qui sont tres importantes pour des simulateurs temps reel.
APA, Harvard, Vancouver, ISO, and other styles
20

Crick, Thomas. "Superoptimisation : provably optimal code generation using answer set programming." Thesis, University of Bath, 2009. https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.518295.

Full text
APA, Harvard, Vancouver, ISO, and other styles
21

Taleb, Robin I. "Preparation, optimisation and characterisation of sequence selective compounds." View thesis, 2008. http://handle.uws.edu.au:8081/1959.7/38214.

Full text
Abstract:
Thesis (Ph.D.)--University of Western Sydney, 2008.
"A thesis presented to the University of Western Sydney, College of Health and Science, School of Biomedical and Health Sciences in fulfilment of the requirements for the degree of Doctor of Philosophy." Includes bibliography.
APA, Harvard, Vancouver, ISO, and other styles
22

Çergani, Ervina [Verfasser], Mira Akademischer Betreuer] Mezini, and Christoph-Matthias [Akademischer Betreuer] [Bockisch. "Machine Learning as a Mean to Uncover Latent Knowledge from Source Code / Ervina Cergani ; Mira Mezini, Christoph Bockisch." Darmstadt : Universitäts- und Landesbibliothek Darmstadt, 2020. http://nbn-resolving.de/urn:nbn:de:tuda-tuprints-116586.

Full text
APA, Harvard, Vancouver, ISO, and other styles
23

Çergani, Ervina [Verfasser], Mira [Akademischer Betreuer] Mezini, and Christoph [Akademischer Betreuer] Bockisch. "Machine Learning as a Mean to Uncover Latent Knowledge from Source Code / Ervina Cergani ; Mira Mezini, Christoph Bockisch." Darmstadt : Universitäts- und Landesbibliothek Darmstadt, 2020. http://d-nb.info/1211088456/34.

Full text
APA, Harvard, Vancouver, ISO, and other styles
24

Cergani, Ervina [Verfasser], Mira [Akademischer Betreuer] Mezini, and Christoph [Akademischer Betreuer] Bockisch. "Machine Learning as a Mean to Uncover Latent Knowledge from Source Code / Ervina Cergani ; Mira Mezini, Christoph Bockisch." Darmstadt : Universitäts- und Landesbibliothek Darmstadt, 2020. http://d-nb.info/1211088456/34.

Full text
APA, Harvard, Vancouver, ISO, and other styles
25

Lemuet, Christophe William. "Automated tuning and code generation system for scientific computing." Versailles-St Quentin en Yvelines, 2005. http://www.theses.fr/2005VERS0003.

Full text
Abstract:
Due to complex interactions between hardware mechanisms and software dynamic behaviours, achieving high performance independently from runtime or micro-architectural parameters is an extremely difficult task. As a solution, many scientific code sections are organized around optimized stand alone libraries that are either hand tuned or generated by an automatic tuning system targeting a single set of pre-defined codes. Performance is achieved at the cost of versatility. This thesis advocates an empirical approach for the automatic tuning of vector loops in most scientific applications. We detail the framework of an automated system taking place after high-level code transformation that resolves compiler code generation issues, and achieves high performance independently of many run-time parameters. Thus, it combines the high performance of libraries with the functionalities of compilers. The optimization process relies on the decomposition of critical vector loops into hierarchically organized code patterns. A systematic micro-benchmarking step is performed allowing to deduce optimizations techniques used to generate a new optimized vector loop stored in a database. Then, it is limited neither by the number of kernels nor to relying on a standardization of kernel calls and it avoids weak compiler low-level code generation. This framework was applied to the Alpha 21264, Power 4 and Itanium 2 processors and revealed performance behaviours due to complex interactions between hardware and software. Optimization techniques were deduced, applied to real-life codes and benchmarks and improved performance between 20% and 100% depending on the optimized code section
Des interactions complexes entre les mécanismes matériels et les comportements des logiciels à l'exécution rendent la tâche des compilateurs difficile pour obtenir de hautes performances, indépendamment du contexte ou de paramètres micro-architecturaux. Dans le cas du calcul scientifique, nombreux sont les codes organisés autour de fonctions standardisées afin d'utiliser des bibliothèques. Ces dernières peuvent être optimisées, de façon manuelle ou automatiquement mais que pour un seul ensemble de noyaux prédéfinis. La performance est alors obtenue au détriment de la flexibilité. Cette thèse défend une approche empirique de l'optimisation automatique de boucles vectorielles. Nous détaillons l'infrastructure d'un système automatique prenant place après des transformations de code haut-niveau et remplaçant la génération de code bas niveau des compilateurs parfois défaillante. Notre processus d'optimisation repose sur une décomposition des boucles vectorielles en des motifs de code organisés de façon hiérarchique dont les performances sont systématiquement évaluées et permettent de déduire des techniques d'optimisation servant à en générer des versions optimisées. Celles ci sont alors stockées dans une base de donnée. Il n'y a pas de limitation au nombre de noyaux à optimisés, et ne repose pas sur la génération de code bas niveau des compilateurs. Ce système appliqué sur plate-formes à base d'Alpha 21264, Power 4 et Itanium 2 a permis de révéler des performances complexes. Des optimisations ont néanmoins été déduites et appliquées sur des codes réels, améliorant les performances de 20% à 100% selon le code considéré
APA, Harvard, Vancouver, ISO, and other styles
26

Amstel, Duco van. "Optimisation de la localité des données sur architectures manycœurs." Thesis, Université Grenoble Alpes (ComUE), 2016. http://www.theses.fr/2016GREAM019/document.

Full text
Abstract:
L'évolution continue des architectures des processeurs a été un moteur important de la recherche en compilation. Une tendance dans cette évolution qui existe depuis l'avènement des ordinateurs modernes est le rapport grandissant entre la puissance de calcul disponible (IPS, FLOPS, ...) et la bande-passante correspondante qui est disponible entre les différents niveaux de la hiérarchie mémoire (registres, cache, mémoire vive). En conséquence la réduction du nombre de communications mémoire requis par un code donnée a constitué un sujet de recherche important. Un principe de base en la matière est l'amélioration de la localité temporelle des données: regrouper dans le temps l'ensemble des accès à une donnée précise pour qu'elle ne soit requise que pendant peu de temps et pour qu'elle puisse ensuite être transféré vers de la mémoire lointaine (mémoire vive) sans communications supplémentaires.Une toute autre évolution architecturale a été l'arrivée de l'ère des multicoeurs et au cours des dernières années les premières générations de processeurs manycoeurs. Ces architectures ont considérablement accru la quantité de parallélisme à la disposition des programmes et algorithmes mais ceci est à nouveau limité par la bande-passante disponible pour les communications entres coeurs. Ceci a amené dans le monde de la compilation et des techniques d'optimisation des problèmes qui étaient jusqu'à là uniquement connus en calcul distribué.Dans ce texte nous présentons les premiers travaux sur une nouvelle technique d'optimisation, le pavage généralisé qui a l'avantage d'utiliser un modèle abstrait pour la réutilisation des données et d'être en même temps utilisable dans un grand nombre de contextes. Cette technique trouve son origine dans le pavage de boucles, une techniques déjà bien connue et qui a été utilisée avec succès pour l'amélioration de la localité des données dans les boucles imbriquées que ce soit pour les registres ou pour le cache. Cette nouvelle variante du pavage suit une vision beaucoup plus large et ne se limite pas au cas des boucles imbriquées. Elle se base sur une nouvelle représentation, le graphe d'utilisation mémoire, qui est étroitement lié à un nouveau modèle de besoins en termes de mémoire et de communications et qui s'applique à toute forme de code exécuté itérativement. Le pavage généralisé exprime la localité des données comme un problème d'optimisation pour lequel plusieurs solutions sont proposées. L'abstraction faite par le graphe d'utilisation mémoire permet la résolution du problème d'optimisation dans différents contextes. Pour l'évaluation expérimentale nous montrons comment utiliser cette nouvelle technique dans le cadre des boucles, imbriquées ou non, ainsi que dans le cas des programmes exprimés dans un langage à flot-de-données. En anticipant le fait d'utiliser le pavage généralisé pour la distribution des calculs entre les cœurs d'une architecture manycoeurs nous donnons aussi des éléments de réponse pour modéliser les communications et leurs caractéristiques sur ce genre d'architectures. En guise de point final, et pour montrer l'étendue de l'expressivité du graphe d'utilisation mémoire et le modèle de besoins en mémoire et communications sous-jacent, nous aborderons le sujet du débogage de performances et l'analyse des traces d'exécution. Notre but est de fournir un retour sur le potentiel d'amélioration en termes de localité des données du code évalué. Ce genre de traces peut contenir des informations au sujet des communications mémoire durant l'exécution et a de grandes similitudes avec le problème d'optimisation précédemment étudié. Ceci nous amène à une brève introduction dans le monde de l'algorithmique des graphes dirigés et la mise-au-point de quelques nouvelles heuristiques pour le problème connu de joignabilité mais aussi pour celui bien moins étudié du partitionnement convexe
The continuous evolution of computer architectures has been an important driver of research in code optimization and compiler technologies. A trend in this evolution that can be traced back over decades is the growing ratio between the available computational power (IPS, FLOPS, ...) and the corresponding bandwidth between the various levels of the memory hierarchy (registers, cache, DRAM). As a result the reduction of the amount of memory communications that a given code requires has been an important topic in compiler research. A basic principle for such optimizations is the improvement of temporal data locality: grouping all references to a single data-point as close together as possible so that it is only required for a short duration and can be quickly moved to distant memory (DRAM) without any further memory communications.Yet another architectural evolution has been the advent of the multicore era and in the most recent years the first generation of manycore designs. These architectures have considerably raised the bar of the amount of parallelism that is available to programs and algorithms but this is again limited by the available bandwidth for communications between the cores. This brings some issues thatpreviously were the sole preoccupation of distributed computing to the world of compiling and code optimization techniques.In this document we present a first dive into a new optimization technique which has the promise of offering both a high-level model for data reuses and a large field of potential applications, a technique which we refer to as generalized tiling. It finds its source in the already well-known loop tiling technique which has been applied with success to improve data locality for both register and cache-memory in the case of nested loops. This new "flavor" of tiling has a much broader perspective and is not limited to the case of nested loops. It is build on a new representation, the memory-use graph, which is tightly linked to a new model for both memory usage and communication requirements and which can be used for all forms of iterate code.Generalized tiling expresses data locality as an optimization problem for which multiple solutions are proposed. With the abstraction introduced by the memory-use graph it is possible to solve this optimization problem in different environments. For experimental evaluations we show how this new technique can be applied in the contexts of loops, nested or not, as well as for computer programs expressed within a dataflow language. With the anticipation of using generalized tiling also to distributed computations over the cores of a manycore architecture we also provide some insight into the methods that can be used to model communications and their characteristics on such architectures.As a final point, and in order to show the full expressiveness of the memory-use graph and even more the underlying memory usage and communication model, we turn towards the topic of performance debugging and the analysis of execution traces. Our goal is to provide feedback on the evaluated code and its potential for further improvement of data locality. Such traces may contain information about memory communications during an execution and show strong similarities with the previously studied optimization problem. This brings us to a short introduction to the algorithmics of directed graphs and the formulation of some new heuristics for the well-studied topic of reachability and the much less known problem of convex partitioning
APA, Harvard, Vancouver, ISO, and other styles
27

Karimi, Belhal. "Non-Convex Optimization for Latent Data Models : Algorithms, Analysis and Applications." Thesis, Université Paris-Saclay (ComUE), 2019. http://www.theses.fr/2019SACLX040/document.

Full text
Abstract:
De nombreux problèmes en Apprentissage Statistique consistent à minimiser une fonction non convexe et non lisse définie sur un espace euclidien. Par exemple, les problèmes de maximisation de la vraisemblance et la minimisation du risque empirique en font partie.Les algorithmes d'optimisation utilisés pour résoudre ce genre de problèmes ont été largement étudié pour des fonctions convexes et grandement utilisés en pratique.Cependant, l'accrudescence du nombre d'observation dans l'évaluation de ce risque empirique ajoutée à l'utilisation de fonctions de perte de plus en plus sophistiquées représentent des obstacles.Ces obstacles requièrent d'améliorer les algorithmes existants avec des mis à jour moins coûteuses, idéalement indépendantes du nombre d'observations, et d'en garantir le comportement théorique sous des hypothèses moins restrictives, telles que la non convexité de la fonction à optimiser.Dans ce manuscrit de thèse, nous nous intéressons à la minimisation de fonctions objectives pour des modèles à données latentes, ie, lorsque les données sont partiellement observées ce qui inclut le sens conventionnel des données manquantes mais est un terme plus général que cela.Dans une première partie, nous considérons la minimisation d'une fonction (possiblement) non convexe et non lisse en utilisant des mises à jour incrémentales et en ligne. Nous proposons et analysons plusieurs algorithmes à travers quelques applications.Dans une seconde partie, nous nous concentrons sur le problème de maximisation de vraisemblance non convexe en ayant recourt à l'algorithme EM et ses variantes stochastiques. Nous en analysons plusieurs versions rapides et moins coûteuses et nous proposons deux nouveaux algorithmes du type EM dans le but d'accélérer la convergence des paramètres estimés
Many problems in machine learning pertain to tackling the minimization of a possibly non-convex and non-smooth function defined on a Many problems in machine learning pertain to tackling the minimization of a possibly non-convex and non-smooth function defined on a Euclidean space.Examples include topic models, neural networks or sparse logistic regression.Optimization methods, used to solve those problems, have been widely studied in the literature for convex objective functions and are extensively used in practice.However, recent breakthroughs in statistical modeling, such as deep learning, coupled with an explosion of data samples, require improvements of non-convex optimization procedure for large datasets.This thesis is an attempt to address those two challenges by developing algorithms with cheaper updates, ideally independent of the number of samples, and improving the theoretical understanding of non-convex optimization that remains rather limited.In this manuscript, we are interested in the minimization of such objective functions for latent data models, ie, when the data is partially observed which includes the conventional sense of missing data but is much broader than that.In the first part, we consider the minimization of a (possibly) non-convex and non-smooth objective function using incremental and online updates.To that end, we propose several algorithms exploiting the latent structure to efficiently optimize the objective and illustrate our findings with numerous applications.In the second part, we focus on the maximization of non-convex likelihood using the EM algorithm and its stochastic variants.We analyze several faster and cheaper algorithms and propose two new variants aiming at speeding the convergence of the estimated parameters
APA, Harvard, Vancouver, ISO, and other styles
28

Manilov, Stanislav Zapryanov. "Analysis and transformation of legacy code." Thesis, University of Edinburgh, 2018. http://hdl.handle.net/1842/29612.

Full text
Abstract:
Hardware evolves faster than software. While a hardware system might need replacement every one to five years, the average lifespan of a software system is a decade, with some instances living up to several decades. Inevitably, code outlives the platform it was developed for and may become legacy: development of the software stops, but maintenance has to continue to keep up with the evolving ecosystem. No new features are added, but the software is still used to fulfil its original purpose. Even in the cases where it is still functional (which discourages its replacement), legacy code is inefficient, costly to maintain, and a risk to security. This thesis proposes methods to leverage the expertise put in the development of legacy code and to extend its useful lifespan, rather than to throw it away. A novel methodology is proposed, for automatically exploiting platform specific optimisations when retargeting a program to another platform. The key idea is to leverage the optimisation information embedded in vector processing intrinsic functions. The performance of the resulting code is shown to be close to the performance of manually retargeted programs, however with the human labour removed. Building on top of that, the question of discovering optimisation information when there are no hints in the form of intrinsics or annotations is investigated. This thesis postulates that such information can potentially be extracted from profiling the data flow during executions of the program. A context-aware data dependence profiling system is described, detailing previously overlooked aspects in related research. The system is shown to be essential in surpassing the information that can be inferred statically, in particular about loop iterators. Loop iterators are the controlling part of a loop. This thesis describes and evaluates a system for extracting the loop iterators in a program. It is found to significantly outperform previously known techniques and further increases the amount of information about the structure of a program that is available to a compiler. Combining this system with data dependence profiling improves its results even more. Loop iterator recognition enables other code modernising techniques, like source code rejuvenation and commutativity analysis. The former increases the use of idiomatic code and as a result increases the maintainability of the program. The latter can potentially drive parallelisation and thus dramatically improve runtime performance.
APA, Harvard, Vancouver, ISO, and other styles
29

Garcia, rodriguez Daniel. "Optimisation d'un code de dynamique des dislocations pour l'étude de la plasticité des aciers ferritiques." Phd thesis, Université de Grenoble, 2011. http://tel.archives-ouvertes.fr/tel-00767178.

Full text
Abstract:
Ces travaux de thèse s'inscrivent au sein d'une démarche multi-échelles visant à améliorer lacompréhension de la fragilisation par l'irradiation de l'acier de cuve. Dans ce cadre, nous nousintéressons à la description de la mobilité des dislocations dans la ferrite, l'une des entrées clépour les codes de dynamique de dislocations (DD). Nous présentons ainsi une revuebibliographique exhaustive des différentes théories et expressions de la mobilité, à partir delaquelle nous proposons une nouvelle expression pour les dislocations vis. Cette loi, utilisablepour la première fois dans le régime de transition ductile-fragile, permet de reproduire lesprincipales observations expérimentales disponibles à ce niveau. Finalement, nous montronsles améliorations apportées au code de DD Tridis BCC 2.0, qui intègrent la nouvelle loi demobilité avec une nouvelle gestion des segments de dislocation permettant de stabiliser etaccélérer des simulations complexes avec prise en compte du glissement dévié.
APA, Harvard, Vancouver, ISO, and other styles
30

Garcia, Rodriguez Daniel. "Optimisation d'un code de dynamique des dislocations pour l'étude de la plasticité des aciers ferritiques." Thesis, Grenoble, 2011. http://www.theses.fr/2011GRENI075/document.

Full text
Abstract:
Ces travaux de thèse s’inscrivent au sein d’une démarche multi-échelles visant à améliorer lacompréhension de la fragilisation par l’irradiation de l’acier de cuve. Dans ce cadre, nous nousintéressons à la description de la mobilité des dislocations dans la ferrite, l’une des entrées clépour les codes de dynamique de dislocations (DD). Nous présentons ainsi une revuebibliographique exhaustive des différentes théories et expressions de la mobilité, à partir delaquelle nous proposons une nouvelle expression pour les dislocations vis. Cette loi, utilisablepour la première fois dans le régime de transition ductile-fragile, permet de reproduire lesprincipales observations expérimentales disponibles à ce niveau. Finalement, nous montronsles améliorations apportées au code de DD Tridis BCC 2.0, qui intègrent la nouvelle loi demobilité avec une nouvelle gestion des segments de dislocation permettant de stabiliser etaccélérer des simulations complexes avec prise en compte du glissement dévié
The present work is part of a larger multi-scale effort aiming to increase knowledge of thephysical phenomena underneath reactor pressure vessel irradiation embrittlement. Withinthis framework, we focused on the description of dislocation mobility in BCC iron, which is oneof the key inputs to dislocation dynamics (DD) simulation codes. An extensive bibliographicreview shows that none of the available expressions can deal with the ductile-fragile transitiondomain of interest. Here, a new screw mobility law able to reproduce the main experimentalobservations is introduced building on the previous models. The aforementioned law is usedtogether with an improved dislocations dynamics code Tridis BCC 2.0, featuring bothperformance and dislocations segments interaction management enhancements, that allowsfor complex DD simulations of BCC iron structures with cross-slip
APA, Harvard, Vancouver, ISO, and other styles
31

Weber, Bruno. "Optimisation de code Galerkin discontinu sur ordinateur hybride : application à la simulation numérique en électromagnétisme." Thesis, Strasbourg, 2018. http://www.theses.fr/2018STRAD046/document.

Full text
Abstract:
Nous présentons dans cette thèse les évolutions apportées au solveur Galerkin Discontinu Teta-CLAC, issu de la collaboration IRMA-AxesSim, au cours du projet HOROCH (2015-2018). Ce solveur permet de résoudre les équations de Maxwell en 3D, en parallèle sur un grand nombre d'accélérateurs OpenCL. L'objectif du projet HOROCH était d'effectuer des simulations de grande envergure sur un modèle numérique complet de corps humain. Ce modèle comporte 24 millions de mailles hexaédriques pour des calculs dans la bande de fréquences des objets connectés allant de 1 à 3 GHz (Bluetooth). Les applications sont nombreuses : téléphonie et accessoires, sport (maillots connectés), médecine (sondes : gélules, patchs), etc. Les évolutions ainsi apportées comprennent, entre autres : l'optimisation des kernels OpenCL à destination des CPU dans le but d'utiliser au mieux les architectures hybrides ; l'expérimentation du runtime StarPU ; le design d'un schéma d'intégration à pas de temps local ; et bon nombre d'optimisations permettant au solveur de traiter des simulations de plusieurs millions de mailles
In this thesis, we present the evolutions made to the Discontinuous Galerkin solver Teta-CLAC – resulting from the IRMA-AxesSim collaboration – during the HOROCH project (2015-2018). This solver allows to solve the Maxwell equations in 3D and in parallel on a large amount of OpenCL accelerators. The goal of the HOROCH project was to perform large-scale simulations on a complete digital human body model. This model is composed of 24 million hexahedral cells in order to perform calculations in the frequency band of connected objects going from 1 to 3 GHz (Bluetooth). The applications are numerous: telephony and accessories, sport (connected shirts), medicine (probes: capsules, patches), etc. The changes thus made include, among others: optimization of OpenCL kernels for CPUs in order to make the best use of hybrid architectures; StarPU runtime experimentation; the design of an integration scheme using local time steps; and many optimizations allowing the solver to process simulations of several millions of cells
APA, Harvard, Vancouver, ISO, and other styles
32

Ozaktas, Haluk. "Compression de code et optimisation multicritère des systèmes embarqués dans un contexte temps réel strict." Paris 6, 2011. http://www.theses.fr/2011PA066376.

Full text
Abstract:
Pour des raisons économiques, énergétiques et/ou ergonomiques, les systèmes embarqués sont soumis à de nombreuses contraintes comme être performants en moyenne ou dans le pire cas, avoir une consommation d'énergie et une mémoire de taille aussi réduite que possible. En conséquence, les systèmes embarqués ont plusieurs critères à optimiser lors de leur conception. Ce travail de thèse s'intéresse à la mise au point de stratégies d'optimisation de code multicritère pour des applications embarquées potentiellement temps réel strict. Dans un premier temps, un schéma de compression de code a été développé et mis en place pour optimiser principalement la taille de code. Ce schéma utilise une décompression dans le pipeline du processeur pour pouvoir optimiser aussi la consommation d’énergie et la performance moyenne ou pire cas. L'analyse des effets du schéma proposé a montré qu’il peut simultanément optimiser, ou offrir de bons compromis entre, plusieurs critères. Dans un deuxième temps, une plateforme d’optimisation multicritère a été mise en œuvre pour appliquer simultanément plusieurs transformations de code ciblant différents critères. Cette plateforme utilise une approche itérative pour trouver les points de compromis entre les critères d’intérêt. Finalement, afin de mettre au point des stratégies d'optimisation multicritère, nous avons proposé d'utiliser une méthode de comparaison statistique de l'efficacité des algorithmes de recherche à trouver rapidement de bonnes optimisations. Nous avons appliqué cette méthode à différents algorithmes de recherche dans plusieurs cas d'optimisation.
APA, Harvard, Vancouver, ISO, and other styles
33

Suresh, Arjun. "Intercepting functions for memoization." Thesis, Rennes 1, 2016. http://www.theses.fr/2016REN1S106/document.

Full text
Abstract:
Nous avons proposé des mécanismes pour mettre en œuvre la mémoïsation de fonction au niveau logiciel dans le cadre de nos efforts pour améliorer les performances du code séquentiel. Nous avons analysé le potentiel de la mémoïsation de fonction sur des applications et le gain de performance qu'elle apporte sur des architectures actuelles. Nous avons proposé trois approches - une approche simple qui s'applique au chargement et qui fonctionne pour toute fonction de bibliothèque liée dynamiquement, une approche à la compilation utilisant LLVM qui peut permettre la mémoïsation pour toute fonction du programme, ainsi qu'une proposition d'implémentation de la mémoïsation en matériel et ses avantages potentiels. Nous avons démontré avec les fonctions transcendantales que l'approche au chargement est applicable et donne un bon avantage, même avec des architectures et des compilateurs (avec la restriction qu'elle ne peut être appliquée que pour les fonctions liées dynamiquement) modernes. Notre approche à la compilation étend la portée de la mémoïsation et en augmente également les bénéfices. Cela fonctionne pour les fonctions définies par l’utilisateur ainsi que pour les fonctions de bibliothèque. Nous pouvons gérer certains types de fonctions non pures comme les fonctions avec des arguments de type pointeur et l'utilisation de variables globales. La mémoïsation en matériel abaisse encore le seuil de profitabilité de la mémoïsation et donne plus de gain de performance en moyenne
We have proposed mechanisms to implement function memoization at a software level as part of our effort to improve sequential code performance. We have analyzed the potential of function memoization on applications and its performance gain on current architectures. We have proposed three schemes - a simple load time approach which works for any dynamically linked function, a compile time approach using LLVM framework which can enable memoization for any program function and also a hardware proposal for doing memoization in hardware and its potential benefits. Demonstration of the link time approach with transcendental functions showed that memoization is applicable and gives good benefit even under modern architectures and compilers (with the restriction that it can be applied only for dynamically linked functions). Our compile time approach extends the scope of memoization and also increases the benefit due to memoization. This works for both user defined functions as well as library functions. It can handle certain kind of non pure functions like those functions with pointer arguments and global variable usage. Hardware memoization lowers the threshold for a function to be memoized and gives more performance gain on average
APA, Harvard, Vancouver, ISO, and other styles
34

Moussaoui, Mohamed. "Optimisation de la correction de biais dans le récepteur PIC multi-étages pour le système CDMA." Valenciennes, 2005. http://ged.univ-valenciennes.fr/nuxeo/site/esupversions/19958d9e-d214-4166-b25a-481ff9aca6ff.

Full text
Abstract:
La complexité du récepteur optimal de Verdu pour le système CDMA augmente exponentiellement avec le nombre d'utilisateurs, de sorte que ce récepteur devient difficilement réalisable. Dans cette thèse, nous analysons le récepteur sub-optimal d'annulation d'interférences de structure parallèle à plusieurs étages (PIC). La nature parallèle de l'algorithme est facilement exploitable dans un environnement de multitraitement. Ceci le rend extrêmement attrayant pour le système UMTS-TDD. L'utilisation d'un estimateur du type filtre adapté, a comme conséquence l'apparition d'un biais dans l'amplitude estimée en sortie du second étage, particulièrement dans le cas d'un système chargé. Ce biais dégrade les performances en terme de taux d'erreur par bit (TEB) du système. Nous proposons une approche originale de faible complexité pour réduire le biais, dans laquelle on n'atténue pas l'estimation de l'interférence d'accès multiple (MAI), comme dans la méthode d'annulation partielle, mais on amplifie plutôt l'amplitude du signal reçu pour chaque utilisateur par un coefficient scalaire que nous appelons le facteur d'amplification (FA). Une étude, analytique dans le cas synchrone et par simulation dans le cas asynchrone, a été conduite pour déterminer une valeur optimale de ce facteur d'amplification, afin de réduire au minimum le taux d'erreurs par bit (TEB). Nous indiquons les performances obtenues dans les cas d'un contrôle de puissance parfait et d'un effet proche-lointain non compensé. Nous proposons ensuite une structure incorporant ce facteur d'amplification dans le cas de plusieurs étages, et nous comparons sa complexité avec celle de la solution utilisant l'annulation partielle. Un autre aspect traité dans cette thèse est l'étude de l'impact des fonctions de décision utilisées sur la performance du récepteur PIC. Nous avons ainsi considéré les fonctions dites ‘null zone' et ‘clipping' et comparé leur sensibilités à l'erreur d'optimisation du seuil de décision
The complexity of Verdu's optimal receiver for CDMA increases exponentially with the number of users, loading to an unrealistic implementation. In this thesis, we analyze the sub-optimal interference cancellation receiver with multi-stages parallel structure. The parallel nature of the algorithm can be easily exploited in a multiprocessing environment. This makes it extremely attracting for UMTS-TDD. The use of a matched-filter estimator, results in a bias in the estimated amplitude at the second stage output, particularly for heavy system loads. This bias degrades the system performances in term of bit error rate (BER). We propose an original low complexity approach for reducing the bias, in which we don't attenuate the estimated multiple access interference (MAI), as in the partial cancellation method, but we amplify the amplitude of the received signal for each user by a scalar which we call the amplification factor (AF). An analytical study in the synchronous case and by simulation in the asynchronous case was led to determine an optimal value of this amplification factor, in order to minimize the BER. We indicate the performances obtained in a perfect power control case and for uncompensated near-far effects. Then, we propose a structure incorporating this amplification factor in the multi-stage case, and we compare its complexity with that for the partial cancellation solution. Another aspect considered in this thesis is the impact of the decision functions on the performance of the PIC receiver. We thus considered the `null zone' and ` clipping' functions and compared their sensitivity to decision threshold optimization errors
APA, Harvard, Vancouver, ISO, and other styles
35

Lemaitre, Florian. "Tracking haute fréquence pour architectures SIMD : optimisation de la reconstruction LHCb." Electronic Thesis or Diss., Sorbonne université, 2019. http://www.theses.fr/2019SORUS221.

Full text
Abstract:
Tout au long de cette thèse, nous avons étudié des problèmes d'algèbre linéaire de petite dimension (typiquement de 2x2 à 5x5) utilisés au sein de l'expérience LHCb (mais aussi dans d'autres domaines tels que la vision par ordinateur). Les bibliothèques d’algèbre linéaire telles que Eigen, Magma ou la MKL ne sont pas optimisées pour de petites matrices. Nous avons utilisé et combiné plusieurs transformations connues facilitant le SIMD ainsi que des transformations moins usuelles comme la racine carré inverse rapide. Pour faciliter l’écriture de ces transformations, mais également dans le but d’avoir un code portable, nous avons écrit un générateur de code. Nous avons testé ces transformations et analysé leur impact sur la vitesse de traitement d’algorithmes simples. Le traitement par lot (batch) en SoA est crucial pour maximiser la vitesse de traitements de ces problèmes à faible dimension. Une analyse de la précision des résultats en fonction de la précision de calcul a également été faite sur ces exemples. Nous avons alors implémenté ces transformations dans le but d’accélérer la factorisation de Cholesky de petites matrices (jusqu'à 12x12). La vitesse de traitement plafonne sans l’utilisation du calcul rapide de la racine carrée inverse. Nous avons obtenu une accélération entre x10 et x33 en F32. Notre code est ainsi de x3 à x10 plus rapide que la MKL. Enfin, nous avons étudié et accéléré le filtre de Kalman généraliste. Nous avons ainsi obtenu une accélération de x90 sur l'implémentation 4x4 F32. Le filtre de Kalman utilisé au sein de LHCb a été accéléré d'un facteur x2,2 par rapport à la version actuelle SIMD et supérieur à x2,3 par rapport aux filtres d'autres expériences de physique des particules
During this thesis, we studied linear algebra systems with small matrices (typically from 2x2 to 5x5) used within the LHCb experiment (and also in other domains like computer vision). Linear algebra libraries like Eigen, Magma or the MKL are not optimized for such small matrices. We used and combined many well-known transforms helping SIMD and some unusual transforms like the fast reciprocal square root computation. We wrote a code generator in order to simplify the use of such transforms and to have a portable code. We tested these optimizations and analyzed their impact on the speed of simple algorithm. Batch processing in SoA is crucial to process fast these small matrices. We also analyzed how the accuracy of the results depends on the precision of the data. We implemented these transforms in order to speed-up the Cholesky factorization of small matrices (up to 12x12). The processing speed is capped if the fast reciprocal square root computation is not used. We got a speed up between x10 and x33 using F32. Our version is then from x3 to x10 faster than MKL. Finally, we studied and sped up the Kalman filter in its general form. Our 4x4 F32 implementation is x90 faster. The Kalman filter used within LHCb has been sped up by x2.2 compared to the current SIMD version and by at least x2.3 compared to filters used other high energy physics experiments
APA, Harvard, Vancouver, ISO, and other styles
36

Venturini, Hugo. "Le débogage de code optimisé dans le contexte des systèmes embarqués." Phd thesis, Université Joseph Fourier (Grenoble), 2008. http://tel.archives-ouvertes.fr/tel-00332344.

Full text
Abstract:
Les optimisations jouent un rôle majeur dans la compilation des programmes embarqués. Elles interviennent à tous les niveaux, et sur les différentes représentations intermédiaires. En effet, les systèmes embarqués imposent souvent de lourdes contraintes à la fois sur l'espace disponible en mémoire et sur la puissance de calcul utilisable. La structure habituelle d'un compilateur lui fait collecter les informations de débogage au début du processus de compilation, pour les ajouter au fichier binaire à la toute fin. De ce fait, si le programme est modifié par les optimisations, les informations de débogage présentes dans le fichier binaire sont en partie incorrectes. Or le débogueur s'appuie sur ces informations afin de répondre aux requêtes de l'utilisateur. Si elles ne correspondent plus à la réalité du programme, les informations données à l'utilisateur seront erronées. Ainsi la méthode classique de débogage de programme est de développer sans optimisation de compilation durant la phase de mise au point et quand le produit est prêt à être livré, le compiler avec le maximum d'optimisations. Cette méthode ne convient pas au cycle de développement dans le contexte des systèmes embarqués. Notre approche est de présenter l'exécution du programme optimisé au développeur, de manière à ce qu'il comprenne aisément le lien avec le code source, malgré les transformations appliquées par le compilateur. L'idée est de ne pas émuler l'exécution du programme non-optimisé à partir de l'exécution du programme optimisé. Le développeur de programmes embarqués a des connaissances que nous allons exploiter. À partir d'une analyse de l'état de l'art du débogage de code optimisé et des outils fournis par STMicroelectronics, nous avons cherché à développer une solution viable industriellement. Notre parti est de montrer la réalité à l'utilisateur, de faire ce que P. Zellweger et J. Hennessy ont défini comme étant du débogage non-transparent. Il offre au développeur la possibilité de comprendre l'exécution de son programme. Afin de tracer les modifications effectuées par le compilateur, nous proposons d'étiqueter chaque instruction du code source lors de la compilation. Il s'agit ensuite pour le compilateur de maintenir de manière précise les étiquettes utilisées par optimisation et de propager cette information tout au long de la compilation. Ajoutées au fichier binaire en tant qu'informations de débogage, elles sont ensuite utilisées par le débogueur afin de répondre sans erreurs aux interrogations de l'utilisateur. L'ensemble des expérimentations est fait sur le compilateur mmdspcc et l'infrastructure IDbug.
APA, Harvard, Vancouver, ISO, and other styles
37

Diallo, Amadou Tidiane. "Caractérisation analytique et optimisation de codes source-canal conjoints." Phd thesis, Université Paris Sud - Paris XI, 2012. http://tel.archives-ouvertes.fr/tel-00748545.

Full text
Abstract:
Les codes source-canal conjoints sont des codes réalisant simultanément une compression de données et une protection du train binaire généré par rapport à d'éventuelles erreurs de transmission. Ces codes sont non-linéaires, comme la plupart des codes de source. Leur intérêt potentiel est d'offrir de bonnes performances en termes de compression et de correction d'erreur pour des longueurs de codes réduites.La performance d'un code de source se mesure par la différence entre l'entropie de la source à compresser et le nombre moyen de bits nécessaire pour coder un symbole de cette source. La performance d'un code de canal se mesure par la distance minimale entre mots de codes ou entre suite de mots de codes, et plus généralement à l'aide du spectre des distances. Les codes classiques disposent d'outils pour évaluer efficacement ces critères de performance. Par ailleurs, la synthèse de bons codes de source ou de bons codes de canal est un domaine largement exploré depuis les travaux de Shannon. Par contre des outils analogues pour des codes source-canal conjoints, tant pour l'évaluation de performance que pour la synthèse de bons codes restaient à développer, même si certaines propositions ont déjà été faites dans le passé.Cette thèse s'intéresse à la famille des codes source-canal conjoints pouvant être décrits par des automates possédant un nombre fini d'états. Les codes quasi-arithmétiques correcteurs d'erreurs et les codes à longueurs variables correcteurs d'erreurs font partie de cette famille. La manière dont un automate peut être obtenu pour un code donné est rappelée.A partir d'un automate, il est possible de construire un graphe produit permettant de décrire toutes les paires de chemins divergeant d'un même état et convergeant vers un autre état. Nous avons montré que grâce à l'algorithme de Dijkstra, il est alors possible d'évaluer la distance libre d'un code conjoint avec une complexité polynomiale.Pour les codes à longueurs variables correcteurs d'erreurs, nous avons proposé des bornes supplémentaires, faciles à évaluer. Ces bornes constituent des extensions des bornes de Plotkin et de Heller aux codes à longueurs variables. Des bornes peuvent également être déduites du graphe produit associé à un code dont seule une partie des mots de codes a été spécifiée.Ces outils pour borner ou évaluer exactement la distance libre d'un code conjoint permettent de réaliser la synthèse de codes ayant des bonnes propriétés de distance pour une redondance donnée ou minimisant la redondance pour une distance libre donnée.Notre approche consiste à organiser la recherche de bons codes source-canal conjoints à l'aide d'arbres. La racine de l'arbre correspond à un code dont aucun bit n'est spécifié, les feuilles à des codes dont tous les bits sont spécifiés, et les nœuds intermédiaires à des codes partiellement spécifiés. Lors d'un déplacement de la racine vers les feuilles de l'arbre, les bornes supérieures sur la distance libre décroissent, tandis que les bornes inférieures croissent. Ceci permet d'appliquer un algorithme de type branch-and-prune pour trouver le code avec la plus grande distance libre, sans avoir à explorer tout l'arbre contenant les codes. L'approche proposée a permis la construction de codes conjoints pour les lettres de l'alphabet. Comparé à un schéma tandem équivalent (code de source suivi d'un code convolutif), les codes obtenus ont des performances comparables (taux de codage, distance libre) tout en étant moins complexes en termes de nombre d'état du décodeur.Plusieurs extensions de ces travaux sont en cours : 1) synthèse de codes à longueurs variables correcteurs d'erreurs formalisé comme un problème de programmation linéaire mixte sur les entiers ; 2) exploration à l'aide d'un algorithme de type A* de l'espace des codes de à longueurs variables correcteur d'erreurs.
APA, Harvard, Vancouver, ISO, and other styles
38

Farouni, Tarek. "An Overview of Probabilistic Latent Variable Models with anApplication to the Deep Unsupervised Learning of ChromatinStates." The Ohio State University, 2017. http://rave.ohiolink.edu/etdc/view?acc_num=osu1492189894812539.

Full text
APA, Harvard, Vancouver, ISO, and other styles
39

Youssef, Mazen Dandache Abbas Diou Camille. "Modélisation, simulation et optimisation des architectures de récepteur pour les techniques d'accès W-CDMA." Metz : Université de Metz, 2009. ftp://ftp.scd.univ-metz.fr/pub/Theses/2009/Mazen.Youssef.SMZ0907.pdf.

Full text
APA, Harvard, Vancouver, ISO, and other styles
40

Alhindawi, Nouh Talal. "Supporting Source Code Comprehension During Software Evolution and Maintenance." Kent State University / OhioLINK, 2013. http://rave.ohiolink.edu/etdc/view?acc_num=kent1374790792.

Full text
APA, Harvard, Vancouver, ISO, and other styles
41

Kiepas, Patryk. "Analyses de performances et transformations de code pour les applications MATLAB." Thesis, Paris Sciences et Lettres (ComUE), 2019. http://www.theses.fr/2019PSLEM063.

Full text
Abstract:
MATLAB est un environnement informatique doté d'un langage de programmation simple et d'une vaste bibliothèque de fonctions couramment utilisées en science et ingénierie (CSE) pour le prototypage rapide. Cependant, certaines caractéristiques de son environnement, comme son langage dynamique ou son style de programmation interactif, affectent la rapidité d'exécution des programmes. Les approches actuelles d'amélioration des programmes MATLAB traduisent le code dans des langages statiques plus rapides comme C ou Fortran, ou bien appliquent systématiquement des transformations de code au programme MATLAB sans considérer leur impact sur les performances. Dans cette thèse, nous comblons cette lacune en développant des techniques d'analyse et de transformation de code des programmes MATLAB afin d'augmenter leur performance. Plus précisément, nous analysons et modélisons le comportement d'un environnement MATLAB black-box uniquement en mesurant l'exécution caractéristique des programmes sur CPU. À partir des données obtenues, nous formalisons un modèle statique qui prédit le type et l'ordonnancement des instructions programmées lors de l'exécution par le compilateur Just-In-Time (JIT). Ce modèle nous permet de proposer plusieurs transformations de code qui améliorent les performances des programmes MATLAB en influençant la façon dont le compilateur JIT génère le code machine. Les résultats obtenus démontrent les avantages pratiques de la méthodologie présentée
MATLAB is a computing environment with an easy programming language and a vast library of functions commonly used in Computation Science and Engineering (CSE) for fast prototyping. However, some features of its environment, such as its dynamic language or interactive style of programming affect how fast the programs can execute. Current approaches to improve MATLAB programs either translate the code to faster static languages like C or Fortran, or apply code transformations to MATLAB code systematically without considering their impact on the performance. In this thesis, we fill this gap by developing techniques for the analysis and codetransformation of MATLAB programs in order to improve their performance. More precisely, we analyse and model the behaviour of the black-box MATLAB environment by measuring the execution characteristics of programs on CPU. From the resulting data, we formalise a static model which predicts the type and order of instructions scheduled by the Just-In-Time (JIT)compiler. This model allows us to propose several code transformations which increase the performance of MATLAB programs by influencing how the JIT compiler generates the machine code. The obtained results demonstrate the practical benefits of the presented methodology
APA, Harvard, Vancouver, ISO, and other styles
42

Moore, Brian. "Optimisation de la génération symbolique du code et estimation des paramètres dynamiques de structures mécaniques dans SYMOFROS /." Thèse, Trois-Rivières : Université du Québec à Trois-Rivières, 2000. http://www.uqtr.ca/biblio/notice/resume/03-2216433R.html.

Full text
APA, Harvard, Vancouver, ISO, and other styles
43

Moore, Brian. "Optimisation de la génération symbolique du code et estimation des paramètres dynamiques de structures mécaniques dans SYMOFROS." Thèse, Université du Québec à Trois-Rivières, 2000. http://depot-e.uqtr.ca/3088/1/000671450.pdf.

Full text
APA, Harvard, Vancouver, ISO, and other styles
44

Monsifrot, Antoine. "Utilisation du raisonnement à partir de cas et de l'apprentissage pour l'optimisation de code." Rennes 1, 2002. http://www.theses.fr/2002REN10107.

Full text
Abstract:
Des transformations de code permettent de réduire le temps d'exécution des programmes en améliorant l'exploitation des processeurs. Pour déterminer les transformations à appliquer, les outils automatiques reposent sur des heuristisques complexes à produire car les transformations peuvent avoir des effets de bord et interagissent entre elles. D'autre part, toutes les optimisations ne sont pas à la portée de ces outils. Ainsi, la production de code efficace se termine encore aujourd'hui par une phase de "tuning". Nous proposons, au travers de cette thèse l'utilisation de techniques provenant de l'intelligence artificielle : le raisonnement à partir de cas pour détecter les opportunités de transformations et les techniques d'apprentissage pour produire les heuristiques de compilateur. La mise en oeuvre du prototype CAHT (Computer Aided Hand Tuning) nous a permi de valider notre approche dans les domaines des applications numériques et des applications enfouies.
APA, Harvard, Vancouver, ISO, and other styles
45

Khan, Minhaj Ahmad. "Techniques de spécialisation de code pour des architectures à hautes performances." Versailles-St Quentin en Yvelines, 2008. http://www.theses.fr/2008VERS0032.

Full text
Abstract:
Many applications are unable to obtain the peak performance offered by high performance architectures such as Itanium or Pentium-IV. This fact makes the code optimizations to be of utmost importance. Code specialization, which provides to the compilers, necessary information regarding important parameters in the code, is considered to be one of the most effective optimizations. Static specialization of code results in large code size, also referred to as, code explosion. Such large size of code results in cache misses and branch overhead, and also minimizes the effect of other optimizations. All these drawbacks deteriorate the performance of the application and necessitate the code to be specialized dynamically. The specialization of code is therefore performed by dynamic compilers and/or specializers by generating code at runtime, i. E. During execution of the program. The runtime specialization is not always beneficial since the runtime activities incur a large overhead during execution. This overhead can only be amortized by multiple invocations of the same code. Aimed at improving the performance of the applications, this thesis provides different strategies for specialization of code. By specializing code through static, dynamic and iterative compilation, we target the issues of code explosion and runtime overhead. Our Hybrid Specialization approach proceeds by specializing code and finding equivalent code versions. Instead of keeping all versions, any of these versions can be used as a template whose instructions are modified at runtime to adapt it to other versions. The performance is improved since the code is specialized at static compile time. The runtime specialization is therefore limited to modifying a small number of instructions. Different variants of these approaches address the issues of selection of variables for specialization, minimizing the number of compilations and reducing the frequency of runtime specialization. Our Iterative Specialization approach is able to optimize regular code by obtaining different optimization classes of some code which is specialized at static compile time. The code is iteratively transformed to benefit from these optimization classes and evaluated in order to obtain the best version. These approaches are portable and tested on high performance architectures like IA-64 and Pentium-IV using different versions of \textit{icc} and \textit{gcc} compilers. Using hybrid specialization and iterative specialization approaches, we are able to obtain a significant improvement in many complex benchmarks including SPEC, FFTW and ATLAS
De nombreuses applications sont incapables d'utiliser les performances crêtes offertes par des architectures modernes comme l'Itanium et Pentium-IV. Cela rend critique les optimisations de code réalisée par les compilateurs. Parmis toutes les optimisations réalisées par les compilateurs, la spécialisation de code, qui fournit aux compilateurs les valeurs des paramètres importants dans le code, est très efficace. La spécialisation statique a comme défault de produire une grande taille du code, appelée, l'explosion du code. Cette grande taille implique des défaults de caches et des coûts de branchements. Elle même impose des contraintes sur d'autres optimisations. Tous ces effets rendent nécessaire de spécialiser le code dynamiquement. La spécialisation de code est donc effectué par lescompilateurs/specialiseurs dynamiques, qui générent le code àl'exécution. Ces approches ne sont pas toujours bénéfique puisque l'exécution doit subir un grand surcoût de géneration à l'exécution qui peut détériorer la performance. De plus, afin d'être amorti, ce coût exige plusieurs invocations du même code. Visant à améliorer les performances des applications complexes, cettethèse propose différentes stratégies pour la spécialisation du code. En utilisant la compilation statique, dynamique et itérative, nous ciblons les problèmes d'explosion de la taille du code et le surcoût en temps induit par la génération du code à l'exécution. Notre "Spécialisation Hybride" génère des versions équivalentes du code après l'avoir specialisé statiquement. Au lieu de conserver toutes les versions, l'une de ces versions peut être utilisée comme un template dont les instructions sont modifiées pendant exécution afin d'être adaptée à d'autres versions. La performance est améliorée puisque le code est spécialisé au moment de la compilation statique. La spécialisation dynamique est donc limitée à la modification d'un petit nombre d'instructions. Différentes variantes de ces approches peuvent améliorer laspécialisation en choisissant des variables adéquates, en diminuant le nombre de compilations et en réduisant la fréquence de laspécialisation dynamique. Notre approche "Spécialisation Itérative" est en mesure d'optimiser les codes régulier en obtenant plusieurs classes optimales du code spécialisé au moment de la compilation statique. En suite, une transformation itérative est appliquée sur le code afin de bénéficier des classes optimales générées et obtenir la meilleure version. Les expérimentations ont été effectuées sur des architectures IA-64 et Pentium- IV, en utilisant les compilateurs gcc et icc. Les approches proposées (Spécialisation Hybride et Itérative), nous permettent d'obtenir une amélioration significative pour plusieurs benchmarks, y compris ceux de SPEC, FFTW et ATLAS
APA, Harvard, Vancouver, ISO, and other styles
46

Robillard, Benoît. "Verification formelle et optimisation de l’allocation de registres." Electronic Thesis or Diss., Paris, CNAM, 2010. http://www.theses.fr/2010CNAM0730.

Full text
Abstract:
La prise de conscience générale de l'importance de vérifier plus scrupuleusement les programmes a engendré une croissance considérable des efforts de vérification formelle de programme durant cette dernière décennie. Néanmoins, le code qu'exécute l'ordinateur, ou code exécutable, n'est pas le code écrit par le développeur, ou code source. La vérification formelle de compilateurs est donc un complément indispensable à la vérification de code source.L'une des tâches les plus complexes de compilation est l'allocation de registres. C'est lors de celle-ci que le compilateur décide de la façon dont les variables du programme sont stockées en mémoire durant son exécution. La mémoire comporte deux types de conteneurs : les registres, zones d'accès rapide, présents en nombre limité, et la pile, de capacité supposée suffisamment importante pour héberger toutes les variables d'un programme, mais à laquelle l'accès est bien plus lent. Le but de l'allocation de registres est de tirer au mieux parti de la rapidité des registres, car une allocation de registres de bonne qualité peut conduire à une amélioration significative du temps d'exécution du programme.Le modèle le plus connu de l'allocation de registres repose sur la coloration de graphe d'interférence-affinité. Dans cette thèse, l'objectif est double : d'une part vérifier formellement des algorithmes connus d'allocation de registres par coloration de graphe, et d'autre part définir de nouveaux algorithmes optimisants pour cette étape de compilation. Nous montrons tout d'abord que l'assistant à la preuve Coq est adéquat à la formalisation d'algorithmes d'allocation de registres par coloration de graphes. Nous procédons ainsi à la vérification formelle en Coq d'un des algorithmes les plus classiques d'allocation de registres par coloration de graphes, l'Iterated Register Coalescing (IRC), et d'une généralisation de celui-ci permettant à un utilisateur peu familier du système Coq d'implanter facilement sa propre variante de cet algorithme au seul prix d'une éventuelle perte d'efficacité algorithmique. Ces formalisations nécessitent des réflexions autour de la formalisation des graphes d'interférence-affinité, de la traduction sous forme purement fonctionnelle d'algorithmes impératifs et de l'efficacité algorithmique, la terminaison et la correction de cette version fonctionnelle. Notre implantation formellement vérifiée de l'IRC a été intégrée à un prototype du compilateur CompCert.Nous avons ensuite étudié deux représentations intermédiaires de programmes, dont la forme SSA, et exploité leurs propriétés pour proposer de nouvelles approches de résolution optimale de la fusion, l'une des optimisations opéréeslors de l'allocation de registres dont l'impact est le plus fort sur la qualité du code compilé. Ces approches montrent que des critères de fusion tenant compte de paramètres globaux du graphe d'interférence-affinité, tels que sa largeur d'arbre, ouvrent la voie vers de nouvelles méthodes de résolution potentiellement plus performantes
The need for trustful programs led to an increasing use of formal verication techniques the last decade, and especially of program proof. However, the code running on the computer is not the source code, i.e. the one written by the developper, since it has to betranslated by the compiler. As a result, the formal verication of compilers is required to complete the source code verication. One of the hardest phases of compilation is register allocation. Register allocation is the phase within which the compiler decides where the variables of the program are stored in the memory during its execution. The are two kinds of memory locations : a limited number of fast-access zones, called registers, and a very large but slow-access stack. The aim of register allocation is then to make a great use of registers, leading to a faster runnable code.The most used model for register allocation is the interference graph coloring one. In this thesis, our objective is twofold : first, formally verifying some well-known interference graph coloring algorithms for register allocation and, second, designing new graph-coloring register allocation algorithms. More precisely, we provide a fully formally veri ed implementation of the Iterated Register Coalescing, a very classical graph-coloring register allocation heuristics, that has been integrated into the CompCert compiler. We also studied two intermediate representations of programs used in compilers, and in particular the SSA form to design new algorithms, using global properties of the graph rather than local criteria currently used in the litterature
APA, Harvard, Vancouver, ISO, and other styles
47

Lim, Wen Jun. "Analysis and design of analog fountain codes for short packet communications." Thesis, The University of Sydney, 2022. https://hdl.handle.net/2123/29277.

Full text
Abstract:
Channel coding is at the heart of any communications systems and plays a key role in meeting the requirements of current and future wireless standards. The services defined by the 3rd Generation Partnership Project (3GPP) for fifth generation (5G) new radio, in particular ultra-reliable low-latency communication (URLLC) and massive machine type communication (mMTC), have very stringent requirements in terms of latency and reliability. Short packet communication is proved to be one of the solutions to achieve the latency requirement of future wireless communication systems due to shorter transmission-time interval. Therefore, designing robust and efficient short channel codes for URLLC and mMTC is of critical importance to design sustainable and efficient mobile communication systems. Traditional channel coding methods are not able to fulfil the requirements for Beyond 5G (B5G) or 6th generation (6G) mobile standards, which have a strong emphasis on bit-level granularity and flexibility. Rateless codes have been considered as viable candidates for short packet communication in URLLC and mMTC due to their rate-adaptive nature. Furthermore, the fact that rateless codes do not rely on channel state information (CSI) makes them stand out from traditional channel codes, which is an important characteristic to reduce transmission overhead. Analog fountain code (AFC) is a newly introduced rateless code, which has linear complexity in terms of encoding and decoding, and a capacity-approaching performance for a wide range of signal-to-noise ratios (SNRs). The code structure is simple; that is, the modulated information symbols are directly generated from information symbols in a linear manner. In this thesis, I will take a step forward to provide a comprehensive analysis and design of AFC for short packet communications. I first propose a density evolution (DE)-based framework, which tracks the evolution of the probability density function of the messages exchanged between AFC’s variable and check nodes in the belief propagation (BP) decoder. Based on the proposed DE framework, I formulate an optimisation problem to find the optimal weight set for AFC in order to minimise the bit error rate at a given SNR. Simulation results show the superiority of the AFC code design with optimised weight set compared to existing AFC designs in the literature. Next, I focus on the design of AFC in a short block length regime. In order to guarantee the performance of AFC in these conditions, a proper precoder is required. Therefore, the optimised weight set obtained from the proposed DE framework can be directly applied in the short block length regime with the aid of a precoder with powerful error correcting capability. Specifically, I use Bose, Chaudhuri, and Hocquenghem (BCH) codes with an ordered statistics decoder (OSD) and low-density parity check (LDPC) codes with the BP decoder. Simulation results show that low rate precoders offer better reliability across a wide range of SNRs compared to high-rate precoders. Additionally, the precoded AFC performs close to the normal approximation benchmark in the short block length regime over a wide range of SNRs. I also discuss the complexity of the AFC decoder and propose a threshold-based decoder to reduce it. Finally, I focus on the analysis and design of AFC in a multiple access channel. I present two encoding schemes, i.e., superposition coding and joint encoding, and two decoding schemes, i.e., successive interference cancellation and joint decoding, for multiple access AFC (MA-AFC). The process of joint encoding and the updating rules for joint decoding are explained in detail. I propose different combinations of encoding and decoding schemes for MA-AFC and evaluate their performance in terms of block error rate (BLER) to determine which combination has the best performance. Next, I propose a DE-based framework to track the evolution of messages exchanged between check nodes and variable nodes of MA-AFC under the joint decoding scheme. With the proposed DE framework, I formulate optimisation problems to find the optimal AFC code parameters, specifically the weight-set, which minimise the bit error rate at a given SNR. Simulation results show that the optimised AFC code outperforms the existing AFC code design in multiple access scenarios.
APA, Harvard, Vancouver, ISO, and other styles
48

Goutier, Jean-Michel. "Optimisation de la tete de detection d'un capteur a balance d'induction. Identification de la reponse d'un code metallique." Reims, 1995. http://www.theses.fr/1995REIMS012.

Full text
Abstract:
Le travail presente dans cette these s'inscrit dans le cadre de l'etude et de la mise au point d'un dispositif, constitue d'un detecteur electromagnetique et d'un code metallique, destine a la detection, au suivi et a l'identification a distance de canalisations enterrees. Il porte plus particulierement sur l'etablissement d'un modele mathematique de la tete de detection, le traitement des signaux recus et la recherche d'une methode d'identification des codes. Nous avons tente dans un premier temps d'ameliorer les performances en detection du dispositif. Notre effort a donc porte sur l'etablissement d'un modele general de la tete de detection et de son electronique associee, afin de determiner les valeurs optimales de ses differents parametres. Nous presentons ensuite les differentes etapes de l'identification mathematique des signaux fournis par l'ensemble capteur - cible. Cette identification basee sur l'utilisation de fonctions sigmoides a permis la mise en evidence de facteurs propres aux diverses courbes proposees. Nous proposons enfin une methode d'identification automatique des codes basee sur les largeurs et les rapports de largeurs entre les pics des signaux emis par le dispositif capteur cible. Cette methode permet une discrimination plus fiable et plus etendue entre les divers codes
APA, Harvard, Vancouver, ISO, and other styles
49

Thévenoux, Laurent. "Synthèse de code avec compromis entre performance et précision en arithmétique flottante IEEE 754." Perpignan, 2014. http://www.theses.fr/2014PERP1176.

Full text
Abstract:
La précision numérique et le temps d'exécution des programmes utilisant l'arithmétique flottante sont des enjeux majeurs dans de nombreuses applications de l'informatique. L'amélioration de ces critères fait l'objet de nombreux travaux de recherche. Cependant, nous constatons que l'amélioration de la précision diminue les performances et inversement. En effet, les techniques d'amélioration de la précision, telles que les expansions ou les compensations, augmentent le nombre de calculs que devra exécuter un programme. Plus ce coût est élevé, plus les performances sont diminuées. Ce travail de thèse présente une méthode d'amélioration automatique de la précision prenant en compte l'effet négatif sur les performances. Pour cela nous automatisons les transformations sans erreur des opérations élémentaires car cette technique présente un fort potentiel de parallélisme. Nous proposons de plus des stratégies d'optimisation permettant une amélioration partielle des programmes afin de contrôler plus finement son impact sur les performances. Des compromis entre performances et précision sont alors assurés par la synthèse de code. Nous présentons de plus, à l'aide d'outils implantant toutes les contributions de ce travail, de nombreux résultats expérimentaux
Numerical accuracy and execution time of programs using the floating-point arithmetic are major challenges in many computer science applications. The improvement of these criteria is the subject of many research works. However we notice that the accuracy improvement decrease the performances and conversely. Indeed, improvement techniques of numerical accuracy, such as expansions or compensations, increase the number of computations that a program will have to execute. The more the number of computations added is, the more the performances decrease. This thesis work presents a method of accuracy improvement which take into account the negative effect on the performances. So we automatize the error-free transformations of elementary floating-point operations because they present a high potential of parallelism. Moreover we propose some transformation strategies allowing partial improvement of programs to control more precisely the impact on execution time. Then, tradeoffs between accuracy and performances are assured by code synthesis. We present also several experimental results with the help of tools implementing all the contributions of our works
APA, Harvard, Vancouver, ISO, and other styles
50

Changuel, Samar. "Analyse, optimisation et applications des turbocodes produits Reed-Solomon." Brest, 2008. http://www.theses.fr/2008BRES2012.

Full text
Abstract:
Cette thèse porte sur l'étude des turbocodes produits construits à partir de codes élémentaires de type Reed-Solomon (RS), et sur les applications potentielles de ce schéma de codage. Dans un premier temps, nous étudions les propriétés de distance de l'image binaire des codes RS afin de pouvoir évaluer les performances asymptotiques du décodage optimal à entrée souple de ces codes. Nous montrons que par un choix judicieux des racines du code, il est possible de construire des codes plus performants que ceux habituellement utilisés en pratique. Nous nous intéressons ensuite aux turbocodes produits construits à partir de codes RS de pouvoir de correction unitaire car ils présentent à la fois des rendements de codage très élevés et une complexité de décodage relativement faible. Par le calcul de la distance minimale binaire du code produit et par la simulation, nous montrons que le fait d'optimiser la distance minimale de l'image binaire des codes constituants conduit à une amélioration significative des performances asymptotiques du système, sans pénalité sur le rendement de codage ni augmentation de la complexité de décodage. Nous comparons également différentes solutions de décodage à entrée ferme des codes produits RS, et nous montrons par ailleurs que les turbocodes produits RS sont robustes au raccourcissement. Nous nous intéressons ensuite à l'association des turbocodes produits RS avec des modulations à grand nombre d'états pour les transmissions à forte efficacité spectrale. Nous étudions tout d'abord l'approche dite de modulation codée à entrelacement binaire (BICM). Nous proposons ensuite un second schéma de modulation codée pragmatique qui offre la possibilité de faire varier l'efficacité spectrale sans changer le code ni le décodeur associé. Les performances de cette solution présentent un écart constant à la capacité quelque soit l'ordre de la modulation considérée. La dernière partie du mémoire traite de l'étude des performances des turbocodes produits sur le canal à effacement. Nous introduisons deux algorithmes de décodage d'effacements pour les codes en blocs, et nous les comparons à d'autres solutions proposées dans la littérature dans le but d'identifier l'algorithme le mieux adapté au décodage itératif d'un code produit. Nous montrons ensuite, par simulation, que les turbocodes produits BCH et RS offrent de très bonnes performances, proches des limites théoriques, sur les canaux à effacements.
This thesis deals with error correcting codes for digital communications and information storage. It focuses on the study of Turbo codes built from two single-error-correcting Reed-Solomon (RS) component codes and their potential applications. As a first step, we study the distance properties of the binary image of RS codes in order to assess the asymptotic performances under maximum-likelihood soft-decision decoding. We then show that a judicious choice for the code roots may yield binary expansions with larger binary minimum distance and more efficient codes compared to classical constructions. Next, we focus on product codes built from two single-error-correcting RS codes. These codes provide high coding rates and have efficient low-complexity iterative decoding. Computing binary minimum distance of product code and simulations results show that optimizing the binary minimum distance of component codes lied to better asymptotic performances without additional decoder complexity. Afterwards, we compare different hard-decision decoding solutions of RS product codes, otherwise we show that RS Turbo codes are robust to shortening. The third part of this thesis is devoted to the association of products RS turbo codes with high order modulations for bandwidth efficient transmission. We first study the Binary Interleaved Coded Modulation (BICM). We propose then a second pragmatic coded modulation scheme achieving a wide range of spectral efficiency without changing the code and the decoder. Simulation results show that, contrary to the BICM schema, the performance of this solution exhibit a constant gap to the capacity regardless to the dimension of the signal set. Furthermore this gap decreases as we increase the code length. The last part of our work investigates the iterative decoding of product code over erasure channel. We propose two erasure decoding algorithms for linear block codes, and we compare them to other solutions proposed in the literature, with the aim of identifying the well suited algorithm to an iterative decoding of product code. The simulation results show that both RS and BCH product codes provide near-capacity performances on erasure channel
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography