This repository contains plugins for modelling ML accelerators in ETISS.
QVanillaAccelerator
: TODO: DescriptionQVanillaAcceleratorT
: TODO: DescriptionVanillaAccelerator
: TODO: Description
- Clone ETISS repository
- Copy (or symlink) the plugin directory (i.e.
QVanillaAcceleratorT
) into thePluginImpl
directory of the ETISS source tree. - Build ETISS as usual (following the instructions in the README)
- Clone, build and install ETISS according to the README.
- Enter one plugin directory, i.e.
cd
- 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)
- Create a directory:
mkdir ./temp/
- Create INI file with following contents:
# Filename: custom.ini
[StringConfigurations]
etiss_wd=/path/to/temp
- Create
PluginImpl
subdirectory:mkdir ./temp/PluginImpl
- Copy
./build/libQVanillaAcceleratorT.so
(or other plugin) into this subdir:cp ./build/libQVanillaAcceleratorT.so ./temp/PluginImpl
- Run EISS via
run_helper.sh
script (or callingbare_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
- 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
- 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!
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