ABSTRACT
Graphics Processing Unit (GPU) have been around for a while. Although they are primarily used for high-end 3D graphics processing, their use is now acknowledged for general massive parallel computing. This paper presents an original technique based on [10] to compute many instances of the longest common subsequence problem on a generic GPU architecture using classic DP-matching [7]. Application of this algorithm has been found useful to address the problem of filtering false positives produced by metrics-based clone detection methods. Experimental results of this application are presented along with a discussion of possibilities of using GPUs for other cloning related problems.
- Eclipse. http://www.eclipse.org.Google Scholar
- Tomcat. http://tomcat.apache.org.Google Scholar
- AMD/ATI. Ati ctm guide technical reference manual, version 1.01. http://ati.amd.com, 2006.Google Scholar
- S. Bellon, R. Koschke, G. Antoniol, J. Krinke, and E. Merlo. Comparison and evaluation of clone detection tools. IEEE Transactions on Software Engineering, 33(9):577--591, 2007. Google ScholarDigital Library
- I. Buck and T. Purcell. GPU Gems, chapter 37, pages 621--636. Addison Wesley, 2004.Google Scholar
- S. Che, J. Li, J. Sheaffer, K. Skadron, and J. Lach. Accelerating compute-intensive applications with gpus and fpgas. In Symposium on Applications Specific Processors, 2008, pages 101--107, 2008. Google ScholarDigital Library
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to algorithms, chapter 15. MIT Press, second edition, 2001. Google ScholarDigital Library
- K. Group. Opencl-the open standard for parallel programming of heterogeneous systems. http://www.khronos.org/opencl/, 2009.Google Scholar
- P. Kipfer and R. Westermann. GPU Gems 2, chapter 46, pages 733--746. Addison Wesley, 2005.Google Scholar
- S. Manavski and G. Valle. Cuda compatible gpu cards as efficient hardware accelerators for smith-waterman sequence alignment. In BITS: Annual Meeting, Naples, Italy, April 2007.Google Scholar
- D. T. Marr, F. Binns, D. L. Hill, G. Hinton, D. A. Koufaty, J. A. Miller, and M. Upton. Hyper-threading technology. 6, february 2002.Google Scholar
- J. Mayrand, C. Leblanc, and E. Merlo. Experiment on the automatic detection of function clones in a software system using metrics. In Proceedings of the International Conference on Software Maintenance - IEEE Computer Society Press, pages 244--253, Monterey, CA, Nov 1996. Google ScholarDigital Library
- E. Merlo, G. Antoniol, M. D. Penta, and F. Rollo. Linear complexity object-oriented similarity for clone detection and software evolution analysis. In Proceedings of the International Conference on Software Maintenance - IEEE Computer Society Press, pages 412--416. IEEE Computer Society Press, 2004. Google ScholarDigital Library
- E. Merlo and T. Lavoie. Computing structural types of clone syntactic blocks. In Working Conference on Reverse Engineering, pages 274--278. IEEE, 2009. Google ScholarDigital Library
- P. Micikevicius. GPU Gems 2, chapter 43, pages 695--702. Addison Wesley, 2005.Google Scholar
- NVIDIA. Nvidia cuda compute unified device architecture, programming guide version 1.0. http://www.nvidia.com, 2007.Google Scholar
- M. Schatz and C. Trapnell. Fast exact string matching on gpu. http://www.nvidia.com, 2007.Google Scholar
- E. Seamans and T. Alexander. GPU Gems 3, chapter 35, pages 771--783. Addison Wesley, 2008.Google Scholar
Index Terms
- Challenging cloning related problems with GPU-based algorithms
Recommendations
Optimization principles and application performance evaluation of a multithreaded GPU using CUDA
PPoPP '08: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programmingGPUs have recently attracted the attention of many application developers as commodity data-parallel coprocessors. The newest generations of GPU architecture provide easier programmability and increased generality while maintaining the tremendous memory ...
Solving knapsack problems on GPU
A parallel implementation via CUDA of the dynamic programming method for the knapsack problem on NVIDIA GPU is presented. A GTX 260 card with 192 cores (1.4GHz) is used for computational tests and processing times obtained with the parallel code are ...
Use of GPU computing for uncertainty quantification in computational mechanics: A case study
Graphics processing units GPUs are rapidly emerging as a more economical and highly competitive alternative to CPU-based parallel computing. As the degree of software control of GPUs has increased, many researchers have explored their use in non-gaming ...
Comments