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.

Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.Notes
GURLS: https://github.com/LCSL/GURLS.
ThunderSVM: https://github.com/Xtra-Computing/thundersvm.
Intel FPGA Acceleration Cards: https://www.intel.com/content/www/us/en/programmable/solutions/acceleration-hub/platforms.
Zynq-7000 SoC data sheet: https://www.xilinx.com/support/documentation/data_sheets/
Amazon EC2 F1 instances: https://aws.amazon.com/ec2/instance-types/f1/.
References
Afifi S, GholamHosseini H, Sinha R (2020) FPGA implementations of SVM classifiers: a review. SN Comput Sci 1:1–17
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)
Afifi S, GholamHosseini H, Sinha R (2015) Hardware acceleration of SVM-based classifier for melanoma images. Image And Video Technology. pp 235-245
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
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
Afifi S, Gholamhosseini H, Sinha R, Lindén M (2019) A novel medical device for early detection of Melanoma. PHealth. pp 122-127
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
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
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
Anguita D, Pischiutta S, Ridella S, Sterpi D (2006) Feed-forward support vector machine without multipliers. IEEE Trans Neural Netw 17:1328–1331
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
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
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
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
Chandra M, Bedi S (2018) Survey on SVM and their application in image classification. International Journal Of Information Technology. pp 1-11
Chang C, Lin C (2011) LIBSVM: A library for support vector machines. ACM Trans Intell Syst Technol (TIST) 2:27
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
Collobert R, Bengio S (2001) SVMTorch: Support vector machines for large-scale regression problems. J Mach Learn Res 1:143–160
Cortes C, Vapnik V (1995) Support-vector networks. Mach Learn 20:273–297
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
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
Ganapathiraju A (2019) Support vector machines for speech recognition. (Mississippi State University)
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
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
Hsu C, Chang C, Lin C & Others (2003) A practical guide to support vector classification. (Taipei)
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
Hussain H, Benkrid K, Seker H (2013) The role of FPGAs as high performance computing solution to bioinformatics and computational biology data. AIHLS2013. 102
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
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
Joachims T (1999) Svmlight: Support vector machine. SVM-Light Support Vector Machine http://svmlight.Joachims.Org/, University Of Dortmund. 19
Kardaris C (2020) Acceleration of SVM machine learning algorithms on reconfigurable FPGA logic platforms. (National Technical University of Athens)
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
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
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
Mahmoodi D, Soleimani A, Khosravi H, Taghizadeh M (2011) FPGA simulation of linear and nonlinear support vector machine. J Softw Eng Appl 4:320
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
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
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
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
Ruiz-Rosero J, Ramirez-Gonzalez G, Khanna R (2019) Field programmable gate array applications-a scientometric review. Computation 7:63
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
Shaik M (2018) Improved normalization approach for iris image classification using svm. Advances In Electronics, Communication And Computing, pp 139–145
Suckling J (2012,11) The mini-MIAS database of mammograms. http://peipa.essex.ac.uk/info/mias.html
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
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
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
Véstias M (2015) High-performance reconfigurable computing granularity. Encyclopedia Of Information Science And Technology, Third Edition. pp 3558-3567
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
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
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
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
Xilinx Vivado Design Suite User Guide—Synthesis. (2019), www.xilinx.com
Younes H, Ibrahim A, Rizk M, Valle M (2021) Algorithmic-Level Approximate Tensorial SVM Using High-Level Synthesis on FPGA. Electronics 10:205
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-022-04406-6