Skip to main content
Log in

FPGA acceleration analysis of LibSVM predictors based on high-level synthesis

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Real-time artificial intelligence is the next frontier in data analysis and processing. Support vector machines (SVM) are well-known machine learning algorithms employed in many fields thanks to their high performance and reasonable memory cost. Although several libraries implement this algorithm, LibSVM stands out for its robust support, precision and flexibility. The main drawback is the amount of computational resources associated with nonlinear classification tasks. The development of hardware coprocessors to accelerate the most critical functions of this library is a must. The use of accelerated SVMs through field-programmable gate array (FPGA) coprocessors is challenging due to the computational complexity required. High-level synthesis (HLS) tools allow to generate fast solutions with reasonable accelerations. This work presents an analysis that provides to LibSVM users an a priori knowledge about the limits of their accelerated SVM predictors based on their training parameters, their required speedup and their available resources. The analysis also covers different data type representations (floating point and 16, 32 and 64 fixed point) and also can be used to estimate the better solution for LibSVM-based applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

Notes

  1. Weka: https://www.cs.waikato.ac.nz/ml/weka/.

  2. MATLAB: https://www.mathworks.com/products/matlab.html.

  3. GURLS: https://github.com/LCSL/GURLS.

  4. ThunderSVM: https://github.com/Xtra-Computing/thundersvm.

  5. Intel FPGA Acceleration Cards: https://www.intel.com/content/www/us/en/programmable/solutions/acceleration-hub/platforms.

  6. Alveo: https://www.xilinx.com/products/boards-and-kits/alveo.html.

  7. Zynq-7000 SoC data sheet: https://www.xilinx.com/support/documentation/data_sheets/

  8. Amazon EC2 F1 instances: https://aws.amazon.com/ec2/instance-types/f1/.

  9. Azure: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-deploy-fpga-web-service.

  10. LibSVM: https://www.csie.ntu.edu.tw/cjlin/libsvm/.

References

  1. Afifi S, GholamHosseini H, Sinha R (2020) FPGA implementations of SVM classifiers: a review. SN Comput Sci 1:1–17

    Article  Google Scholar 

  2. Afifi S, GholamHosseini H, Poopak S (2015) Hardware implementations of SVM on FPGA: A state-of-the-art review of current practice. (International Journal of Innovative Science Engineering)

  3. Afifi S, GholamHosseini H, Sinha R (2015) Hardware acceleration of SVM-based classifier for melanoma images. Image And Video Technology. pp 235-245

  4. Afifi S, GholamHosseini H, Sinha R (2016) A low-cost FPGA-based SVM classifier for melanoma detection. 2016 IEEE EMBS Conference On Biomedical Engineering And Sciences (IECBES). pp 631-636

  5. Afifi S, GholamHosseini H, Sinha R (2017) SVM classifier on chip for melanoma detection. 2017 39th Annual International Conference Of The IEEE Engineering In Medicine And Biology Society (EMBC). pp 270-274

  6. Afifi S, Gholamhosseini H, Sinha R, Lindén M (2019) A novel medical device for early detection of Melanoma. PHealth. pp 122-127

  7. Aghayan I, Hosseinlou M, Kunt M (2015) Application of support vector machine for crash injury severity prediction: A model comparison approach. J Civil Eng Urban 5:193–199

    Google Scholar 

  8. Ago Y, Nakano K, Ito Y (2013) A classification processor for a support vector machine with embedded DSP slices and block RAMs in the FPGA. 2013 IEEE 7th International Symposium On Embedded Multicore Socs. pp 91-96

  9. Andraka R (1998) A survey of CORDIC algorithms for FPGA based computers. Proceedings Of The 1998 ACM/SIGDA Sixth International Symposium On Field Programmable Gate Arrays. pp 191-200

  10. Anguita D, Pischiutta S, Ridella S, Sterpi D (2006) Feed-forward support vector machine without multipliers. IEEE Trans Neural Netw 17:1328–1331

    Article  Google Scholar 

  11. Ardianto S, Chen C, Hang H (2017) Real-time traffic sign recognition using color segmentation and SVM. 2017 International Conference On Systems, Signals And Image Processing (IWSSIP). pp 1-5

  12. Athanasopoulos A, Dimou A, Mezaris V, Kompatsiaris I (2011) GPU acceleration for support vector machines. Procs. 12th Inter. Workshop On Image Analysis For Multimedia Interactive Services (WIAMIS 2011), Delft, Netherlands. pp 17-55

  13. Batista G, Oliveira D, Saotome O, Silva W (2020) A low-power asynchronous hardware implementation of a novel SVM classifier, with an application in a speech recognition system. Microelectron J 105:104907

    Article  Google Scholar 

  14. Bui T, Vu T, Hong K (2016) Extraction of sparse features of color images in recognizing objects. Int J Control, Autom Syst 14:616–627

    Article  Google Scholar 

  15. Chandra M, Bedi S (2018) Survey on SVM and their application in image classification. International Journal Of Information Technology. pp 1-11

  16. Chang C, Lin C (2011) LIBSVM: A library for support vector machines. ACM Trans Intell Syst Technol (TIST) 2:27

    Google Scholar 

  17. Chavhan Y, Yelure B, Tayade K (2015) Speech emotion recognition using RBF kernel of LIBSVM. 2015 2nd International Conference On Electronics And Communication Systems (ICECS). pp 1132-1135

  18. Collobert R, Bengio S (2001) SVMTorch: Support vector machines for large-scale regression problems. J Mach Learn Res 1:143–160

    MathSciNet  MATH  Google Scholar 

  19. Cortes C, Vapnik V (1995) Support-vector networks. Mach Learn 20:273–297

    MATH  Google Scholar 

  20. Eklund A, Dufort P, Forsberg D, LaConte S (2013) Medical image processing on the GPU-Past, present and future. Med Image Anal 17:1073–1094

    Article  Google Scholar 

  21. Fowers J, Brown G, Cooke P, Stitt G (2012) A performance and energy comparison of FPGAs, GPUs, and multicores for sliding-window applications. Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays. pp 47–56

  22. Ganapathiraju A (2019) Support vector machines for speech recognition. (Mississippi State University)

  23. Ganesh K, Swarnalatha R (2020) Improved brain tumor segmentation and diagnosis using an SVM-based classifier. 2020 International Conference On Medical Imaging And Computer-Aided Diagnosis. pp 35-45

  24. Haridas N, Sowmya V, Soman K (2015) Gurls vs libsvm: Performance comparison of kernel methods for hyperspectral image classification. Indian J Sci Technol 8:1

    Article  Google Scholar 

  25. Hsu C, Chang C, Lin C & Others (2003) A practical guide to support vector classification. (Taipei)

  26. Hussain H, Benkrid K, Seker H (2013) Reconfiguration-based implementation of SVM classifier on FPGA for classifying microarray data. 2013 35th Annual International Conference Of The IEEE Engineering In Medicine And Biology Society (EMBC). pp 3058-3061

  27. Hussain H, Benkrid K, Seker H (2013) The role of FPGAs as high performance computing solution to bioinformatics and computational biology data. AIHLS2013. 102

  28. Hussain A, Khunteta A (2020) Semantic segmentation of brain tumor from MRI images and SVM classification using GLCM features. 2020 Second International Conference On Inventive Research In Computing Applications (ICIRCA). pp 38-43

  29. Jadhav A, Ghontale A, Shrivastava V (2019) Segmentation and border detection of melanoma lesions using convolutional neural network and SVM. Comput Intell: Theor, Appl Future Direct I:97–108

    Google Scholar 

  30. Joachims T (1999) Svmlight: Support vector machine. SVM-Light Support Vector Machine http://svmlight.Joachims.Org/, University Of Dortmund. 19

  31. Kardaris C (2020) Acceleration of SVM machine learning algorithms on reconfigurable FPGA logic platforms. (National Technical University of Athens)

  32. Koliogeorgi K, Zervakis G, Anagnostos D, Zompakis N, Siozios K (2019) Optimizing SVM Classifier through approximate and high level synthesis techniques. 2019 8th International Conference On Modern Circuits And Systems Technologies (MOCAST). pp 1-4

  33. Kyrkou C, Bouganis C, Theocharides T, Polycarpou M (2015) Embedded hardware-efficient real-time classification with cascade support vector machines. IEEE Trans Neural Netw Learn Syst 27:99–112

    Article  MathSciNet  Google Scholar 

  34. Kyrkou C, Theocharides T, Bouganis C (2013) An embedded hardware-efficient architecture for real-time cascade support vector machine classification. 2013 International Conference on Embedded Computer Systems: Architectures, Modeling, And Simulation (SAMOS). pp 129-136

  35. Mahmoodi D, Soleimani A, Khosravi H, Taghizadeh M (2011) FPGA simulation of linear and nonlinear support vector machine. J Softw Eng Appl 4:320

    Article  Google Scholar 

  36. Nagarajan K, Holland B, George A, Slatton K, Lam H (2011) Accelerating machine-learning algorithms on FPGAs using pattern-based decomposition. J Signal Process Syst 62:43–63

    Article  Google Scholar 

  37. Patil R, Gupta G, Sahula V, Mandal A (2012) Power aware hardware prototyping of multiclass SVM classifier through reconfiguration. 2012 25th International Conference on VLSI Design. pp 62-67

  38. Qiang Y, Li Y (2013) Research of Image Segmentation on Pulmonary Nodules in PET-CT Image Based on LIBSVM. Int J Digital Content Technol Appl 7:764

    Google Scholar 

  39. Ruiz-Llata M, Guarnizo G, Yébenes-Calvino M (2010) FPGA implementation of a support vector machine for classification and regression. The 2010 International Joint Conference On Neural Networks (IJCNN). pp 1-5

  40. Ruiz-Rosero J, Ramirez-Gonzalez G, Khanna R (2019) Field programmable gate array applications-a scientometric review. Computation 7:63

    Article  Google Scholar 

  41. Saini R, Saurav S, Gupta D, Sheoran N (2017) Hardware implementation of SVM using system generator. 2017 2nd IEEE International Conference On Recent Trends In Electronics, Information & Communication Technology (RTEICT). pp 2129-2132

  42. Shaik M (2018) Improved normalization approach for iris image classification using svm. Advances In Electronics, Communication And Computing, pp 139–145

  43. Suckling J (2012,11) The mini-MIAS database of mammograms. http://peipa.essex.ac.uk/info/mias.html

  44. Tang S, Li X, Zhang H, Han J, Dai G, Wang C, Shen X (2011) TELOSCAM: Identifying burglar through networked sensor-camera mates with privacy protection. 2011 IEEE 32nd Real-Time Systems Symposium. pp 327-336

  45. Torrents-Barrena J, Puig D, Melendez J, Valls A (2016) Computer-aided diagnosis of breast cancer via Gabor wavelet bank and binary-class SVM in mammographic images. J Exp Theor Artif Intell 28:295–311

    Article  Google Scholar 

  46. Tsoutsouras V, Koliogeorgi K, Xydis S, Soudris D (2017) An exploration framework for efficient high-level synthesis of support vector machines: Case study on ecg arrhythmia detection for xilinx zynq soc. J Signal Process Syst 88:127–147

    Article  Google Scholar 

  47. Véstias M (2015) High-performance reconfigurable computing granularity. Encyclopedia Of Information Science And Technology, Third Edition. pp 3558-3567

  48. Wang Y, Zhu X, Wu B (2019) Automatic detection of individual oil palm trees from UAV images using HOG features and an SVM classifier. Int J Remote Sens 40:7356–7370

    Article  Google Scholar 

  49. Wang H, Choy C (2018) Hardware acceleration of support vector machine based on high level synthesis. 2018 IEEE 9th Annual Information Technology, Electronics And Mobile Communication Conference (IEMCON). pp 956-959

  50. Wen Z, Shi J, Li Q, He B, Chen J (2018) ThunderSVM: A fast SVM library on GPUs and CPUs. J Mach Learn Res 19:797–801

    MathSciNet  Google Scholar 

  51. Wielgosz M, Jamro E, Żurek D, Wiatr K (2012) FPGA implementation of the selected parts of the fast image segmentation. Intelligent Tools for Building A Scientific Information Platform. pp 203-216

  52. Xilinx Vivado Design Suite User Guide—Synthesis. (2019), www.xilinx.com

  53. Younes H, Ibrahim A, Rizk M, Valle M (2021) Algorithmic-Level Approximate Tensorial SVM Using High-Level Synthesis on FPGA. Electronics 10:205

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lucas Leiva.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Leiva, L., Vázquez, M. & Torrents-Barrena, J. FPGA acceleration analysis of LibSVM predictors based on high-level synthesis. J Supercomput 78, 14137–14163 (2022). https://doi.org/10.1007/s11227-022-04406-6

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-022-04406-6

Keywords

Navigation