Summary
Skills
Overview
Work History
Education
Timeline
Generic

Giacomo Di Maggio

VERONA

Summary

I worked as Software Engineer by readily implementing algorithms related to my filed expertise, without neglecting the study of their theory.

By skillfully balancing thorough and in-depth research with pragmatism, I am able to quickly complete complex tasks while maintaining an remarkable level of quality.

My mission is to make Robot Smarter, and my passions lie in my field of expertise: Computer Vision, Robotics and Deep Learning.

In the past years I've built my skills horizontally instead of vertically for being prepare to work on a vast area that required many different competences.

Skills

Programming Languages and Libraries: Python, C, C, C#, Matlab/Simulink, OpenCV, PyTorch

Knowledge: Computer Vision, Deep Reinforcement Learning, Deep (Supervised) Learning, Robotics

Operating Systems: Linux (Ubuntu), Windows

IDE, Framework and Platform: PyCharm, CLion, Visual Studio Code, Git, Bash, Unity

Hardware: FPGA, High-Level Synthesis (Vitis HLS), VitisAI

Soft Skills: Problem Solving, Teamwork, excellent level of
autonomy

Overview

2
2
years of professional experience

Work History

SOFTWARE ENGINEER

MAKARENALABS S.R.L.
01.2022 - 12.2022
  • Skills honed: C++, High-Level Synthesis (Vitis HLS), algorithms development on FPGA, teamwork, GitLab.
  • Worked in a team on every phase of motor control algorithm development (from the study to the implementation), such as FOC and Field-Weakening for PMSM motor on FPGA.
  • Utilized VitisHLS tool (AMD, former Xilinx) to implement these algorithms on FPGA in C++ with the appropriate notion of programming paradigms to optimize the use of the resources and correctly employ the computational power of the Programmable Logic (PL).

INTERNSHIPS

MAKARENALABS S.R.L.
05.2021 - 06.2021
  • Skill acquired: FPGA and PL basics, Deep Learning (Supervised Learning), Phyton (PyTorch, TensorFlow, Keras)
  • The work was centred on using FPGA (AMD former Xilinx) to implement and run Deep Learning algorithms (Supervised Learning), with an in-depth focus on both the theoretical and practical aspects.
  • After studying the basic knowledge of Supervised Learning and the general structure of the FPGA, I moved on to training simple models (MNIST, ResNet-18) written in Python (PyTorch, TensorFlow and Keras), and finally, ran the inference on the dedicated part of the Programmable Logic (PL) called the Deep Learning Processor Unit (DPU).
    The Deep Neural Networks was prepared to run on FPGA using the VistisAI toolchains, and the board was used through the Pynq framework, which makes the PL accessible through a Jupyter Notebook.

Education

MASTER'S DEGREE - Computer Vision, Deep Learning, Reinforcement Learning, Robotics, Dynamic systems

University of Verona
03.2024

Timeline

SOFTWARE ENGINEER

MAKARENALABS S.R.L.
01.2022 - 12.2022

INTERNSHIPS

MAKARENALABS S.R.L.
05.2021 - 06.2021

MASTER'S DEGREE - Computer Vision, Deep Learning, Reinforcement Learning, Robotics, Dynamic systems

University of Verona
Giacomo Di Maggio