Skip to content

tum-ei-eda/etiss-accelerator-plugins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ETISS Accelerator Plugins

This repository contains plugins for modelling ML accelerators in ETISS.

Contents

  • QVanillaAccelerator: TODO: Description
  • QVanillaAcceleratorT: TODO: Description
  • VanillaAccelerator: TODO: Description

Building Instructions

Integrated ETISS Build

  1. Clone ETISS repository
  2. Copy (or symlink) the plugin directory (i.e. QVanillaAcceleratorT) into the PluginImpl directory of the ETISS source tree.
  3. Build ETISS as usual (following the instructions in the README)

Out-of-Tree Build

  1. Clone, build and install ETISS according to the README.
  2. Enter one plugin directory, i.e. cd
  3. Build plugin with CMake, passing it ETISS_DIR to find the relevant CMake configuration
cmake -B ./build -S . -DETISS_DIR=/path/to/etiss/install/etiss/lib/CMake/ETISS
cmake --build build -j$(nproc)

Running Instructions

Integrated ETISS Build

Out-of-Tree Build

Option A (etiss_wd)

  1. Create a directory: mkdir ./temp/
  2. Create INI file with following contents:
# Filename: custom.ini
[StringConfigurations]
etiss_wd=/path/to/temp
  1. Create PluginImpl subdirectory: mkdir ./temp/PluginImpl
  2. Copy ./build/libQVanillaAcceleratorT.so (or other plugin) into this subdir: cp ./build/libQVanillaAcceleratorT.so ./temp/PluginImpl
  3. Run EISS via run_helper.sh script (or calling bare_etiss_processor directly)
/path/to/etiss/install/etiss/bin/run_helper.sh /path/to/program -p QVanillaAcceleratorT -icustom.ini

Hint: Steps 1.-3. can be skipped if executing ETISS in the same path where the PluginImpl directory is located. This yields to this more simple procedure:

mkdir ./PluginImpl
cp ./build/libQVanillaAcceleratorT.so ./PluginImpl
/path/to/etiss/install/etiss/bin/run_helper.sh /path/to/program -p QVanillaAcceleratorT

Option B (list.txt)

  1. Edit the list.txt file located in /path/to/etiss/install/etiss/lib/plugins/
echo "QVanillaAcceleratorT,$(pwd)/build/,QVanillaAcceleratorT" >> ../../../install/etiss/lib/plugins/list.txt
  1. Run ETISS: /path/to/etiss/install/etiss/bin/run_helper.sh /path/to/program -p QVanillaAcceleratorT

Warning: These changes will be overwritten, when ETISS is being rebuilt!

End-to-End Example

A full example on how to use these plugins with TVMs UMA flow is part of the MLonMCU project: https://github.com/tum-ei-eda/mlonmcu/blob/main/ipynb/Examples/TVM-UMA/TVM-UMA.ipynb

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published