EAFT: Evolutionary algorithms for GCC flag tuning

dc.contributor.advisor Çakar, Tuna
dc.contributor.author Tağtekin, Burak
dc.date.accessioned 2025-04-21T06:40:09Z
dc.date.available 2025-04-21T06:40:09Z
dc.date.issued 2023
dc.description.abstract Yazılan kodların çalışma süresi, özellikle de bir kez derlenip birden fazla kez çalıştırılacak olanlar için çok büyük önem arz etmektedir. Çalışma süresi boyunca kodun kullanacağı kaynakların verimli hale getirilmesi ya da bekleme sürelerinin azaltılması birçok geliştirici için çok önemlidir. C, C++ gibi kodların derlenip çalıştırılması hususunda GCC ya da LLVM gibi derleyiciler kullananlar bu konuda optimizasyon işini manuel bir şekilde yapıp kodun belirli optimizasyon işaretçileri ile daha kısa sürede çalışmasını sağlayabilir. Bu durum yukarıda bahsi gecen yararları sağlayacaktır ancak seçimi yapmak her geliştirici için o kadar da kolay olmamaktadır zira 200'den fazla flag içerisinden doğru kombinasyonu seçmek uzmanlık isteyen bir alandır. Bu problemin de önüne geçmek için literatürde birçok çalışma yapılmıştır. Bu çalışma kapsamında ise bu soruna bir çözüm olarak EAFT: Evolutionary Algorithms for GCC Flag Tuning geliştirilmiştir. Tamamen açık kaynaklı olan bu Autotuner, son kullanıcının temin edeceği kodu, yine son kullanıcının seçeceği özellikler doğrultusunda çalıştırıp onun için en uygun olan optimizasyon işaretçilerini arar. Son kullanıcıya özellikle hitap eden bu çalışma doğrultusunda verilecek olan kod için kullanıcı hangi seçim metodunu kullanacağından hangi çaprazlamanın kullanılmasını istediğine kadar birçok noktada direkt olarak Terminal üzerinden seçim yapılabilmesine olanak sağlar. Bu seçimler EAFT içerisinde bir kısım ya da kod değiştirilmeden yapılabilecek kolaylıktadır. Kullanılacak olan evrimsel algoritma da EAFT içerisinde kullanıcının seçimine sunulmuştur ve evrimsel algoritmalar diğer çalışmalardan farklı olarak bir değil birden fazla model içerir.
dc.description.abstract The runtime of written codes is a matter of great importance, especially for code that is compiled once and executed multiple times. It is very important for developers to ensure that the resources required by a code are used as efficiently as possible, and that the runtime is as low as possible. Developers who use compilers such as GCC or LLVM to compile and run code written in C or C++ can optimize their code manually and, with certain optimization pointers, are able to make it run faster. This will provide the shorter runtime, but completıng this manual optimization is within the abilities of every developer since determining the right combination from more than 200 flags requires significant expertise. Many studies have tackled this issue. In this study, Evolutionary Algorithms for GCC Flag Tuning (EAFT) have been developed as a solution to this problem. This Autotuner, which is completely open-source, runs the code provided by the end user according to the specifications also selected by the end user, and searches for the most suitable optimization markers. For the code to be given In line with this study, which specifically addresses the end user, the user can input the code path directly from the Terminal, as well as specify the selection method and the crossover to be used. These choices can be made without the need to alter the code. The genetic algorithm and particle swarm optimization to be used is also presented to the user in EAFT, and unlike in other studies, genetic algorithm contain not one but several models.
dc.identifier.uri https://tez.yok.gov.tr/UlusalTezMerkezi/TezGoster?key=nLNfCsWgUluh5T2iyudShgWzDnr5KLF3Szx6nFy9ikogIW4cXAmAbG7rz6-wLvMM
dc.identifier.uri https://hdl.handle.net/20.500.11779/2566
dc.language.iso en
dc.publisher MEF Üniversitesi
dc.rights info:eu-repo/semantics/openAccess
dc.subject Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol
dc.subject Computer Engineering and Computer Science and Control
dc.title EAFT: Evolutionary algorithms for GCC flag tuning
dc.title.alternative EAFT: Evrimsel algoritmalar ile GCC işaretçi optimizasyonu
dc.type Master Thesis
dspace.entity.type Publication
gdc.author.institutional Tağtekin, Burak
gdc.author.institutional Çakar, Tuna
gdc.coar.access open access
gdc.coar.type text::thesis::master thesis
gdc.description.department Enstitüler, Fen Bilimleri Enstitüsü, Fen Bilimleri Ana Bilim Dalı
gdc.description.endpage 64
gdc.description.publicationcategory Tez
gdc.description.startpage 1
gdc.identifier.yoktezid 827943
relation.isAuthorOfPublication 10f8ce3b-94c2-40f0-9381-0725723768fe
relation.isAuthorOfPublication.latestForDiscovery 10f8ce3b-94c2-40f0-9381-0725723768fe
relation.isOrgUnitOfPublication 05ffa8cd-2a88-4676-8d3b-fc30eba0b7f3
relation.isOrgUnitOfPublication 0d54cd31-4133-46d5-b5cc-280b2c077ac3
relation.isOrgUnitOfPublication a6e60d5c-b0c7-474a-b49b-284dc710c078
relation.isOrgUnitOfPublication.latestForDiscovery 05ffa8cd-2a88-4676-8d3b-fc30eba0b7f3

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
827943.pdf
Size:
2.64 MB
Format:
Adobe Portable Document Format

Collections