Font Size: a A A

Accelerating Typical SVM Algorithms Through CUDA Platform

Posted on:2011-05-20Degree:MasterType:Thesis
Country:ChinaCandidate:X XuFull Text:PDF
GTID:2178360308463470Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the development of graphics cards, GPU become more powerful.NVIDIA Corporation introduced CUDA (Compute Unified Device Architecture) in 2007. So graphics card can be used for General-Purpose computation other than image process now. CUDA is a new foundation architecture which uses GPU to address the complex computational problems in commercial, industrial and scientific fields.CUDA has several features and advantages:low price, high parallelism, high-density computation and long graphics pipeline.SVM (Support Vector Machine) is a machine learning method based on statistical learning theory and has a relatively good performance. Though SVM can automatically train the samples to obtain classifier, the training time is usually long and some algorithms need a great amount of memory. As the PC (Personal Computer) has low computing power and limit memory, SVM algorithm can not handle large-scale data on PC.In this paper, the mainstream SVM training algorithms are analyzed in depth. For each type of SVM, we regard it as an abstract mathematical model.After thorough research and analysis, all types of SVM are divided into three categories according their mathematical models. The three problems are:large-scale convex quadratic programming, large-scale linear programming and large-scale linear equation. In order to solve these three problems, we find out the most time-consuming parts of each algorithm.The main three time-consuming parts:matrix inversion, matrix-vector multiplication and reduction are migrated to CUDA platform. During the platform migration, a new Jacobi iteration, conjugate gradient algorithm and linear programming is proposed to solve the problem that SVM training process needs huge memory.We give a successful solution to the problem that SVM training process is slow and needs huge memory. So SVM can process large-scale data on PC.Experimental results show that the training time is reduced by 5-80 times.Meanwhile, the migration skills in this paper also have a reference value for migration of other numerical calculation programs.
Keywords/Search Tags:CUDA, support vector machines, GPGPU, linear equations, linear programming
PDF Full Text Request
Related items