# MLoF: Machine Learning Accelerators for the Low-Cost FPGA Platforms
## 5 Experimental Analysis and Result
### Comparisons with Embedded Platforms  
To provide a more accurate assessment of our implementation, we also compare MLoF with three representative embedded platforms, namely Nvidia Jetson Nano, Raspberry Pi3 B+, and STM32L476 Nucleo. The specification of each platform is listed in Table 15. Jetson Nano is powered by a Cortex-A57 core running at 1.43 GHz and a 128-core Nvidia Maxwell-based GPU [40], while Raspberry features a Cortex-A53 core running at 1.2 GHz. STM32L476 Nucleo is a typical IoT development platform with a Cortex-M4 core running at 80 MHz [41]. Compared with Table 4, the prices of these three representative embedded development platforms are similar to the FPGAs, which indicates that all of them are comparable in terms of other indexes. Given the proper cost of FPGAs, they can be considered as competitive substitutes for past typical platforms. Based on the simulation results of previous desktop PCs, the Receiver Operating Characteristic (ROC) curve and Precision-Recall (PR) curve shown in Figure 10, we select the models with the highest score in each of the six task scenarios for deployment of the embedded platform [42]. The corresponding deployment models and architectures for each task are listed in Table 16. PyCuda is used for GPU parallel acceleration with fixed weight parameters on Jetson Nano. Moreover, we use the same Python code to implement it on the Raspberry Pi, as well. \begin{table}
\begin{tabular}{c c c} \hline \hline  & **Dataset** & **Score** \\ \hline \multirow{3}{*}{Binary classification} & \multicolumn{1}{c}{Gutter Oil} & 96.02\% \\  & Smart Grid & 98.35\% \\ \multirow{3}{*}{Multiclass classification} & \multicolumn{1}{c}{Gutter Oil} & 96.33\% \\  & \multicolumn{1}{c}{Wine Quality} & 72.68\% \\ \multirow{3}{*}{Regression} & Rain & 0.7932 (R2) \\  & \multicolumn{1}{c}{Power Consumption} & 0.9979 (R2) \\ \hline \hline \end{tabular}
\end{table} 
Table 13: The highest-scoring of SVM obtained in different datasets. \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \multicolumn{2}{c}{**Dataset**} & **Device** & **Score** & **LUTs** & **DSPs** & **Latency** & **Power** & **PLP** & **CPLP** \\ \hline Binary classification & Gutter Oil & ICE40 UPS & 96.02\% & 765 & 8 & 15.56 & 151 & 2349.41 & 89,277.54 \\ Multiclass & Smart Grid & ICE40 UPS & 98.35\% & 955 & 8 & 15.90 & 154.98 & 2464.17 & 93,638.31 \\ Multiclass & Gutter Oil & ICE40 UPS & 96.33\% & 765 & 8 & 14.90 & 152.99 & 2279.20 & 86,609.61 \\ classification & Wine Quality & ICE40 UPS & 72.68\% & 976 & 8 & 15.56 & 155.14 & 2413.89 & 91,727.65 \\ \multirow{2}{*}{Regression} & Rain & ICE40 UPS & 0.7932 (R2) & 527 & 8 & 13.51 & 147.76 & 1996.77 & 75,877.43 \\  & Power & ICE40 UPS & 0.9979 (R2) & 516 & 8 & 13.47 & 148 & 1994.00 & 75,772.15 \\ \multirow{2}{*}{Classification} & \multicolumn{1}{c}{Consumption} & & & & & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 14: SVM deployment results on the best CPLP-performing FPGAs. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Platform** & **Processor** & **Clock** & **Price** \\ \hline Nvidia Jetson Nano & Cortex-A57 & 1.43 GHz & \$89.00 \\ Raspberry Pi3 B+ & Cortex-A53 & 1.2 GHz & \$54.99 \\ STM32L476 Nucleo & Cortex-M4 & 80 MHz & \$31.99 \\ \hline \hline \end{tabular}
\end{table} 
Table 15: The specification of three representative embedded development platforms. Table 17 compares the performance of our FPGA and three embedded platform implementations. Jetson Nano takes the lead in terms of computing performance. On the other hand, Nucleo consumes the lowest power. While the power consumption of FPGA decreased by an average of 891%, and its performance improved by an average of 9 times compared to typical IoT endpoint platforms. Moreover, FPGAs outperform all other platforms in terms of Energy Efficiency (PLP) and Cost Efficiency (CPLP).