Dissertations / Theses on the topic 'C (langage de programmation)'
Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles
Consult the top 50 dissertations / theses for your research on the topic 'C (langage de programmation).'
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.
El, Mokhtari Mounir. "Contribution à l'intégration de C++ et de Prolog à travers la machine abstraite de Warren : le système cop-compilé." Sherbrooke : Université de Sherbrooke, 1997.
Find full textDavid, Pierre. "Analyse semantique des programmes en langage c en vue de leur parallelisation." Paris 6, 1991. http://www.theses.fr/1991PA066088.
Full textTran, tan Antoine. "Squelettes algorithmiques asynchrones : application aux langages orientés domaine." Thesis, Université Paris-Saclay (ComUE), 2015. http://www.theses.fr/2015SACLS025/document.
Full textIn this thesis, we present developments to the approach used by the LRI Parsys team to automatically translate MATLAB-like scientific codes into high performance production codes. To reach a high level of performance, we have combined C++ template meta-programming and asynchronous parallel programming to analyze each expression and detect parallelism opportunities first, and then to ensure near-optimal use of the available resources of multi-core machines. To link these two stages of the code generation process, we have implemented a solution based on multi-level algorithmic skeletons. We have implemented our tools in the NT2 library and evaluated them with several significant scientific benchmarks
Labbé, Alexandre. "Développement de logiciels d'analyse structurale à interface graphique : WMNPhi et CalWin." Sherbrooke : Université de Sherbrooke, 2001.
Find full textKerneis, Gabriel. "Continuation-Passing C : transformations de programmes pour compiler la concurrence dans un langage impératif." Phd thesis, Paris 7, 2012. http://www.theses.fr/2012PA077133.
Full textMost computer programs are concurrent ones: they need to perform several tasks at the same time. Threads and events are two common techniques to implement concurrency. Events are generally more lightweight and efficient than threads, but also more difficult to use. Additionally, they are often not powerful enough; it is then necessary to write hybrid code, that uses both preemptively-scheduled threads and cooperatively-scheduled event handlers, which is even more complex. In this dissertation, we show that concurrent programs written in threaded style can be translated automatically into efficient, equivalent event-driven programs through a series of proven source-to-source transformations. We first propose Continuation-Passing C, an extension of the C programming language for writing concurrent Systems that provides very lightweight, unified (cooperative and preemptive) threads. CPC programs are processed by the CPC translater to produce efficient sequentialized event-loop code, using native threads for the preemptive parts. We then define and prove the correctness of these transformations, in particular lambda lifting and CPS conversion, for an imperative language. Finally, we validate the design and implementation CPC by comparing it to other thread librairies, and by exhibiting our Hekate BitTorrent seeder. We also justify the choice of lambda lifting by implementing eCPC, a variant of CPC using environments, and comparing its performances to CPC
Kerneis, Gabriel. "Continuation-Passing C : Transformations de programmes pour compiler la concurrence dans un langage impératif." Phd thesis, Université Paris-Diderot - Paris VII, 2012. http://tel.archives-ouvertes.fr/tel-00751444.
Full textMopolo-Moke, Gabriel. "Nice-c++ : une extension c++ pour la programmation persistante a partir d'un serveur de bases d'objets." Nice, 1991. http://www.theses.fr/1991NICE4516.
Full textSerrano, Manuel. "Vers une compilation portable et performante des langages fonctionnels /." Le Chesnay : INRIA, 1995. http://catalogue.bnf.fr/ark:/12148/cb370188956.
Full textRoegel, Denis. "Étude de la sémantique de programmes parallèles réels en TLA." Nancy 1, 1996. http://www.theses.fr/1996NAN10272.
Full textDillon, Eric. "Propositions pour la maîtrise de la programmation par échange de messages." Nancy 1, 1997. http://www.theses.fr/1997NAN10192.
Full textMahbouli, Hatem. "Modélisation de programmes C en expressions régulières." Thesis, Université Laval, 2011. http://www.theses.ulaval.ca/2011/28220/28220.pdf.
Full textFatni, Abdelkrim. "Environnement de programmation parallèle adapté au traitement d'images et au calcul scientifique : le langage C// et son compilateur." Toulouse, INPT, 1998. http://www.theses.fr/1998INPT005H.
Full textMahieddine, Mohammed. "Modélisation, visualisation et animation d'objets 3D : Approche orientée objets." nice, 1991. http://www.theses.fr/1991NICE4496.
Full textRaharijaona, Jacques. "Étude du fonctionnement et commande numérique en langage C d'un groupe de pompage photovoltai͏̈que sans balais." Toulouse, INPT, 1991. http://www.theses.fr/1991INPT081H.
Full textMensi, Amira. "Analyse des pointeurs pour le langage C." Phd thesis, Ecole Nationale Supérieure des Mines de Paris, 2013. http://pastel.archives-ouvertes.fr/pastel-00944703.
Full textBlatter, Lionel. "Relational properties for specification and verification of C programs in Frama-C." Thesis, Université Paris-Saclay (ComUE), 2019. http://www.theses.fr/2019SACLC065/document.
Full textDeductive verification techniques provide powerful methods for formal verification of properties expressed in Hoare Logic. In this formalization, also known as axiomatic semantics, a program is seen as a predicate transformer, where each program c executed on a state verifying a property P leads to a state verifying another property Q. Relational properties, on the other hand, link n program to two properties. More precisely, a relational property is a property about n programs c1; :::; cn stating that if each program ci starts in a state si and ends in a state s0 i such that P(s1; :::; sn) holds, then Q(s0 1; :::; s0 n) holds. Thus, relational properties invoke any finite number of executions of possibly dissimilar programs. Such properties cannot be expressed directly in the traditional setting of modular deductive verification, as axiomatic semantics cannot refer to two distinct executions of a program c, or different programs c1 and c2. This thesis brings two solutions to the deductive verification of relational properties. Both of them make it possible to prove a relational property and to use it as a hypothesis in the subsequent verifications. We model our solutions using a small imperative language containing procedure calls. Both solutions are implemented in the context of the C programming language, the FRAMA-C platform, the ACSL specification language and the deductive verification plugin WP. The new tool, called RPP, allows one to specify a relational property, to prove it using classic deductive verification, and to use it as hypothesis in the proof of other properties. The tool is evaluated over a set of illustrative examples. Experiments have also been made on runtime checking of relational properties and counterexample generation when a property cannot be proved
Masliah, Ian. "Méthodes de génération automatique de code appliquées à l’algèbre linéaire numérique dans le calcul haute performance." Thesis, Université Paris-Saclay (ComUE), 2016. http://www.theses.fr/2016SACLS285/document.
Full textParallelism in today's computer architectures is ubiquitous whether it be in supercomputers, workstations or on portable devices such as smartphones. Exploiting efficiently these systems for a specific application requires a multidisciplinary effort that concerns Domain Specific Languages (DSL), code generation and optimization techniques and application-specific numerical algorithms. In this PhD thesis, we present a method of high level programming that takes into account the features of heterogenous architectures and the properties of matrices to build a generic dense linear algebra solver. Our programming model supports both implicit or explicit data transfers to and from General-Purpose Graphics Processing Units (GPGPU) and Integrated Graphic Processors (IGPs). As GPUs have become an asset in high performance computing, incorporating their use in general solvers is an important issue. Recent architectures such as IGPs also require further knowledge to program them efficiently. Our methodology aims at simplifying the development on parallel architectures through the use of high level programming techniques. As an example, we developed a least-squares solver based on semi-normal equations in mixed precision that cannot be found in current libraries. This solver achieves similar performance as other mixed-precision algorithms. We extend our approach to a new multistage programming model that alleviates the interoperability problems between the CPU and GPU programming models. Our multistage approach is used to automatically generate GPU code for CPU-based element-wise expressions and parallel skeletons while allowing for type-safe program generation. We illustrate that this work can be applied to recent architectures and algorithms. The resulting code has been incorporated into a C++ library called NT2. Finally, we investigate how to apply high level programming techniques to batched computations and tensor contractions. We start by explaining how to design a simple data container using modern C++14 programming techniques. Then, we study the issues around batched computations, memory locality and code vectorization to implement a highly optimized matrix-matrix product for small sizes using SIMD instructions. By combining a high level programming approach and advanced parallel programming techniques, we show that we can outperform state of the art numerical libraries
Dong, Jing-Tong. "Localite semantique et mecanisme dlru : application au systeme nice-c++." Nice, 1992. http://www.theses.fr/1992NICE4558.
Full textOzbolt, Jean. "Etude des difficultés des étudiants de section de brevet de technicien supérieur en informatique industrielle dans l'apprentissage de la programmation en utilisant le langage C." Paris 7, 2000. http://www.theses.fr/2000PA070016.
Full textGenestier, Richard. "Vérification formelle de programmes de génération de données structurées." Thesis, Besançon, 2016. http://www.theses.fr/2016BESA2041/document.
Full textThe general problem of proving properties of imperative programs is undecidable. Some subproblems– restricting the languages of programs and properties – are known to be decidable. Inpractice, thanks to heuristics, program proving tools sometimes automate proofs for programs andproperties living outside of the theoretical framework of known decidability results. We illustrate thisfact by building a catalog of proofs, for similar programs and properties of increasing complexity. Mostof these programs are combinatorial map generators.Thus, this work contributes to the research fields of enumerative combinatorics and softwareengineering. We distribute a C library of bounded exhaustive generators of structured arrays, formallyspecified in ACSL and verified with the WP plugin of the Frama-C analysis platform. We also proposea testing-based methodology to assist interactive proof in Coq, an original formal study of maps, andnew results in enumerative combinatorics
Alias, Christophe. "Optimisation de programmes par reconnaissance de templates." Versailles-St Quentin en Yvelines, 2005. https://tel.archives-ouvertes.fr/tel-01892198.
Full textMost of compiler optimization techniques apply local transformations on the code, replacing sub-optimal fragments with better ones. They are often low-level, and applied without knowing what the code is supposed to do. Unfortunately, these optimizations are not enough to produce an optimal code, and lead the programmer to use performance libraries. For the moment, the library functions must be called by hand. However, learning and using a new library remains fastidious, and it is surprising how little the compiler helps the programmer in this task. A natural solution would be to search naïve occurrences of library functions through the program, and to replace them by the corresponding call. In this thesis, we propose a fully automatic approach to recognize occurrences of library functions in a program. In this thesis, we propose a fully automatic approach to recognize occurrences of library functions in a program, and to substitute them, whenever it is possible and interesting, by a call to the library. Our approach is able to recognize all the program slices computing the same mathematical formula than the searched function. This allow to cope with organization, data structure and control variations, and more generally with any program transformation which does not take operators properties (associativity, commutativity, ect…) into account. In addition to functions descriptions, we are also able to find template instances in the source code. Such a characteristic enable the recognition of template libraries, and the rewriting of a program to use templates. Once the proper instances are found within the program, it remains to select the slices whose replacement by a library call is possible, and interesting. We propose a complete algorithmic framework to select all valid substitutions, and to generate the corresponding code. To select a good substitution set, we propose a preliminary solution based on a system of marks. Two other experimental approaches based on benchmarking are also investigated. Our approach has been implemented in the TeMa tool (Teplate Matcher). TeMa represents more than 17000 lines of code, and was applied to the detection of the BLAS functions (Basic Linear Algebra Subroutines) within the kernels of the SpecFP 2000 and thePerfect Club benchmarks. Experimental results report a substantial acceleration factor for the kernels sim, mgrid and applu
Monat, Raphaël. "Static type and value analysis by abstract interpretation of Python programs with native C libraries." Electronic Thesis or Diss., Sorbonne université, 2021. http://www.theses.fr/2021SORUS263.
Full textIn this thesis, we aim at designing both theoretically and experimentally methods for the automatic detection of potential bugs in software – or the proof of the absence thereof. This detection is done statically by analyzing programs’ source code without running them. We rely on the abstract interpretation framework to derive sound, computable semantics. In particular, we focus on analyzing dynamic programming languages. The target of this work is the analysis of Python programs combined with native C libraries
Cassé, Hugues. "Analyse des références mémoires en C par interprétation abstraite." Toulouse 3, 2001. http://www.theses.fr/2001TOU30205.
Full textPélissier, Gilles. "Méthodologies de conception conjointe logicielle/matérielle." Montpellier 2, 2002. http://www.theses.fr/2002MON20055.
Full textGarrier, Yves. "Spécification d'un service objet CORBA de gestion de persistance introduisant une indépendance totale entre un langage d'implémentation et des bases de données hétérogènes." Versailles-St Quentin en Yvelines, 1996. http://www.theses.fr/1996VERS0010.
Full textEstérie, Pierre. "Multi-Architectural Support : A Generic and Generative Approach." Thesis, Paris 11, 2014. http://www.theses.fr/2014PA112124/document.
Full textThe constant increasing need for computing power has pushed the development of parallel architectures. Scientific computing relies on the performance of such architectures to produce scientific results. Programming efficient applications that takes advantage of these computing systems remains a non trivial task. In this thesis, we present a new methodology to design architecture aware software: the AA-DEMRAL methodology. This methodology aims at simplifying the development of parallel programming tools with multi-Architectural support through a generic and generative approach. We then present three high level programming tools that rely on this approach. First, we introduce the Boost.Dispatch library that provides a way to develop software based on the AA-DEMRAL methodology. The Boost.Dispatch library is a C++ generic framework for architecture aware function dispatching. Then, we present two C++ template libraries implemented as Architecture Aware DSELs which assess the AA-DEMRAL methodology through the use of Boost.Dispatch: Boost.SIMD, that provides a high level API for SIMD extensions and NT2 , which propose a Matlab like interface with support for multi-Core and SIMD based systems. We assess the performance of these libraries and the validity of our new methodology through benchmarks
Félix, Patrick. "Implémentation centralisée de C. S. P : étude de théorique et réalisation." Bordeaux 1, 1988. http://www.theses.fr/1988BOR10558.
Full textValvassori, Moïse. "Modélisation et programmation d'ordinateurs amorphes : de l'ordinateur amorphe à la machine Blob." Paris 8, 2009. http://octaviana.fr/document/158471954#?c=0&m=0&s=0&cv=0.
Full textNous présentons des méthodes nouvelles de configurations des ordinateurs dits amorphes qui les doteront de capacités de duplications et d’évolutions. Inspirés par leurs aspects auto-organisationnels, notamment lors de leur embryogenèse, nous appliquerons nos méthodes de configurations en fonction de calculs spécialisés. Notre recherche comporte trois contributions : Un simulateur d’ordinateurs amorphes. Un ordinateur amorphe est un ensemble de processeurs élémentaires statiques, spatialement distribués et communiquant sur de courtes distances de manière omnidirectionnelle avec leurs voisinages. Les éléments de calcul contiennent tous le même programme et leurs capacités de calculs et de stockages sont supposées faibles. Nous avons réalisé le simulateur d’ordinateurs amorphes le plus véloce à l’heure actuelle. Nous simulons ainsi des ordinateurs amorphes composés de plus de éléments de calcul. -Un langage pour la programmation amorphe bas niveau orienté aspect et composant ainsi que son compilateur. Nous appelons Tical ce langage de programmation. La programmation d’un ordinateur amorphe consiste à spécialiser les éléments de calcul au début de l’exécution du programme afin de distribuer les informations et la puissance de calcul. Notre approche de la programmation amorphe est inspirée de la biologie cellulaire et de la biologie du développement. Nous avons commencé par explorer un modèle multi-agents de P-systems (calcul par membranes) à l’aide de la plate-forme de simulation Fungus que nous avons réalisé à cet effet. À partir des enseignements de cette expérience, nous développons Tical, notre langage dédié. Il découpe le programme en une bibliothèque de composants (réutilisables). Les différentes facettes d’un programme amorphe y sont représentées par des aspects : initialisation, réaction aux messages, réaction à certains états, programme traditionnel. Le programme ainsi exprimé est compilé vers un programme C équivalent. Les algorithmes de bas niveau implémentés à l’aide de ce langage sont : création de gradient, élection de leader, agrégation et propagation d’informations. -Trois primitives haut niveau de la machine abstraite Blob. Nous proposons une implémentation des trois primitives de la machine abstraite Blob dans notre langage. Une machine abstraite Blob est une machine parallèle abstraite s’organisant spatialement pour y effectuer ses calculs. Un blob est alors un groupe d’éléments de calcul. Les blobs sont organisés hiérarchiquement et peuvent être liés entre eux. Les primitives de haut niveau que nous développons comprennent la constitution d’un blob à partir d’éléments de calcul dispersés, la création de canaux de communication et la duplication d’un blob en deux blobs. Toutes ces implémentations sont inspirées de la biologie du développement : rupture de symétrie par des gradients, chimiotaxie et mitose. La suite du document est organisée en cinq parties. Dans le premier chapitre, nous introduisons nos objectifs ainsi que notre position dans le domaine des ordinateurs amorphes. Dans le chapitre 2, nous exposons un état de l’art de la programmation amorphe et du calcul dans l’espace. Le chapitre 3 présente Tical, notre langage de bas niveau orienté aspect et composant et les primitives bas niveaux. La première partie de ce chapitre présente le modèle de conception du langage ainsi que le simulateur qui exécute les programmes. Nous présentons la programmation par aspect, puis nous détaillons les aspects standards de notre langage. La présentation du modèle de composant de Tical ainsi que le processus de compilation des programmes Tical vers les simulations sont ensuite largement développés. Nous finissons ce chapitre en présentant des exemples de notre langage et la construction de primitives bas niveau couramment évoqués dans la littérature. Le chapitre 4 présente l’implémentation des primitives de haut niveau Blob. Après une présentation de la machine abstraite Blob, nous présentons l’implémentation de nos trois primitives : constitution d’un blob, liaison de deux blobs, duplication d’un blob. Le chapitre 5 présente une conclusion de l’ensemble de nos contributions et propose une synthèse des perspectives faisant suite à nos travaux
Wilke, Pierre. "Compilation formellement vérifiée de code C de bas-niveau." Thesis, Rennes 1, 2016. http://www.theses.fr/2016REN1S088/document.
Full textThis thesis presents an extension of the CompCert compiler that aims at providing formal guarantees about the compilation of more programs than CompCert does. The CompCert compiler compiles C code into assembly code for various architectures and provides formal guarantees about the behaviour of the compiled assembly program. It states that whenever the C program has a defined semantics, the generated assembly program behaves similarly. However, the theorem does not provide any guarantee when the source program has undefined semantics, or, in C parlance, when it exhibits undefined behaviour, even though those behaviours actually happen in real-world code. This thesis exhibits a number of C idioms, that occur in real-life code and whose behaviour is undefined according to the C standard. Because they happen in real programs, our goal is to enhance the CompCert verified compiler so that it also provides formal guarantees for those programs. To that end, we propose a memory model for CompCert that makes pointer arithmetic and uninitialised data manipulation defined, introducing a notion of symbolic values that capture the meaning of otherwise undefined idioms. We adapt the whole memory model of CompCert with this new formalism and adapt the semantics of all the intermediate languages. We prove that our enhanced semantics subsumes that of CompCert. Moreover, we show that these symbolic semantics capture the behaviour of the previously undefined C idioms. The proof of semantic preservation from CompCert needs to be reworked to cope with our model. We therefore generalize important proof techniques such as memory injections, which enable us to port the whole proof of CompCert to our new memory model, therefore providing formal guarantees for more programs
Ramananandro, Tahina. "Les objets en C + + : sémantique formelle mécanisée et compilation vérifiée." Phd thesis, Université Paris-Diderot - Paris VII, 2012. http://tel.archives-ouvertes.fr/tel-00769044.
Full textHajjam, El Hassani Amir. "Iac++ : un environnement interactif de programmation orientée objet dirigée par une assistance intelligente pour la réutilisation de composants logiciels." Mulhouse, 1990. http://www.theses.fr/1990MULH0154.
Full textGautron, Philippe. "UNIX et multiprocessus, C++ et multitâche : une approche logicielle de la simulation et de l'improvisation dans le jazz." Paris 11, 1985. http://www.theses.fr/1985PA112261.
Full textLevillain, Roland. "Towards a software architecture for generic image processing." Phd thesis, Université Paris-Est, 2011. http://pastel.archives-ouvertes.fr/pastel-00673121.
Full textLemarie, Sylvie. "Etude et réalisation d'un système réparti fondé sur les acteurs." Paris 6, 1992. http://www.theses.fr/1992PA066225.
Full textChamont, David. "Architecture logicielle pour la simulation des transferts radiatifs." Nancy 1, 1997. http://docnum.univ-lorraine.fr/public/SCD_T_1997_0254_CHAMONT.pdf.
Full textVieira, De Mello Aline. "Tlmdt : une stratégie de modélisation basée sur temps distribué pour la simulation prallèle de systèmes multi-processeurs intégrés sur puce." Paris 6, 2013. http://www.theses.fr/2013PA066201.
Full textInnovative hardware architectures in the microelectronics industry are mainly characterized by their incredibly high level of parallelism. Despite their relative novelty, Multi-Processors System on Chip (MPSoCs) containing a few cores tend to be replaced by Massively Parallel MPSoCs (MP2SoCs), which integrate dozens or hundreds of processor cores interconnected through a possibly hierarchical network on chip. Several industrial and academic frameworks appeared to help modeling, simulating and debugging MP2SoC architectures. The SystemC hardware description language is the effective backbone of all these frameworks, which allows to describe the hardware at various levels of abstraction, ranging from synthesizable RTL (more accurate and very slow) to TLM (less accurate and very fast). However, when it comes to simulate an architecture containing hundreds of processors, even the simulation speed brought by TLM is not enough. Simultaneously, multi-core workstations are becoming the mainstream. Unfortunately, the genuine SystemC simulation kernel is fully sequential and cannot exploit the processing power provided by these multi-cores machines. In this context, the strategic goal of this thesis is to propose a general modeling approach for timed TLM virtual prototyping of shared memory MP2SoCs, called Transaction Level Modeling with Distributed Time (TLM-DT). The main idea of the TLM-DT approach is not to use anymore the SystemC global simulation time, becoming possible to use a truly parallel simulation engine and providing a significant reduction in simulation time with a limited loss of precision
Roynard, Michaël. "Generic programming in modern C++ for Image Processing." Electronic Thesis or Diss., Sorbonne université, 2022. https://theses.hal.science/tel-03922670.
Full textC++ is a multi-paradigm language that enables the initiated programmer to set up efficient image processing algorithms. This language strength comes from several aspects. C++ is high-level, which enables developing powerful abstractions and mixing different programming styles to ease the development. At the same time, C++ is low-level and can fully take advantage of the hardware to deliver the best performance. It is also very portable and highly compatible which allows algorithms to be called from high-level, fast-prototyping languages such as Python or Matlab. One of the most fundamental aspects where C++ really shines is generic programming. Generic programming makes it possible to develop and reuse bricks of software on objects (images) of different natures (types) without performance loss. Nevertheless,conciliating the aspects of genericity, efficiency, and simplicity is not trivial. Modern C++ (post-2011) has brought new features that made the language simpler and more powerful. In this thesis, we first explore one particular C++20aspect: the concepts, in order to build a concrete taxonomy of image related types and algorithms. Second, we explore another addition to C++20, ranges (and views), and we apply this design to image processing algorithms and image types in order to solve issues such as how hard it is to customize/tweak image processing algorithms. Finally, we explore possibilities regarding how we can offer a bridge between static (compile-time) generic C++ code and dynamic (runtime) Python code. We offer our own hybrid solution and benchmark its performance as well as discuss what can be done in the future with JIT technologies. Considering those three axes, we will address the issue regarding the way to conciliate generic programming, efficiency and ease of use
Cornea, Bogdan Florin. "Prédiction de performances d’applications de calcul distribué exécutées sur une architecture pair-à-pair." Thesis, Besançon, 2011. http://www.theses.fr/2011BESA2012/document.
Full textIn the field of high performance computing, the architectures evolve continuously. In order to increase the number of computing nodes or the network speed, an important investment must be considered, from both temporal and financial point of view. Performance prediction methods aim at assisting in finding the best trade-off for such an investment. At the same time, P2P HPC systems have known an increase in development. These heterogeneous architectures would allow solving scientific problems at a low cost, with respect to dedicated systems.The manuscript presents a new method for performance prediction. This method applies to real applications for distributed computing, considered in a real execution environment. This method uses information about the different compiler optimization levels. The prediction results are obtained with reduced slowdown and are scalable. This thesis took shape in the development of the dPerf tool. dPerf predicts the performances of C, C++, and Fortran application, which use MPI or P2P-SAP to communicate. The applications modeled by dPerf are meant for execution on P2P heterogeneous architectures, with a decentralized communication topology. The accuracy of dPerf has been studied on three applications: (i) the Laplace transform, for sequential codes, (ii) the NAS Integer Sort benchmark for distributed MPI programs, (iii) and the obstacle problem, for the decentralized P2P computing and the scaling of the number of computing nodes
Gasmi, Bernadette. "Safir : système d'assemblage flexible intelligent multi-robots." Toulouse, ENSAE, 1990. http://www.theses.fr/1990ESAE0014.
Full textKhammassi, Nader. "High-level structured programming models for explicit and automatic parallelization on multicore architectures." Thesis, Lorient, 2014. http://www.theses.fr/2014LORIS350/document.
Full textThe continuous proliferation of multicore architectures has placeddevelopers under great pressure to parallelize their applicationsaccordingly with what such platforms can offer. Unfortunately,traditional low-level programming models exacerbate the difficultiesof building large and complex parallel applications. High-level parallelprogramming models are in high-demand as they reduce the burdenson programmers significantly and provide enough abstraction toaccommodate hardware heterogeneity. In this thesis, we proposea flexible parallelization methodology, and we introduce a newtask-based parallel programming model designed to provide highproductivity and expressiveness without sacrificing performance.Our programming model aims to ease expression of both sequentialexecution and several types of parallelism including task, data andpipeline parallelism at different granularity levels to form a structuredhomogeneous programming model.Contrary to many parallel programming models which introducenew languages, compiler annotations or extend existing languagesand thus require specialized compilers, extra-hardware or virtualmachines..., we exploit the potential of the traditional standardC++ language and particularly its meta-programming capabilities toprovide a light-weight and smart parallel programming interface. Thisprogramming interface enable programmer to express parallelismat the cost of a little amount of extra-code while reuse its legacysequential code almost without any alteration. An intelligent run-timesystem is able to extract transparently many information on task-datadependencies and ordering. We show how the run-time system canexploit these valuable information to detect and protect shared dataautomatically and perform cache-aware scheduling.The initial implementation of our programming model is a pure C++library named "XPU" and is designed for explicit parallelism specification.A second implementation named "FATMA" extends XPU andexploits the transparent task dependencies extraction feature to provideautomatic parallelization of a given sequence of tasks withoutneed to any specific tool apart a standard C++ compiler. In order todemonstrate the potential of our approach, we use both of the explicitand automatic parallel programming models to parallelize popularproblems as well as real industrial applications. We show thatdespite its high abstraction, our programming models provide comparableperformances to lower-level programming models and offersa better productivity-performance tradeoff
Zacklad, Manuel. "Principes de modélisation qualitative pour l'aide à la décision dans les organisations : méthode d'utilisation du logiciel d'acquisition des connaissances C-KAT." Compiègne, 1993. http://www.theses.fr/1993COMPD633.
Full textGratien, Jean-Marc. "A DSEL in C++ for lowest-order methods for diffusive problem on general meshes." Thesis, Grenoble, 2013. http://www.theses.fr/2013GRENM018/document.
Full textIndustrial simulation software has to manage : the complexity of the underlying physical models, usually expressed in terms of a PDE system completed with algebraic closure laws, the complexity of numerical methods used to solve the PDE systems, and finally the complexity of the low level computer science services required to have efficient software on modern hardware. Nowadays, this complexity management becomes a key issue for the development of scientific software. Some frameworks already offer a number of advanced tools to deal with the complexity related to parallelism in a transparent way. However, all these frameworks often provide only partial answers to the problem as they only deal with hardware complexity and low level numerical complexity like linear algebra. High level complexity related to discretization methods and physical models lack tools to help physicists to develop complex applications. New paradigms for scientific software must be developed to help them to seamlessly handle the different levels of complexity so that they can focus on their specific domain. Generative programming, component engineering and domain-specific languages (either DSL or DSEL) are key technologies to make the development of complex applications easier to physicists, hiding the complexity of numerical methods and low level computer science services. These paradigms allow to write code with a high level expressive language and take advantage of the efficiency of generated code for low level services close to hardware specificities. In the domain of numerical algorithms to solve partial differential equations, their application has been up to now limited to Finite Element (FE) methods, for which a unified mathematical framework has been existing for a long time. Such kinds of DSL have been developed for finite element or Galerkin methods in projects like Freefem++, Getdp, Getfem++, Sundance, Feel++ and Fenics. A new consistent unified mathematical frame has recently emerged and allows a unified description of a large family of lowest-order methods. This framework allows then, as in FE methods, the design of a high level language inspired from the mathematical notation, that could help physicists to implement their application writing the mathematical formulation at a high level. We propose to develop a language based on that frame, embedded in the C++ language. Our work relies on a mathematical framework that enables us to describe a wide family of lowest order methods including multiscale methods based on lowest order methods. We propose a DSEL developed on top of Arcane platform, based on the concepts presented in the unified mathematical frame and on the Feel++ DSEL. The DSEL is implemented with the Boost.Proto library by Niebler, a powerful framework to build a DSEL in C++. We have proposed an extension of the computational framework to multiscale methods and focus on the capability of our approach to handle complex methods.Our approach is extended to the runtime system layer providing an abstract layer that enable our DSEL to generate efficient code for heterogeneous architectures. We validate the design of this layer by benchmarking multiscale methods. This method provides a great amount of independent computations and is therefore the kind of algorithms that can take advantage efficiently of new hybrid hardware technology. Finally we benchmark various complex applications and study the performance results of their implementations with our DSEL
Bennegadi, Karim. "Étude et réalisation d'opérateurs câblés pour le traitement d'images en temps réel." Compiègne, 1990. http://www.theses.fr/1990COMPD263.
Full textIn order to facilitate the realisation of the hardware processing units in image analysis and pattern recognition, an autonomous environment was designed. To group these hardware units in a single system, to ease their extension and to normalize them for modularity purpose, a hardware image bus was designed, creating the link between different image sources as video digitizing cards or computer buses, and the set of hardware processing units. A full software package that consists in two libraries, complete the hardware part. The first library presents an enhanced user interface that can overlay the image, and the second is a software toolbox used to ease new routines integration, user interface extension and provides a methodology to translate algorithms from software form to hardware form. The hardware bus based part, provides a high data transfer rate using synchronous mode, and the software part is written in C language for modularity and portability purposes
Voegtlin, Marc. "Procédé de génération d'objets pour la création d'applications interactives adaptables." Mulhouse, 1991. http://www.theses.fr/1991MULH0181.
Full textGirard, Pierre. "Formalisation et mise en œuvre d'une analyse statique de code en vue de la vérification d'applications sécurisées." Toulouse, ENSAE, 1996. http://www.theses.fr/1996ESAE0010.
Full textSallenave, Olivier. "Contribution à l'efficacité des programmes orientés objet pour processeurs embarqués." Thesis, Montpellier 2, 2012. http://www.theses.fr/2012MON20120.
Full textNowadays, embedded systems are ubiquitous. For efficiency reasons, most constrained systems are still programmed in C and assembly. Adopting higher-level languages such as C# or Java should enhance the level of abstraction offered to programmers and reduce development time and cost for these systems. A small part of them have migrated to such languages, like smartphones and tablet computers, but they have a large amount of external memory available and do not represent the majority of embedded systems.This thesis focuses on the implementation of Java and .NET for embedded systems, and more especially on the efficient compilation of polymorphism. Polymorphism generates an overhead at run-time, such as indirections when methods are invoked (inclusion polymorphism) or code duplication in the case of generics (parametric polymorphism). Many implementation techniques have been proposed, especially for Java. However, it remains to identify which ones are applicable in the context of low-end embedded systems. We consider that whole program optimization (closed-world assumption) is well-suited in this context. Using type analysis, we observe that most part of programs is monomorph, therefore it can be compiled with no overhead with respect to C. In order to implement the remaining polymorphism, we choose the technique which is better suited for the target hardware. We also propose an appropriate implementation of run-time generics. Our results show that the negative impact of polymorphism is mostly reduced. The efficiency of the optimized code should be comparable with C, and the techniques we employ could be applicable in the context of dynamic loading (open-world assumption)
Gratien, Jean-Marc. "A Domain Specific Embedded Language in C++ for lowest-order methods for diffusive problem on general meshes." Phd thesis, Université de Grenoble, 2013. http://tel.archives-ouvertes.fr/tel-00926232.
Full textАлексахіна, Тетяна Олексіївна, Татьяна Алексеевна Алексахина, Tetiana Oleksiivna Aleksakhina, and A. Krivodub. "La langage de programmation." Thesis, Вид-во СумДУ, 2009. http://essuir.sumdu.edu.ua/handle/123456789/16780.
Full textSamyn, Mickaël. "Une simulation fonctionnelle d'un système monopuce dédié au traitement du signal intensif : une approche dirigée par les modèles." Lille 1, 2005. https://ori-nuxeo.univ-lille1.fr/nuxeo/site/esupversions/9eec6f23-301f-4b30-b5b0-73be4f4ad924.
Full textDelpech, Nicolas. "Architecture orientée objet de contrôle-commande de robots." Toulouse, ENSAE, 1994. http://www.theses.fr/1994ESAE0002.
Full text