• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 120
  • 37
  • 28
  • 7
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 296
  • 179
  • 122
  • 103
  • 100
  • 68
  • 47
  • 42
  • 42
  • 40
  • 40
  • 37
  • 37
  • 36
  • 35
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
51

Using de-optimization to re-optimize code

Hines, Stephen R. Whalley, David B. January 2004 (has links)
Thesis (M.S.)--Florida State University, 2004. / Advisor: Dr. David Whalley, Florida State University, College of Arts and Sciences, Dept. of Computer Science. Title and description from dissertation home page (viewed Sept. 28, 2004). Includes bibliographical references.
52

From ALPHA to imperative code : a transformational compiler for an array based functional language /

Wilde, Doran K. January 1900 (has links)
Thesis (Ph. D.)--Oregon State University, 1996. / Typescript (photocopy). Includes bibliographical references (leaves 144-152). Also available on the World Wide Web.
53

Data mining flow graphs in a dynamic compiler

Jocksch, Adam Paul. January 2009 (has links)
Thesis (M. Sc.)--University of Alberta, 2009. / Title from PDF file main screen (viewed on Oct. 21, 2009). "A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfillment of the requirements for the degree of Master of Science, Department of Computing Science, University of Alberta." Includes bibliographical references.
54

Automatically proving the correctness of program analyses and transformations /

Lerner, Sorin. January 2006 (has links)
Thesis (Ph. D.)--University of Washington, 2006. / Vita. Includes bibliographical references (p. 129-140).
55

A compiler optimization framework for Concordia parallel C /

Liang, Wen. January 1998 (has links)
Thesis (M.Comp.Sc.)--Dept. of Computer Science, Concordia University, 1998. / "September 1998" Includes bibliographical references (leaves 100-104). Available also on the Internet.
56

Τεχνικές μεταγλωττιστών για εφαρμογές πολυμέσων

Σπουρλής, Γεώργιος 19 April 2010 (has links)
Στη σημερινή εποχή οι μεταγλωττιστές κατέχουν έναν σημαντικό ρόλο στην υψηλή απόδοση των υπολογιστικών συστημάτων είτε επιτραπέζιων, είτε εξυπηρετητών, είτε ενσωματωμένων. Ο λόγος είναι ότι στη σημερινή εποχή όλες σχεδόν οι εφαρμογές γράφονται σε γλώσσες υψηλού επιπέδου και συνεπώς απαιτείται μεταγλώττιση ώστε τα προγράμματα να τρέξουν σε γλωσσά μηχανής. Η ραγδαία όμως αύξηση της απόδοσης των υπολογιστικών συστημάτων όμως έχει δημιουργήσει την απαίτηση για αποδοτικές εφαρμογές. Έτσι ποιότητα του παραγομένου κώδικα που προκύπτει είναι κρίσιμη για την ορθή και γρήγορη εκτέλεση τους για αυτό το λόγω γίνεται σημαντική ερευνά στη συγγραφή μεταγλωττιστών που θα ικανοποιεί τις παραπάνω απαιτήσεις. Αν και σήμερα υπάρχει μέλλον στην ανάπτυξη των μεταγλωττιστών υπάρχει ζήτημα για τα ενσωματωμένα συστήματα. Λόγω του ότι πρέπει να είναι έχουν χαμηλό κόστος, χαμηλή κατανάλωση ισχύος χρησιμοποιούν υποτυπώδεις μεταγλωττιστές. Επειδή όμως τα ενσωματωμένα συστήματα είναι μεγάλος κλάδος των υπολογιστικών συστημάτων με εφαρμογές σε πληθώρα θεμάτων πρέπει οι εφαρμογές αυτές να είναι σωστές και να «τρέχουν» γρήγορα. Αυτό έχει ωθήσει τους προγραμματιστές στην μελέτη των compilers και των μετασχηματισμών που κάνουν και έχει δώσει μια νέα κατεύθυνση στη βελτιστοποίηση προγραμμάτων με το χέρι με χρήση τεχνικών μεταγλωττιστών αλλά και με υψηλοτέρου επιπέδου βελτιστοποιήσεις που δεν γίνονται ακόμα από μεταγλωττιστές. Σκοπός αυτής της εργασίας είναι η μελέτη και βελτιστοποίηση της εφαρμογής για πολυμέσα motion estimation by 4 με στόχο την αύξηση της ταχύτητας εκτέλεσης σε ένα πλήθος αρχιτεκτονικών διατάξεων λαμβάνοντας υπόψη το πλήθος των πράξεων και την ιεραρχία μνήμης. Η εξομοίωση των βελτιωμένων προγραμμάτων έδειξε ότι μπορούμε να επιτύχουμε σημαντική μείωση του χρόνου εκτέλεσης ακόμα και σε αρχιτεκτονικές που δεν αξιοποιούν στο μέγιστο δυνατό τις απαιτήσεις που έχουν αυτά. / In our days compilers play a crucial role in the performance of computer systems (desktop PCs, servers, embedded systems). The reason is that almost every application is created in high level programming languages and compilation is required so that the program will eventually run in machine language. However the rapid increase of computer systems’ performance demands more efficient applications. The quality of the code that is created is critical for fast and correct execution of the applications. For this reason much research is done in the area of creating compilers that fulfill the above requirements. Although there is much future in the development of compilers, important issues arise about the embedded systems. Such systems should be characterized by low cost and low power. For this reason the compilers used are quite simple. However, the embedded systems are a very important branch of computer systems with a variety of applications, which should be executed fast and correctly. These requirements are a motivation for the programmers to study the compilers and the transformations they use and lead to program optimization “by hand” using compiler techniques, as well as higher level optimization techniques that are not used by compilers yet. The purpose of this thesis is the study and optimization of the multimedia application “motion estimation by 4”. Our main goal is to increase the execution speed in a variety of different architectural designs taking into account the amount of computation and the memory hierarchy. The simulation of the improved programs proved that we can accomplish important reduction of the execution time even in architectures that are not suitable for these specific programs.
57

Χρονοδρομολόγηση μεταφορών δεδομένων και εντολών για μεγαλύτερη ταχύτητα εφαρμογών σάρωσης πινάκων

Βασιλείου, Χρυσάνθη 07 June 2010 (has links)
Με την εξέλιξη της τεχνολογίας, ο κύριος στόχος των υπολογιστικών συστημάτων, επιτραπέζιων, εξυπηρετητών και ενσωματωμένων είναι η υψηλή απόδοση. Όμως, το σύνολο σχεδόν των εφαρμογών στις μέρες μας είναι γραμμένο σε κάποια γλώσσα υψηλού επιπέδου, με αποτέλεσμα να απαιτείται μεταγλώττιση ώστε να μεταφραστούν σε γλώσσα μηχανής και για να μπορέσουν στη συνέχεια να εκτελεστούν σε κάποιον επεξεργαστή. Η ποιότητα του κώδικα που παράγεται είναι κρίσιμος παράγοντας για την ορθή και γρήγορη εκτέλεσή του. Επομένως, η χρήση ενός μεταγλωττιστή που ικανοποιεί τις παραπάνω απαιτήσεις είναι εξαιρετικά σημαντική. Αν και η ανάπτυξη όλο και πιο αποδοτικών μεταγλωττιστών είναι γεγονός, δεν είναι δυνατό να χρησιμοποιηθούν από όλα τα υπολογιστικά συστήματα. Για παράδειγμα, τα ενσωματωμένα συστήματα, που αποτελούν μεγάλο κλάδο των υπολογιστικών συστημάτων και χρησιμοποιούνται σε πληθώρα θεμάτων, λόγω της απαίτησης τους για χαμηλό κόστος και χαμηλή κατανάλωση ισχύος χρησιμοποιούν υποτυπώδεις μεταγλωττιστές. Παρόλα αυτά η απαίτηση για υψηλή απόδοση παραμένει. Έτσι, έχει δοθεί ιδιαίτερη ώθηση στη μελέτη των μεταγλωττιστών και των τεχνικών βελτιστοποίησης προγραμμάτων που χρησιμοποιούν. Αυτό οδήγησε στη χρήση των τεχνικών μεταγλωττιστών από τους προγραμματιστές με στόχο την επίτευξη βελτιστοποίησης στο υψηλότερο επίπεδο, κάτι που είναι ιδιαίτερα χρήσιμο για τα ενσωματωμένα συστήματα όπου δεν χρησιμοποιούνται ακριβοί μεταγλωττιστές. Σκοπός της εργασίας είναι η μελέτη και βελτιστοποίηση μιας εφαρμογής σάρωσης πίνακα με στόχο την αύξηση της ταχύτητας εκτέλεσης και τη μείωση των μετακινήσεων στη μνήμη σε διαφορετικές αρχιτεκτονικές. / As technology changes, the main goal of every computer system (PCs, servers, embedded systems) is high performance. Nowadays, the majority of applications is written in high level languages and compiling is appropriate for their execution in a processor. The quality of binary code produced by a compiler is a critical factor for its correct and fast execution. So, it is extremely significant to use compilers that fulfill the requirements above. Even though the production of compilers which produce high quality binary code is a fact, they cannot be used by every computer system. For instance, embedded systems which are a big part of computer systems and are used in a wide range of applications, use simple compilers. This is because embedded systems are of low cost and low power. Nevertheless, the requirement for high performance remains. As a result, research moved towards compilers’ structure and optimization methods that are used by them. This lead to the use of compilers’ optimization methods by programmers in order to achieve high level optimization in their codes. This is very useful for embedded systems where simple compilers are used and the quality of produced code is not the desired. The aim of this work is the optimization of an application which scans a matrix (filter image) in order to achieve better performance which contains reducing memory accesses and increasing the execution time.
58

Τεχνικές μεταγλωττιστών για βελτιστοποίηση ταχύτητας ενσωματωμένων υπολογιστών

Γκίκα, Ζαχαρούλα 07 June 2010 (has links)
Στη σημερινή εποχή, η πλειοψηφία των εφαρμογών που προορίζονται για επιτραπέζια υπολογιστικά συστήματα, ενσωματωμένα συστήματα και εξυπηρετητές, υλοποιείται χρησιμοποιώντας κάποια γλώσσα υψηλού επιπέδου. Το γεγονός αυτό αναδεικνύει την τεράστια σημασία των μεταγλωττιστών, οι οποίοι μεταφράζουν τον κώδικα υψηλού επιπέδου σε γλώσσα μηχανής. Η γνώση της τεχνολογίας των μεταγλωττιστών αποτελεί σημαντικό εφόδιο στην προσπάθεια αύξησης της απόδοσης ενός υπολογιστικού συστήματος. Σκοπός της παρούσας διπλωματικής εργασίας είναι η βελτιστοποίηση δύο γνωστών εφαρμογών, του μετασχηματισμού Gauss και του αλγορίθμου πολλαπλασιασμού μήτρας Toeplitz με διάνυσμα. Για τη βελτιστοποίηση χρησιμοποιήθηκε πληθώρα τεχνικών που ενσωματώνονται σε διάφορους μεταγλωττιστές, καθώς επίσης και μέθοδοι που οι τρέχοντες μεταγλωττιστές δεν μπορούν ακόμα να εφαρμόσουν. Για την αξιολόγηση των πειραματικών αποτελεσμάτων χρησιμοποιήθηκε το εργαλείο εξομοίωσης Simplescalar και πραγματοποιήθηκε σύγκριση της εκτέλεσης των αρχικών με τις βελτιστοποιημένες εκδόσεις των εφαρμογών. Η επιτάχυνση που επετεύχθη είναι σημαντική, έως και 55%. / Nowadays, the majority of applications designed for desktop and embedded systems and servers is implemented using a high level programming language. This fact proves the huge importance of compilers, which translate high level language into machine language. The knowledge of compiler technology is a useful tool for increasing efficiency of a computer system. The purpose of this Diploma Thesis is to optimize two well-known applications, the Gauss elimination algorithm and the algorithm for multiplying a Toeplitz matrix and a vector. In order to optimize these two algorithms, a variety of techniques present in many compilers was utilized, as well as techniques that current compilers cannot yet apply. For the evaluation of our technique we used Simplescalar simulator and we compared the results between the unoptimized and the optimized versions of the algorithms. The speedup achieved was very significant, up to 55%.
59

Design automation of a machine-independent code generator

Clayton, Peter Graham 22 January 2013 (has links)
As both computer languages and architectures continue to proliferate, there is a continuing need for new compilers. Researchers have attempted to ease the work of producing compilers by developing methods to automate compiler writing. While much work has been done (and considerable success achieved) in writing parsers which can handle a variety of source languages (using mainly table-driven analysis methods), less progress has been made in formalizing the code generation end of the compiler. Nevertheless, some of the more recent publications in code generation stress portability or retargetability of the resulting compiler. A number of code generator synthesisers have been developed, some of which produce code that can be compared in quality with that produced by a conventional code generator. However, because of the complexity of generalizing the mapping from source language to target machine, and the need for efficiency of various kinds, code generator synthesisers are large, complicated programs. Consequently, the person who develops a code generator using one of these tools invariably needs to be a code generation specialist himself. Many compilers follow a pattern of having a front end which generates intermediate code, and a back end which converts intermediate code to machine code. The intermediate code is effectively machine independent, or can be designed that way. With these points in mind, we have set out to write a system of programs which -- 1. will allow the generation of such a back end in a reasonably short time, for a general intermediate code, and for a general machine code, and -- 2. can be used by anyone who has a sound knowledge of the target machine's architecture and associated assembler language, but is not necessarily a specialist compiler writer. The system consists of a series of friendly, interactive programs by means of which the user sets up tables defining the architecture and assembly level instructions for the target machine, and the code templates onto which intermediate codes produced by a parser have been mapped. A general notation has been developed to represent machine instructions using the same format as the target assembler. Thus the code generator writer is able to write code sequences to perform the effects of the intermediate codes, using assembly mnemonics familiar to him. The resultant table-driven code generator simply replaces a sequence of intermediate codes by their respective code templates, relocating them in memory and filling in addresses known only at code-generation time. This thesis describes the use and implementation details of this generalized code generation system. As an example, the implementation of a code generator for a CLANG [23] parser on an 8080 processor is described. The discussion also includes guide-lines on how to implement a loader and associated run-time routines for use in executing the object code. The results of a number of bench-marks have shown, as expected, that code produced by a code generator developed in this manner is larger and slower than that from a special purpose optimizing code generator, but is still several times faster than interpreting the intermediate code. The major benefit to be gained from using this system lies in the shorter development time by a less skilled person. / KMBT_223 / Adobe Acrobat 9.53 Paper Capture Plug-in
60

Semi-automatic protocol implementation using an Estelle-C compiler, LAPB and RTS protocols as examples

Lu, Jing January 1990 (has links)
Formal Description Techniques allow for the use of automated tools during the specification and development of communication protocols. Estelle is a standardized formal description technique developed by ISO to remove ambiguities in the specification of communication protocols and services. The UBC Estelle-C compiler automates the implementation of protocols by producing an executable C implementation directly from its Estelle specification. In this thesis, we investigate the automated protocol implementation methodology using the Estelle-C compiler. First, we describe the improvements made to the compiler to support the latest version of Estelle. Then, we present and discuss the semiautomated implementations of the LAPB protocol in the CCITT X.25 Recommendation and the RTS protocol in the CCITT X.400 MHS series using this compiler. Finally, we compare the automatic and manual protocol implementations of LAPB and RTS protocols in terms of functional coverage, development time, code size, and performance measure. The results strongly indicate the overall advantages of automatic protocol implementation method over the manual approach. / Science, Faculty of / Computer Science, Department of / Graduate

Page generated in 0.0345 seconds