• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 4
  • 1
  • Tagged with
  • 5
  • 5
  • 4
  • 3
  • 3
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 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.
1

Compiler optimization VS WCET : Battle of the ages / Kompilatoroptimering VS WCET

Harrius, Tova, Nordin, Max January 2022 (has links)
Optimization by a compiler can be executed with many different methods. The defence company Saab provided us with a mission, to see if we could optimize their code with the help of the GCC compiler and its optimization flags. For this thesis we have conducted a study of the optimization flags to decrease the worst case execution time. The first step to assemble an effective base of flags was reading the documentation for the flags. We then tested the different flags and analysed them. In the end we ended up with four chosen sets that we saw fitted to be discussed and analyzed further. The results did not live up to our expectations, as we thought the flags would optimize the execution time. The flags int he majority of cases gave an, although small, increase of the execution time. We only had one set where the flags gave us a decrease, which we called the Expensive Optimization.With these results we can conclude that Saab do not need to change their existing set of optimization flags to optimize their compiler further.
2

Multipla definitioner av procedurer – feltolerans genom redundans på procedurnivå i ett programspråk

Ivinger, Oskar January 2003 (has links)
Sammanfattning Fel i programvara (buggar) kostar ofantliga summor varje år. I detta arbete presenteras en metod där programexekveringsmiljön utan vare sig programmerarens eller användarens inblandning utförligt kan rapportera och dölja effekterna av en avsevärd andel buggar. Genom att kompilatorn eller tolken tillåter att en och samma procedur implementeras hur många gånger som helst införs ett helt automatiskt stöd för N-Version Programming (NVP) omedelbart i programspråket. Tekniken gör programvaran feltolerant och blir ett komplement till kostsam och ofta bristfällig testning. En tolk utvecklades för ett programspråk som tillåter multipla definitioner av procedurer. Därmed har det inbyggt stöd för feltolerans genom redundans på procedurnivå. Ett experiment genomfördes där nio programmerare oberoende av varandra implementerade 12 utförligt specificerade procedurer. De olika bidragen klistrades in i ett och samma program. Nio av 12 feltoleranta sammansatta procedurer fungerade perfekt. I många fall även när en majoritet av de ingående bidragen drogs med allvarliga fel. Sammanställningen genomfördes både före och efter programmerarnas egen testning och felrättning. Testningen visade sig vara en faktor med liten inverkan på helheten även om många enskilda uppdaterade bidrag fungerade avsevärt bättre än förut. I något fall lyckades metoden påvisa tvetydigheter i specifikationen när olika versioner producerade olika men formellt korrekta resultat. / Södra Stenbocksgatan 120 252 44 HELSINGBORG 042 14 67 06
3

μSPL - Proprietary Graphics Language Transpiler : Asserting translation correctness using runtime verification / μSPL - Proprietär grafikspråkstranspilator : Hävdning av översättningskorrekthet med hjälp av körtidsverifiering

Andersson Glass, Henrik January 2021 (has links)
The Swedish Armed Forces are currently considering extending the operational life of the Saab JAS 39 Gripen C/D multirole fighter aircraft by an additional 10 to 20 years. This has resulted in a need to upgrade many of the hardware components originally developed in the late 1980s and early 1990s. These upgrades include the Application Specific Integrated Circuits (ASICs) used to generate graphics in the aircraft’s Cockpit Display System (CDS), made programmable through the Symbol Programming Language (SPL). SPL is a proprietary Domain Specific Language (DSL) developed specifically to be used with the custom hardware in the Gripen’s CDS. An upgrade of the underlying hardware would necessitate migrating the old SPL software to some other format suitable for modern hardware. Large parts of this process could be automated with the help of a source-to-source compiler, i.e., a transpiler. In this thesis, we present a translation-verifying transpiler for a subset of SPL, dubbed μSPL, that outputs equivalent OpenGL/C++ programs. Verification is done at runtime against a reference program execution trace produced by the transpiler by means of symbolic execution in the operational semantics of μSPL. An observational study was made to evaluate the solution and the soundness of the μSPL semantics. From the results of the observational evaluation, we find that the chosen method for translation verification is contextually suitable, albeit with potential for improvement in the details of the implementation. / Försvarsmakten överväger i skrivande stund att förlänga tjänsteperioden för enhetflygplanet Saab JAS 39 Gripen C/D med ytterligare 10 till 20 år. Detta har resulterat i ett behov av att uppgradera många av de hårdvarukomponenter som ursprungligen togs fram för Gripenprojektet under sena 1980-talet och tidiga 1990-talet. Dessa uppgraderingar inkluderar applikationsspecifika integrerade kretsar (ASIC:ar) som används för att driva och generera symbolik för presentationssystemet Elektroniskt Presentationssystem 17 (EP-17) i cockpit på Gripen C/D. Dessa ASIC:ar är programmerbara med det egenutvecklade grafikprogramspråket SPL. En uppgradering av den underliggande hårdvaran skulle nödvändiggöra en migration av den SPL-mjukvara som redan är skriven till något format som är lämpligt för modern hårdvara. Stora delar av den här processen skulle kunna automatiseras med en automatisk översättare; en så kallad transpilator. I den här avhandlingen presenterar vi en översättningsverifierande transpilator för en delmängd av SPL, kallad μSPL, som översätter till ekvivalenta OpenGL/C++ program. Verifiering görs under körning mot ett exekveringsspår (execution trace) som producerats av transpilatorn parallellt med översättningen med hjälp av symbolisk exekvering i den operationella semantiken för μSPL. En observationell studie görs för att utvärdera lösningen och sundheten hos den använda μSPL-semantiken. Från den observationella studien framgår det att den föreslagna metoden för översättningsverifikation är lämplig i sammanhanget, med utrymme för förbättring i implementationsdetaljerna.
4

Static Branch Prediction through Representation Learning / Statisk Branch Prediction genom Representation Learning

Alovisi, Pietro January 2020 (has links)
In the context of compilers, branch probability prediction deals with estimating the probability of a branch to be taken in a program. In the absence of profiling information, compilers rely on statically estimated branch probabilities, and state of the art branch probability predictors are based on heuristics. Recent machine learning approaches learn directly from source code using natural language processing algorithms. A representation learning word embedding algorithm is built and evaluated to predict branch probabilities on LLVM’s intermediate representation (IR) language. The predictor is trained and tested on SPEC’s CPU 2006 benchmark and compared to state-of-the art branch probability heuristics. The predictor obtains a better miss rate and accuracy in branch prediction than all the evaluated heuristics, but produces and average null performance speedup over LLVM’s branch predictor on the benchmark. This investigation shows that it is possible to predict branch probabilities using representation learning, but more effort must be put in obtaining a predictor with practical advantages over the heuristics. / Med avseende på kompilatorer, handlar branch probability prediction om att uppskatta sannolikheten att en viss förgrening kommer tas i ett program. Med avsaknad av profileringsinformation förlitar sig kompilatorer på statiskt upp- skattade branch probabilities och de främsta branch probability predictors är baserade på heuristiker. Den senaste maskininlärningsalgoritmerna lär sig direkt från källkod genom algoritmer för natural language processing. En algoritm baserad på representation learning word embedding byggs och utvärderas för branch probabilities prediction på LLVM’s intermediate language (IR). Förutsägaren är tränad och testad på SPEC’s CPU 2006 riktmärke och jämförd med de främsta branch probability heuristikerna. Förutsägaren erhåller en bättre frekvens av missar och träffsäkerhet i sin branch prediction har jämförts med alla utvärderade heuristiker, men producerar i genomsnitt ingen prestandaförbättring jämfört med LLVM’s branch predictor på riktmärket. Den här undersökningen visar att det är möjligt att förutsäga branch prediction probabilities med användande av representation learning, men att det behöver satsas mer på att få tag på en förutsägare som har praktiska övertag gentemot heuristiken.
5

Wordlength inference in the Spade HDL : Seven implementations of wordlength inference and one implementation that actually works / Ordlängdsinferans i Spade HDL : Sju olika implementationer av ordlängdsinferens och en implementation som faktiskt fungerar

Thörnros, Edvard January 2023 (has links)
Compilers, complex programs with the potential to greatly facilitate software and hardware design. This thesis focuses on enhancing the Spade hardware description language, known for its user-friendly approach to hardware design. In the realm of hardware development data size - for numerical values data size is known as "wordlength" - plays a critical role for reducing the hardware resources. This study presents an innovative approach that seamlessly integrates wordlength inference directly into the Spade language, enabling the over-estimation of numeric data sizes solely from the program's source code. The methodology involves iterative development, incorporating various smaller implementations and evaluations, reminiscent of an agile approach. To assess the efficacy of the wordlength inference, multiple place and route operations are performed on identical Spade code using various versions of nextpnr. Surprisingly, no discernible impact on hardware resource utilization emerges from the modifications introduced in this thesis. Nonetheless, the true significance of this endeavor lies in its potential to unlock more advanced language features within the Spade compiler. It is important to note that while the wordlength inference proposed in this thesis shows promise, it necessitates further integration efforts to realize its full potential.

Page generated in 0.0489 seconds