目前在生物資訊學中時常必須針對兩條序列進行搜尋比對,找出兩條序列相似的片段。隨著科技及資訊的進步,資料庫中累積的序列數量急速的增加,為了滿足及解決大量搜尋的需求,於是有人提出了各式各樣的搜尋比對工具,如Smith-Waterman、BLAST、…等搜尋比對演算法。由於資料庫越來越大,搜尋的時間已經無法在期望的時間內完成,所以往往期望能有一個更好的加速比對技術。然而GPGPU本身擁有的多個計算單元適用於大量的資料運算,且再搭配上CUDA語言即可充分的發揮GPGPU的計算效能。在本篇論文中我們使用了GPGPU來當作平行化計算的設備,並提出了一個平行化的計算方式和優化記憶體的方法,改善Smith-Waterman演算法的搜尋效率,藉此可以減少執行的時間,達到一個較好的效率提升。
In bioinformatics, we often have to search for the similarity of the two sequences to identify similar fragments of two sequences. For more advanced technology &information progress, the number of sequence accumulated in the databases increases rapidly in order to solve a large number of searching. So there are a lot of search algorithms & tools had been suggested, such as Smith-Waterman, BLAST …, etc. Due to the size of database growing, the search time increase and could not completed search job within a requested time. How to find a better algorithm to accelerate the search speed is what we’re looking for. The GPGPU( General Purpose GPU), own a lot of SP(Streaming Processor) , is very suitable for large computing requirements. Under the specific support of particular language CUDA, GUGPU can fully perform well. In this paper we use the GPGPU as the parallel computing platform. We present a parallel method of calculation and also provide the way of optimization of memory to improve the efficiency of Smith-Waterman search algorithm. It makes us reduce the execution time to achieve a better efficiency.