Foto del docente

Luca Benini

Full Professor

Department of Electrical, Electronic, and Information Engineering "Guglielmo Marconi"

Academic discipline: ING-INF/01 Electronic Engineering

Teaching

Dissertation topics suggested by the teacher.

Machine Learning on IoT devices: Models, Systems and Applications

Contacts: manuele.rusci@unibo.it, alessandro.capotondi@unibo.it, f.conti@unibo.it, luca.benini@unibo.it

    • Deep Learning on Embedded Sensory Systems (LT)
      Development of audio/video systems featuring Deep Learning models for information extraction. By exploiting state-of-the-art tools and devices, the goal is to build a smart sensory system and measure the energy-efficiency.
      Required knowledge and skills:
      • Digital Systems & MCUs | ***
      • Signal-Processing | *
    • Efficient DL computation on advanced MCU devices (LT, LM)
      Writing optimized code and tools for mapping DL models on embedded targets. The goal is to exploit novel IoT devices and architectures to accelerate ML. This task includes writing optimized C code but also developing tools (python, C) for efficient mapping of ML models into the devices.
      Required knowledge and skills
      • Digital Systems & MCUs | ***
      • C/C++ Programming | **
      • Python Programming | *
    • Applications and Tools for Smart Camera Systems (LT, LM)
      Development of tools and applications for embedded smart camera devices. This includes using common OpenCV methods on sensor data for application case-study but also implementing the computer vision algorithm in-the-devices.
      Required knowledge and skills:
      • Digital Systems & MCUs | ***
      • Computer Vision | *
    • Machine Learning models for Embedded Devices (LM)
      Study and implementation of Machine Learning models for information extraction on resource-constrained devices. This includes theoretical study of models and training algorithms, using high-performance GPU machines for the training tasks with Python and learning how to interpret sensors data. Eventually, models can be implemented on the target devices for real-world testing.
      Required knowledge and skills:http://
      • Python Programming for Data Science | ***andrea.marongiu@unibo.it
      • Machine-Learning & IA | **

    Machine Learning on IoT devices: Software Tools

    Contacts: giuseppe.tagliavini@unibo.it, andrea.marongiu@unibo.it, luca.benini@unibo.it

    • Standard software library for Deep Neural Networks (LM)
      Development of a software library to facilitate and standardize the implementation of Deep Neural Networks on embedded devices. The goal is to adapt and extend the Neural Network Extension for OpenVX to exploit advanced IoT devices. Current market forecasts report that the deep learning market was worth $2.3B in 2017 and is expected to reach $18B by 2023, whereas the global IoT market will grow from $157B in 2016 to $457B by 2020. In this scenario a deep knowledge of these topics will be a key enabler to succeed at a career in industry.
      This thesis includes writing optimized C/C++ code and performing measurements on development boards.
      Required knowledge and skills:
      • C/C++ Programming | ***
      • Machine-Learning & IA | *
      • Computer Vision | *
      • Digital Systems Architecture | *

    Digital Design on FPGAs for Embedded and Industrial Applications

    Contacts: manuele.rusci@unibo.it, alessandro.capotondi@unibo.it, f.conti@unibo.it, luca.benini@unibo.it

    • Digital Design on FPGA SoC with HLS tools (LT, LM)
      Development of digital circuits using high-level synthesis tools. Study and implementation of digital systems for HW acceleration of current solutions (railway or automotive devices). In collaboration with industrial partners (Magneti Marelli, RFI).
      Required knowledge and skills
      • Digital Systems & FPGA architecture | ***
      • C/C++ Programming | **
      • HDL (Verilog/VHDL) | *
    • Low-power FPGAs for embedded systems (LM)
      Using low-power FPGAs to connect sensors and actuators to IoT systems. This includes the implementation of the communication link between the host and the devices, the design of the control path and data path but also of filtering stages.
      Required knowledge and skills
      • Digital Systems & FPGA architecture | ****
      • HDL (Verilog/VHDL) | **
      • Signal-Processing | **

    Multi and many-core embedded platforms: Software Models & Tools

    Contacts: giuseppe.tagliavini@unibo.it, andrea.marongiu@unibo.it, luca.benini@unibo.it

    • Runtime library to enable task parallelism (LT, LM)
      Development of a runtime library which enables the tasking programming model on parallel embedded platforms. The goal is to introduce advanced techniques to reduce the overhead of task parallelism on resource-constrained embedded platforms beyond the current state-of-the-art.
      The ever-growing computational capabilities required by modern applications (such as UAVs and IoT devices) have paved the way for the introduction of parallel embedded systems. In perspective the adoption of programming models which are able to fully exploit the available parallelism is paramount to improve the efficiency of current and future applications.
      This thesis includes writing optimized C code and performing tests on virtual platforms/development boards.
      Required knowledge and skills
      • C Programming | **
      • Parallel Programming | *
    • Compiler support for custom hardware extensions (LM)
      Development of a GCC-based compilation toolchain to support custom hardware extensions.
      The goal is to extend the GCC compiler (at back-end and middle-end level) to exploit the benefits of custom hardware extensions of the PULP open-source platformhttp://. The adoption of open-source hardware substantially lowers costs in comparison to proprietary technologies and this approach has led to the emergence of new business models in recent years. However the lack of compiler-level support is often a limiting factor in the adoption of such solutions, especially when custom extensions are necessary.This project is an opportunity to dive into the internals of a compilation toolchain and gain the skills to enable emergent computing systems.
      This thesis includes writing optimized C/C++ code; it also requires a preliminary learning period in case of limited knowledge of compilers theory.
      Required knowledge and skills
      • C Programming | ***
      • Compilers Theory & Practice | *
      • Digital Systems Architecture | *

    Note. LT stands for “Laurea Triennale” Thesis. In average takes around 2-3 months; LM stands for “Laurea Magistrale” Thesis. In average takes around 5-6 months.