Genetic Algorithm for Integrated SoftwarePipelining

The purpose of the thesis was to study the feasibility of using geneticalgorithm (GA) to do the integrated software pipelining (ISP). Different from phasedcode generation, ISP is a technique which integrates instruction selection, instructionscheduling, and register allocation together when doing co...

Full description

Bibliographic Details
Main Author: Cai, Zesi
Format: Others
Language:English
Published: Linköpings universitet, Institutionen för datavetenskap 2012
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-76088
id ndltd-UPSALLA1-oai-DiVA.org-liu-76088
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-liu-760882018-01-13T05:15:44ZGenetic Algorithm for Integrated SoftwarePipeliningengCai, ZesiLinköpings universitet, Institutionen för datavetenskapLinköpings universitet, Tekniska högskolan2012Code generationcompilersinstruction schedulingmodulo schedulinggenetic programming.Computer SciencesDatavetenskap (datalogi)The purpose of the thesis was to study the feasibility of using geneticalgorithm (GA) to do the integrated software pipelining (ISP). Different from phasedcode generation, ISP is a technique which integrates instruction selection, instructionscheduling, and register allocation together when doing code generation. ISP is able toprovide a lager solution space than phased way does, which means that ISP haspotential to generate more optimized code than phased code generation. However,integrated compiling costs more than phased compiling. GA is stochastic beam searchalgorithm which can accelerate the solution searching and find an optimized result.An experiment was designed for verifying feasibility of implementing GA for ISP(GASP). The implemented algorithm analyzed data dependency graphs of loop bodies,created genes for the graphs and evolved, generated schedules, calculated andevaluated fitness, and obtained optimized codes. The fitness calculation wasimplemented by calculating the maximum value between the smallest possibleresource initiation interval and the smallest possible recurrence initiation interval. Theexperiment was conducted by generating codes from data dependency graphsprovided in FFMPEG and comparing the performance between GASP and integerlinear programming (ILP). The results showed that out of eleven cases that ILP hadgenerated code, GASP performed close to ILP in seven cases. In all twelve cases thatILP did not have result, GASP did generate optimized code. To conclude, the studyindicated that GA was feasible of being implemented for ISP. The generated codesfrom GASP performed similar with the codes from ILP. And for the dependencygraphs that ILP could not solve in a limited time, GASP could also generate optimizedresults. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-76088application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Code generation
compilers
instruction scheduling
modulo scheduling
genetic programming.
Computer Sciences
Datavetenskap (datalogi)
spellingShingle Code generation
compilers
instruction scheduling
modulo scheduling
genetic programming.
Computer Sciences
Datavetenskap (datalogi)
Cai, Zesi
Genetic Algorithm for Integrated SoftwarePipelining
description The purpose of the thesis was to study the feasibility of using geneticalgorithm (GA) to do the integrated software pipelining (ISP). Different from phasedcode generation, ISP is a technique which integrates instruction selection, instructionscheduling, and register allocation together when doing code generation. ISP is able toprovide a lager solution space than phased way does, which means that ISP haspotential to generate more optimized code than phased code generation. However,integrated compiling costs more than phased compiling. GA is stochastic beam searchalgorithm which can accelerate the solution searching and find an optimized result.An experiment was designed for verifying feasibility of implementing GA for ISP(GASP). The implemented algorithm analyzed data dependency graphs of loop bodies,created genes for the graphs and evolved, generated schedules, calculated andevaluated fitness, and obtained optimized codes. The fitness calculation wasimplemented by calculating the maximum value between the smallest possibleresource initiation interval and the smallest possible recurrence initiation interval. Theexperiment was conducted by generating codes from data dependency graphsprovided in FFMPEG and comparing the performance between GASP and integerlinear programming (ILP). The results showed that out of eleven cases that ILP hadgenerated code, GASP performed close to ILP in seven cases. In all twelve cases thatILP did not have result, GASP did generate optimized code. To conclude, the studyindicated that GA was feasible of being implemented for ISP. The generated codesfrom GASP performed similar with the codes from ILP. And for the dependencygraphs that ILP could not solve in a limited time, GASP could also generate optimizedresults.
author Cai, Zesi
author_facet Cai, Zesi
author_sort Cai, Zesi
title Genetic Algorithm for Integrated SoftwarePipelining
title_short Genetic Algorithm for Integrated SoftwarePipelining
title_full Genetic Algorithm for Integrated SoftwarePipelining
title_fullStr Genetic Algorithm for Integrated SoftwarePipelining
title_full_unstemmed Genetic Algorithm for Integrated SoftwarePipelining
title_sort genetic algorithm for integrated softwarepipelining
publisher Linköpings universitet, Institutionen för datavetenskap
publishDate 2012
url http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-76088
work_keys_str_mv AT caizesi geneticalgorithmforintegratedsoftwarepipelining
_version_ 1718608485404377088