fida: a frameworkto automatically integrate fpga ... · fida: a frameworkto automatically integrate...
TRANSCRIPT
![Page 1: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/1.jpg)
FIDA: a framework to automaticallyintegrate FPGA kernels within
Data-Science applications
Luca StornaiuoloDipartimento di Elettronica Informazione e Bioingegneria (DEIB)
Alberto Parravicini, Donatella Sciuto and Marco Santambrogio
05/21/2018
![Page 2: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/2.jpg)
2
Context Definition
Huge amount of data that need to be processedto get aggregated information
Machine Learning(e.g. Neural Network)
Data Mining(e.g. K-means)
Image Analysis(e.g. Vessel segmentation)
Signal Processing(e.g. Autocorrelation)
![Page 3: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/3.jpg)
3
Problem Definition
• Most computational pipelines rely on high-levellanguages like Python, R and MATLAB.
• These pipelines can be accelerated with OpenCL andFPGAs.
• Integrating OpenCL kernels with high-level languages is slow and error-prone.
FPGA
![Page 4: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/4.jpg)
4
Proposed Solution
• Integrating OpenCL kernels with high-level languages is slow and error-prone.
• FIDA automatize this process!From a simple description of the kernel, wecreate interfaces for Python, R and MATLAB.
FPGA
![Page 5: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/5.jpg)
5
From this…
![Page 6: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/6.jpg)
6
…to this!
![Page 7: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/7.jpg)
7
Architecture
Input FIFO
Output FIFO
Boost
Rcpp
MEX
UnifiedFIFO Interface
OpenCLHost File
FPGAKernel
PCIe
NamedPipes
![Page 8: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/8.jpg)
8
Experimental Results
• We tested our architecture on different computational kernels.
• We profiled executions to find where bottlenecks are.
• We analyzed introduced execution time overheads.
![Page 9: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/9.jpg)
9
Experimental Results
• Execution profile:
![Page 10: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/10.jpg)
10
Experimental Results
• Execution profile:
• Most of the time is spent in interprocess communication:shared memory could drastically improve performance!
![Page 11: FIDA: a frameworkto automatically integrate FPGA ... · FIDA: a frameworkto automatically integrate FPGA kernelswithin Data-Science applications Luca Stornaiuolo Dipartimento di Elettronica](https://reader034.vdocuments.site/reader034/viewer/2022042620/5f3aa488865cc85b72567e28/html5/thumbnails/11.jpg)
FIDA: a framework to automatically integrate FPGA kernels within Data-Science applications
Luca StornaiuoloDipartimento di Elettronica Informazione e Bioingegneria (DEIB)
Alberto Parravicini, Donatella Sciuto and Marco Santambrogio
05/21/2018
https://necst.it/https://www.slideshare.net/necstlabhttps://www.facebook.com/groups/ReconfigurableArchitecturesWorkshop/