Skip to content

Prosdino95/AOSProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AOSProject

This project uses LLVM-MCA to compare the fixed-point code produced by TAFFO with the original floating-point code for all loops.
LLVM-MCA is a tool that simulates the inner behavior of the CPU to estimate the performance of a machine code snippet.
TAFFO is an auto-tuning framework, based on LLVM 8, which tries to replace floating-point operations with fixed-point operations as much as possible.

Check the document inside Report for more detailed code documentation. Currently, the document is in WIP.

How to Build

This project supports only LLVM 8.
Create a build directory.
If you have a single system LLVM version installed, you may omit to set the LLVM_DIR variable to the LLVM distribution path you want to use. Run

export LLVM_DIR=/usr/local/llvm-8
mkdir build dist
cd build
cmake ..
make install DESTDIR=../dist

How to use

To execute all LLVM passes need to compile the code and run the LLVM-mca you can use the tool.sh script as follows.

Modify the application to insert annotations on the appropriate variable declarations, see TAFFO documentation for more details.
You can set the CPU variable by use export CPU=x86 to indicate witch architecture mca have to use.
If no CPU variable was set, mca uses the default one.
Check LLVM-MCA documentation for more details about the architecture supported.

.\tool.sh program.c

Check file result.txt for the output of the analysis.

How to Test

$ cd test/polybench-c-4.2.1-beta-novra
$ ./run.sh

Check the result in results/result.txt

TAFFO

https://github.com/HEAPLab/TAFFO

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors