PROJECT PRESENTATION
DEIB Seminar Room - 05/06/2019
Giorgio Colomban giorgio.colomban@mail.polimi.it
Luca Carminati luca5.carminati@mail.polimi.it
Aaron Cettolin aaron.cettolin@mail.polimi.it
WHO ARE WE & WHAT DO WE DO?
Hello, we are the P.IZ.Z.A Team and we accelerate Umap
UMAP
Speeding up an already fast
algorithm
WORK CONTEXT?
Algorithm created and
available on github
Python algorithm
optimized by compilation
Numba
KPI
SPEED
POWER
CONSUMPTION
PROJECT IDEA?
Accelerate central core of NN_Descent + python layer
+
CURRENT STATE
FPGA IMPLEMENTATION
Fully working implementation of nn_descent that
runs on FPGA
Custom and optimized data types
Optimized conditional jumps: the program process
flow has been made more static by performing the same
kind of operations in if - else conditional statements
CURRENT STATE
PYTHON LAYER
Working automated build process, that runs the original python
implementation with a random input of the algorithm to get base
results, and that generates C code with the same random input data
as before, that can then go through Vivado to become runnable on
FPGA
THANKS FOR THE ATTENTION
QUESTIONS?
Contact us
Luca Carminati luca5.carminati@mail.polimi.it
Giorgio Colomban giorgio.colomban@mail.polimi.it
Aaron Cettolin aaron.cettolin@mail.polimi.it
pizzateampolimi@gmail.com @PIZZATEAM2PIZZA TEAM

P.I.Z.Z.A.: Status Update

  • 1.
    PROJECT PRESENTATION DEIB SeminarRoom - 05/06/2019 Giorgio Colomban giorgio.colomban@mail.polimi.it Luca Carminati luca5.carminati@mail.polimi.it Aaron Cettolin aaron.cettolin@mail.polimi.it
  • 2.
    WHO ARE WE& WHAT DO WE DO? Hello, we are the P.IZ.Z.A Team and we accelerate Umap UMAP Speeding up an already fast algorithm
  • 3.
    WORK CONTEXT? Algorithm createdand available on github Python algorithm optimized by compilation Numba
  • 4.
  • 5.
    PROJECT IDEA? Accelerate centralcore of NN_Descent + python layer +
  • 6.
    CURRENT STATE FPGA IMPLEMENTATION Fullyworking implementation of nn_descent that runs on FPGA Custom and optimized data types Optimized conditional jumps: the program process flow has been made more static by performing the same kind of operations in if - else conditional statements
  • 7.
    CURRENT STATE PYTHON LAYER Workingautomated build process, that runs the original python implementation with a random input of the algorithm to get base results, and that generates C code with the same random input data as before, that can then go through Vivado to become runnable on FPGA
  • 8.
    THANKS FOR THEATTENTION QUESTIONS? Contact us Luca Carminati luca5.carminati@mail.polimi.it Giorgio Colomban giorgio.colomban@mail.polimi.it Aaron Cettolin aaron.cettolin@mail.polimi.it pizzateampolimi@gmail.com @PIZZATEAM2PIZZA TEAM