Novel dynamic partial reconfiguration implementations of the support vector machine classifier on FPGA

Novel dynamic partial reconfiguration implementations of the support vector machine classifier on FPGA

The support vector machine (SVM) is one of the highly powerful classifiers that have been shown to be capable of dealing with high-dimensional data. However, its complexity increases requirements of computational power. Recent technologies including the postgenome data of high-dimensional nature add further complexity to the construction of SVM classifiers. In order to overcome this problem, hardware implementations of the SVM classifier have been proposed to benefit from parallelism to accelerate the SVM. On the other hand, those implementations offer limited flexibility in terms of changing parameters and require the reconfiguration of the whole device. The latter interrupts the operation of other tasks placed on the hardware device. In this work, two flexible hardware implementations of the SVM classifier are proposed, namely A1 and A2 classifiers with successful applications in a microarray dataset. In addition, two dynamically and partially reconfigurable (DPR) architectures of the SVM classifier are presented. The A1 and A2 architectures have achieved up to 61× and 49× speed-up, respectively, over the equivalent general purpose processor. Furthermore, the DPR implementations achieved at least ∼8× reduction in reconfiguration time compared to non-DPR implementation. This is a significant achievement that can be easily adapted in other application domains of a similar nature.

___

  • [1] Stekel D. Microarray Bioinformatics. 1st ed. Cambridge, UK: Cambridge University Press, 2003.
  • [2] Cristianini N, Shawe-Taylor J. An Introduction to Support Vector Machines and Other Kernel-Based Learning Methods. 1st ed. Cambridge, MA, USA: Cambridge University Press, 2000.
  • [3] Mukherjee S. Classifying microarray data using support vector machines. In: Berrar DP, Dubilzky W, Granzow M, editors. A Practical Approach to Microarray Data Analysis. 1st ed. New York, NY, USA: Springer, 2009. pp. 1-19.
  • [4] Cho S, Won H. Machine learning in DNA microarray analysis for cancer classification. In: Proceedings of The First Asia-Pacific Conference on Bioinformatics; 4–7 February 2003; Seoul, Korea. pp. 189-198.
  • [5] Vapnik V. The Nature of Statistical Learning Theory. 2nd ed. New York, NY, USA: Springer-Verlag, 2000.
  • [6] Brown MP, Grundy WN, Lin D, Cristianini N, Sugnet CW, Furey TS, Ares M Jr, Haussler D. Knowledge-based analysis of microarray gene expression data using support vector machines. P Natl Acad Sci USA 2000; 97: 262-267.
  • [7] Anguita D. A digital architecture for support vector machines: theory, algorithm, and FPGA implementation. IEEE T Neural Networ 2003; 12: 993-1009.
  • [8] Anguita D, Carlino L, Ghio A, Ridella S. A FPGA core generator for embedded classification systems. J Circuit Syst Comp 2011; 20: 263-282.
  • [9] Gomes Filho J, Raffo M, Strum M, Jiangg Chau W. A general-purpose dynamically reconfigurable SVM. In: Proceedings of the 6th Southern Programmable Logic Conference; 24-26 March 2010; Ipojuca, Brazil. pp. 107-112.
  • [10] Woo Wee J, Ho Lee C. Concurrent support vector machine processor for disease diagnosis. In: Pal NR, Kasabov N, Mudi RK, Pal S, Parui SK, editors. ICONIP. Berlin, Germany: Springer-Verlag, 2004; pp. 1129-1134.
  • [11] Pina-Ramirez O, Valdes-Cristerna R, Yanez-Suarez O. An FPGA implementation of linear kernel support vector machines. In: Proceedings of the International Conference on Reconfigurable Computing and FPGAs; 27–29 September 2006; San Luis Potosi, Mexico. pp. 1-6.
  • [12] Papadonikolakis M, Bouganis CS. Efficient mapping of Gilbert’s algorithms for SVM training on large-scale classi- fication problems. In: Proceedings of the International Conference on Field Programmable Logic and Application; 8–10 September 2008; Heidelberg, Germany. pp. 385-390.
  • [13] Cadambi S, Durdanovic I, Jakkula V, Sankaradass M, Cosatto E, Chakradhar S, Grad HG. A massively parallel FPGA-based coprocessor for support vector machines. In: Proceedings of the 17th IEEE Symposium on Field Programmable Custom Computing Machines; 5–9 April; Napa, CA, USA. pp. 115-122.
  • [14] Kyrkou C, Theocharides T. SCoPE: Towards a systolic array for SVM object detection. IEEE Embed Syst Lett 2009; 1: 46-49.
  • [15] Papadonikolakis M, Bouganis C. A novel FPGA-based SVM classifier. In: Proceedings of the International Conference on Field-Programmable Technology; 8–10 December 2010; Beijing, China. pp. 283-286.
  • [16] Kim S, Lee S, Min K, Cho K. Design of support vector machine circuit for real-time classification. In: Proceedings of the 13th International Symposium on Integrated Circuits; 12–14 December 2011; Singapore. pp. 384-387.
  • [17] Papadonikolakis M, Bouganis C. Novel cascade FPGA accelerator for support vector machines classification. IEEE T Neural Networ Learn Syst 2012; 23: 1040-1052.
  • [18] Patil RA, Gupta G, Sahula V, Mandal AS. Power aware hardware prototyping of multiclass SVM classifier through reconfiguration. In: Proceedings of the 25th International Conference on VLSI Design; 7–11 January 2012; Hyderabad, India. pp. 62-67.
  • [19] Chang C, Lin C. LIBSVM: A library for support vector machines. ACM T Intell Syst Technol 2011; 2: 1-27.
  • [20] Hussain H, Benkrid K, Seker H. Dynamic partial reconfiguration based implementation of SVM classifier for classifying microarray data. In: The 35th Annual International Conference of IEEE Engineering in Medicine and Biology Society; 3–7 July 2013; Osaka, Japan. pp. 3058-3061.
  • [21] Xilinx Corp. Xilinx Partial Reconfiguration Guide ug702. San Jose, CA, USA: Xilinx Inc., 2010.
  • [22] Hussain H, Benkrid K, Ebrahim A, Erdogan A, Seker H. Novel dynamic partial reconfiguration implementation of K-means clustering on FPGAs: comparative results with GPPs and GPUs. Int J Reconfig Comput 2012; 2012: 135926.