HAWAII is a middleware stack for doing inference on energy-harvesting intermittent system. We implemented our HAWAII design on the Texas Instruments MSP430FR5994 LaunchPad, and used the internal low-energy accelerator (LEA) hardware for DNN inference acceleration. HAWAII consists of multiple inference functions, which are exposed via an intuitive API. Each inference function contains four major design components:
The footprint variable indicates the current progress of each network/layer-level operation. The function body is the actual operation in the inference pipeline (e.g., convolution/pooling). The recovery handler performs footprint-aware initialization to correctly resume an interrupted inference task upon power resumption. The footprint monitor works closely with the function body to perform footprint preservation, where it periodically captures the number of completed accelerator/CPU-based sub-operations as the inference execution progresses. For more technical details, please refer to our paper.
Demo video on Youtube: https://youtu.be/3YZTnB3v3Sw.
Below is an explanation of the directories/files found in this repo.
├── driverlib
│ └── ...
├── dsplib
│ └── ...
├── libHAWAII
│ ├── HAWAII.h
│ ├── convolution.h
│ ├── fc.h
│ ├── footprinting.h
│ └── nonlinear.h
├── main.c
├── main.h
└── model.h
driverlib/
is a set of drivers for accessing the peripherals found on the MSP430 family of microcontrollers.
dsplib/
is a set of highly optimized functions to perform many common signal processing operations on fixed-point numbers for MSP430 microcontrollers.
libHAWAII/
contains source code for basic neural network operations for HAWAII.
main.c
an example code to run a DNN inference.
Here is the basic software and hardware you need to build/run the provided example.
Now, the demo project is ready to go. Just launch the demo application by clicking the debug button. In CCS, you can trace how the design work step by step.
This project is co-led by Dr. Pi-Cheng Hsiu (Academia Sinica) and Dr. Ming-Syan Chen (National Taiwan University). Listed below are the contributors.
Chih-Kai Kang (Academia Sinica & National Taiwan University), Hashan Roshantha Mendis (Academia Sinica), Chun-Han Lin (National Taiwan Normal University) Pi-Cheng Hsiu (Academia Sinica), Ming-Syan Chen (National Taiwan University)