Repository logo
 

Autotuning the Intel HLS Compiler using the Opentuner Framework

dc.contributor.committeeMemberTeng, Daniel
dc.contributor.committeeMemberSalt, Eric
dc.contributor.committeeMemberCao, Tate
dc.creatorJanzen, Chandler
dc.date.accessioned2019-10-28T22:36:28Z
dc.date.available2020-10-28T06:05:08Z
dc.date.created2019-09
dc.date.issued2019-10-28
dc.date.submittedSeptember 2019
dc.date.updated2019-10-28T22:36:29Z
dc.description.abstractHigh level synthesis (HLS) tools can be used to improve design flow and decrease verification times for field programmable gate array (FPGA) and application specific integrated circuit (ASIC) design. The Intel HLS Compiler is a high level synthesis tool that takes in untimed C/C++ as input and generates production-quality register transfer level (RTL) code that is optimized for Intel FPGAs. The translation does, however, require multiple iterations and manual optimizations to get comparable synthesized results to that of a solution written in a hardware descriptive language. The synthesis results can vary greatly based upon coding style and optimization techniques, and typically require an in-depth knowledge of FPGAs to fully optimize the translation which limits the audience of the tool. The extra abstraction that the C/C++ source code presents can also make it difficult to meet more specific design requirements; this includes designs to meet specific resource usage or performance based metrics. To improve the quality of results generated by the Intel HLS Compiler without a manual iterative process that requires an in-depth knowledge of FPGAs, this research proposes a method of automating some of the optimization techniques that improve the synthesized design through an autotuning process. The proposed approach utilizes the PyCParser library to parse C source files and the OpenTuner Framework to autotune the synthesis to provide a method that generates results that better meet the needs of the designer's requirements through lower FPGA resource usage or increased design performance. Such functionality is not currently available in Intel's commercial tools. The proposed approach was tested with the CHStone Benchmarking Suite of C programs as well as a standard digital signal processing finite impulse response filter. The results show that the commercial HLS tool can be automatically autotuned through placeholder injection using a source parsing tool for C code and using the OpenTuner Framework to autotune the results. For designs that are small in nature and include conducive structures to be autotuned, the results indicate resource usage reductions and/or performance increases of up to 40% as compared to the default Intel HLS Compiler results. The method developed in this research also allows additional design targets to be specified through the autotuner for consideration in the synthesized design which can yield results that are better matched to a design's requirements.
dc.format.mimetypeapplication/pdf
dc.identifier.urihttp://hdl.handle.net/10388/12422
dc.subjectHLS
dc.subjectIntel FPGA
dc.subjectFPGA
dc.subjectOpenTuner
dc.subjectautotuner
dc.subjectC
dc.subjectCHStone
dc.titleAutotuning the Intel HLS Compiler using the Opentuner Framework
dc.typeThesis
dc.type.materialtext
local.embargo.terms2020-10-28
thesis.degree.departmentElectrical and Computer Engineering
thesis.degree.disciplineElectrical Engineering
thesis.degree.grantorUniversity of Saskatchewan
thesis.degree.levelMasters
thesis.degree.nameMaster of Science (M.Sc.)

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
JANZEN-THESIS-2019.pdf
Size:
1.82 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
LICENSE.txt
Size:
2.27 KB
Format:
Plain Text
Description: