Edge computing is a decentralized computing infrastructure that brings computing power closer to the data source, reducing latency and improving efficiency. Traditionally, computing tasks were performed in centralized cloud servers, leading to delays in data processing and increased energy consumption. With edge computing, data processing is moved closer to the devices at the edge of the network, allowing for faster response times and reduced energy usage. However, as DNNs grow in complexity, their associated energy consumption becomes a challenging problem. Such challenge heightens for edge computing, where the computing devices are resource-constrained while operating on a limited energy budget. Therefore, specialized optimizations for deep learning have to be performed at both software and hardware levels.