Background

I'm currently studying Electrical and Computer Engineering at University of Thessaly in Volos, Greece, and interning as a Research Intern at TIMA Laboratory, Université Grenoble Alpes.

Focus Areas

Currently I am working at TIMA Laboratory on nnawaq, an open-source tool for deploying neural networks on FPGAs. My work focuses on enabling multi-FPGA inference: splitting networks across boards, developing RTL wrappers and Tcl tooling, and integrating Aurora IP cores for high-speed inter-FPGA communication via SFP+ fiber links. On the research side, I'm exploring optimal partitioning strategies for multi-FPGA clusters.

Skills
Languages
  • C
  • C++
  • Python
  • Verilog
  • MATLAB
Frameworks
  • CUDA
  • OpenMP
  • MPI
  • Xilinx Vivado
  • Xilinx Vitis HLS
  • TensorFlow
  • PyTorch
Tools
  • Bash
  • Make
  • Linux
  • Git & Github
  • VTune Profiler
Experience
Research Intern
Working on nnawaq, an open-source tool for deploying neural networks on FPGAs. On the development side: adding support for split network inference, new Tcl commands, RTL wrappers for instantiating multiple NN instances, and Aurora IP core integration for inter-FPGA communication via SFP+ high-speed serial links over fiber optics. On the research side: investigating optimal neural network partitioning strategies for multi-FPGA clusters, accounting for board count/available resources.
September 2024 - February 2026
ECE219 - Computer Organization and Design, Teaching Assistant
Examination of laboratory assignments on MIPS assembly programming, Verilog Implementation of a MIPS CPU, and performance analysis and optimization of a computationally intensive algorithm on x86 CPUs.
February 2025 - July 2025
ECE220 - Numerical Analysis, Teaching Assistant
Assisted students in teaching lab sessions for a course covering key topics in numerical analysis and the application of numerical methods using MATLAB.
View My Resume
Research Interests
  • Efficient Deep Learning
  • Neural Network Quantization & Pruning
  • FPGA/Hardware Accelerators
  • Reinforcement Learning for Systems Optimization
  • TinyML and Edge AI
Other Projects

Parallel K-Means clustering using OpenMP, 2D seperable convolution using CUDA, image histogram equalization using OpenMP/CUDA, N-Body simulation using OpenMP/CUDA.

C CUDA OpenMP

An optimized implementation of the Smith-Waterman algorithm for local sequence alignment on an FPGA.

Xilinx Vivado Xilinx Vitis HLS C/C++ OpenCL

Implemented a complete circuit simulation program like SPICE in C++. Implemented parsing, equation formulation, and solution techniques (direct and iterative) for linear circuits. Utilized sparse matrix techniques and external libraries (Eigen) for efficient computation.

C++ FLEX Bison CMAKE Eigen

Designed, simulated, and implemented a Floating Point Unit on a Zedboard FPGA.

Verilog Xilinx Vivado