Increasing energy efficiency and instruction scheduling by software prefetching
With the increasing problems related to semiconductor process node shrinkage and the expansion of the mobile devices market, the requirements for energy efficiency are continuously constrained. Alternative methods such as Decoupled Access/Execute adapts software to better fit dynamic voltage and fre...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Uppsala universitet, Institutionen för informationsteknologi
2016
|
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-292714 |
id |
ndltd-UPSALLA1-oai-DiVA.org-uu-292714 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-uu-2927142016-05-09T05:15:14ZIncreasing energy efficiency and instruction scheduling by software prefetchingengFougner, AlexanderUppsala universitet, Institutionen för informationsteknologi2016With the increasing problems related to semiconductor process node shrinkage and the expansion of the mobile devices market, the requirements for energy efficiency are continuously constrained. Alternative methods such as Decoupled Access/Execute adapts software to better fit dynamic voltage and frequency scaling. Targeting the energy inefficient Out-of-Order execution logic new methods propose to increase energy efficiency by moving the Out-of-Order logic from hardware level to software level by enabling reordering of loop iterations. One way to enable reordering of iterations is to transform a loop to backwards recursion. The aim of this thesis is to investigate transformations of loops into recursions and to evaluate the resulting performance impact. This thesis presents a source language independent implementation of a LLVM compiler pass transforming loops into forward and backward recursions. The performance impact is evaluated by choosing parallel loops from the Rodinia benchmark, measuring the recursion overhead for different recursion depths. In certain cases, tight loops showed a variation in overhead ranging between 22% to 78% for the backwards recursion case depending on recursion depth, whereas for loose loops the observed overhead for some loops were as low as 1% regardless of the recursion depth. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-292714UPTEC IT, 1401-5749 ; 16002application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
description |
With the increasing problems related to semiconductor process node shrinkage and the expansion of the mobile devices market, the requirements for energy efficiency are continuously constrained. Alternative methods such as Decoupled Access/Execute adapts software to better fit dynamic voltage and frequency scaling. Targeting the energy inefficient Out-of-Order execution logic new methods propose to increase energy efficiency by moving the Out-of-Order logic from hardware level to software level by enabling reordering of loop iterations. One way to enable reordering of iterations is to transform a loop to backwards recursion. The aim of this thesis is to investigate transformations of loops into recursions and to evaluate the resulting performance impact. This thesis presents a source language independent implementation of a LLVM compiler pass transforming loops into forward and backward recursions. The performance impact is evaluated by choosing parallel loops from the Rodinia benchmark, measuring the recursion overhead for different recursion depths. In certain cases, tight loops showed a variation in overhead ranging between 22% to 78% for the backwards recursion case depending on recursion depth, whereas for loose loops the observed overhead for some loops were as low as 1% regardless of the recursion depth. |
author |
Fougner, Alexander |
spellingShingle |
Fougner, Alexander Increasing energy efficiency and instruction scheduling by software prefetching |
author_facet |
Fougner, Alexander |
author_sort |
Fougner, Alexander |
title |
Increasing energy efficiency and instruction scheduling by software prefetching |
title_short |
Increasing energy efficiency and instruction scheduling by software prefetching |
title_full |
Increasing energy efficiency and instruction scheduling by software prefetching |
title_fullStr |
Increasing energy efficiency and instruction scheduling by software prefetching |
title_full_unstemmed |
Increasing energy efficiency and instruction scheduling by software prefetching |
title_sort |
increasing energy efficiency and instruction scheduling by software prefetching |
publisher |
Uppsala universitet, Institutionen för informationsteknologi |
publishDate |
2016 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-292714 |
work_keys_str_mv |
AT fougneralexander increasingenergyefficiencyandinstructionschedulingbysoftwareprefetching |
_version_ |
1718264423286571008 |