Font Size: a A A

The Design And Implementation Of The GPU Co-processing Module For LibreOffice Spreedsheet Component

Posted on:2015-12-12Degree:MasterType:Thesis
Country:ChinaCandidate:T Y QueFull Text:PDF
GTID:2298330452961276Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the development of the software industry, the office software hasattracted more and more attention. The spreadsheet computation component haspowerful calculation function, and has been applied in all walks of life. But now,the office software can only run on the CPU, the main arithmetic methods for CPUto calculate spreadsheet is serial arithmetic methods. It is good enough to somesmall calculation, but it can’t meet the requirement of the high speed parallelarithmetic with the great many data. It needs a lot of time for CPU to do calculate inthe field of scientific statistic and sales fields, especially in the database calculationin all the fields. Heterogeneous computing, as the popular vocabulary in thesemiconductor industry, has attracted more and more attention recently. As the userhave the high requirements of the spreadsheet component computing system, thehigh attention is paid to calculation process. The requirements can’t meet by onlyusing CPU device. So the project group proposes the project of the co-processing ofthe GPU device.The structural difference between GPU and CPU and their advantages anddisadvantages is analyzed by the paper. The GPU Equipment co-processing modulehas been designed on the spreadsheet component Calc of office software Libreoffice,it will make the calculation origina lly running less effic iently on the CPU device towork on the GPU device. The user can selects to use the CPU or GPU device dataprocessing. Based on the peculiarity of the real time dynamic compiling of OpenCL,dynamic kernel structure has been designed and come true. The composite functioncan be analyzed and converted on the CPU end, and a composite function of thekernel is formed dynamically. it can also work from CPU to GPU equipment at onetime. The performance and operation efficiency has been greatly improved. At thesame time, the various types of the commonly used functions optimization areperformed. The optimization is achieved according to the GPU hardware equipmentand the characteristics of function arithmetic. The test and the improvement is donecontinuously, the ideal operation effect is achieved finally.In this paper, the C++language design is used and GPU device co-processingmodule is performed. There are two parts in design, one part is the dynamic kerneldesign technology, the other part is the function optimization. In the dynamic kerneldesign, the OpenCL interface design makes CPU to give order to GPU device.Function Group judge design can get many groups of data with the same formula,and GPU device can do parallel computing. The formula transform can turns the formula of the character string into RPN expression for subsequent analys is. Thefunction mapping is to make operator in formula corresponding to function code inthe module, so kernel character string can be jointed according to sequence. In thecalculation the result can be get directly from CPU serial computation. If GPUassist process module is used, first the kernel character string have to bedynamically spliced, after OpenCL compiling it is sent to GPU device to calculateand then return the result. To compare with CP U calculation, GPU co-processingfits high parallel computing more. The common used optimization methods isintroduced first, the arithmetic optimization is the high efficiency method. Thefunction is classified by the use modes, it is optimized according to GPU hardwareparallel computing character and function algorithm character. The financialfunction and mathematical function is introduced specially and the example is given.According to the testing, all the function optimized ha s achieved satisfactoryeffects.
Keywords/Search Tags:concurrent computation, GPU co-processing, dynamic kernel, functionoptimization
PDF Full Text Request
Related items