National Repository of Grey Literature 8 records found  Search took 0.00 seconds. 
An alternative SSA construction algorithm for GCC
Kastl, Filip ; Hubička, Jan (advisor) ; Jambor, Martin (referee)
SSA form is a very important concept in compiler internal code representa- tion. Φ-functions are an integral part of SSA form. Braun, Buchwald, Hack, Leißa, Mallon and Zwinkau introduce a new algorithm for SSA construction and another related algorithm for reducing the number of Φ-functions. These algorithms are not yet implemented in the GCC compiler. Firstly, we introduce, implement and test a basic code generation API based on the SSA construction algorithm. We list the possible extensions and usecases of the API. Then we implement the Φ optimization as a standalone pass. We use it to measure the number of redundant Φ-functions produced by other GCC passes. Finally, we conclude that GCC would benefit from including both of these algorithms. 1
Improving loop optimization with histogram profiling
Kubánek, Ondřej ; Hubička, Jan (advisor) ; Jambor, Martin (referee)
Production compilers use numerous techniques to generate performant code. One such technique is Profile-guided optimization (PGO). The princi- ple of this technique is to insert instrumentation during compilation, gather information about program behaviour with training runs and use this infor- mation during recompilation to improve optimization. The thesis aims to improve the precision of Loop optimizations in GNU Compiler Collection (GCC) with PGO. Currently in GCC, only the average iteration count of a loop is known with PGO. This leads to inefficiencies in both the performance and size of the binary. We implement infrastructure for measuring more information about loop iterations and add new counters namely the histogram of iterations and his- togram of iterations modulo its size. With the histogram of iterations, we improve loop peeling and implement a new case of loop versioning optimiza- tion. This significantly improves the performance of the generated code with reasonable overhead.
Incremental link-time optimization in GNU Compiler Collection
Jireš, Michal ; Hubička, Jan (advisor) ; Jambor, Martin (referee)
Modern compilers attempt to optimize programs as much as possible. One such significant effort is Link-Time Optimization (LTO). LTO takes the whole program as accessible to a linker, and performs global optimizations that are impossible in previously local compilations. Because of the global nature, LTO must be performed in full in each compilation, which results in long compile times even in edit-compile cycles. Incremental compilation can reduce compile times of edit-compile cycles by reusing unchanged objects. This thesis aims to implement incremental compilation for Link-Time Optimizations of GNU Compiler Collection, specifically of local transformation phase. We implement incremental compilation by caching files of compilation units of local transformation. For best success of incremental compilation we also aim to minimize number of changed compilation units after small edit. We achieve this in two ways. First, we create better partitioning strategy, that concentrates the changes into fewer compilation units. Second, we analyzed sources of divergence and, if easily possible, removed them. That includes stabilizing values and fixing streaming and inter-procedural optimizations to increase their robustness against small edits. Both without influencing quality of the final binary. 1
Optimizations in the GNU Compiler Collection targeted at scientific computing
Jambor, Martin ; Hubička, Jan (advisor) ; Jelínek, Jakub (referee)
Many members of the scientific community look for alternatives to Fortran to increase maintainability, reusability and interoperability of their projects and component and to achieve rapid development and deployment. C++ appears to be an ever more appealing alternative because evolving compilers and coding techniques continually boost the efficiency of the resultant code. This work describes what C++ scientific code typically looks like, and discuses a number of contemporary optimizing techniques compilers use to remove overhead caused by levels of abstraction. Moreover, it proposes a new Intraprocedural Analysis of Aggregates to expose even more information stored within objects and track object behaviour. It also describes implementation of intraprocedural propagation of constants within aggregates built on top of this analysis. Finally, it discusses its efficiency and potential for future work.
Shoulder and neck pain caused by computer usage
Jambor, Martin ; Gilbertová, Sylva (advisor) ; Hošková, Blanka (referee)
Název: Vliv práce s počítačem na bolest ramene a krční páteře Shoulder and neck pain caused by computer usage Cíle práce: Cílem diplomové práce bylo shrnout teoretické informace anatomické v oblasti pletence ramenního, dále potom z oblasti ergonomie při práci s počítačem. Mým hlavním cílem bylo zjistit jak dalece jsou tyto zásady na pracovišti dodržovány a poukázat na případný vliv na bolestivý syndrom ramene. Dalším úkolem je nastudování materiálů, získání dalších teoretických a odborných znalostí a osvojení si teoretických poznatků v praxi. V neposlední řadě pak sestavení jednoduché cvičební jednotky jako prevence muskuloskeletálních poruch. Metoda: Průzkum byl proveden v počítačové firmě u 20 dotázaných respondentů. Průměrný věk respondentů činil 41,5 roků. Metoda průzkumu byla provedena formou písemné ankety. Dotazovaní jedinci obdrželi sestavenou anketu, jejíž součástí byly přesné instrukce k vyplnění. Anketa byla rozdělena na dvě části. Každá z částí obsahovala 5 otázek. První část označena jako A byla koncipována za účelem zmapování osobních dat a zdravotních obtíží zejména z hlediska pohybového aparátu. Druhá část označena jako B se zaměřovala na ergonomické hodnocení pracovního prostředí. Výsledky: Z výsledků ankety vyplývá,že 70% respondentů netrpí bolestmi ramen vůbec a dalších 15% mělo...
Optimizations in the GNU Compiler Collection targeted at scientific computing
Jambor, Martin ; Jelínek, Jakub (referee) ; Hubička, Jan (advisor)
Many members of the scientific community look for alternatives to Fortran to increase maintainability, reusability and interoperability of their projects and component and to achieve rapid development and deployment. C++ appears to be an ever more appealing alternative because evolving compilers and coding techniques continually boost the efficiency of the resultant code. This work describes what C++ scientific code typically looks like, and discuses a number of contemporary optimizing techniques compilers use to remove overhead caused by levels of abstraction. Moreover, it proposes a new Intraprocedural Analysis of Aggregates to expose even more information stored within objects and track object behaviour. It also describes implementation of intraprocedural propagation of constants within aggregates built on top of this analysis. Finally, it discusses its efficiency and potential for future work.

See also: similar author names
3 Jambor, Marek
5 Jambor, Matúš
Interested in being notified about new results for this query?
Subscribe to the RSS feed.