Innovative approach for porting existing CPU program to its CUDA program
Abstract
GPU computing has gradually become the mainstream to do high-speed computing fields, such as the meteorology, image and video processing, fluid dynamics simulation, seismic analysis, and etc. How to efficiently port an existing program on CPU to its CUDA program on GPU is an important issue. From the previous works, the porting approach can be generalized and classified into two categories: Rewrite Parallel Algorithm (abbreviate to RPA) and Modify Original Library (abbreviate to MOL). For the RPA, the programmers need to understand the original sequential or parallel algorithm on CPU absolutely and then write the CUDA program on GPU directly. For the MOL, the programmers need to analyze (profile) the existing program on CPU at first to find the most spend time libraries (or functions), then they are modified greatly (rewritten in general) to become CUDA programs (kernel functions). There are several disadvantages for the RPA and MOL, especially for the porting time and executing results. Hence, in this paper, a new approach, called innovative systematic contract (abbreviate to ISC), is proposed to allow programmers to port an existing CPU program to its CUDA program by modifying the libraries lightly. The program, BLASTN v2.2.27, was ported into a CUDA version, called CUDA-BLASTN v1, by the ISC. From the experimental results, by comparing with BLASTN v2.2.27, CUDA-BLASTN v1 achieves 5x speedup ratio and obtains almost the same executing results.
Related Papers
- → Implementation of a Non-bonded Interaction Calculation Algorithm for the Cell Architecture(2009)4 cited
- → Speeding up model building for ECGA on CUDA platform(2013)2 cited
- → Innovative approach for porting existing CPU program to its CUDA program(2015)
- → CUDA GPU Programming Applied to HSI Exploitation(2017)
- → CUDA-Parttree: A Multiple Sequence Alignment Parallel Strategy in GPU(2019)