Acceleration of A Two-Stage Query by Singing/Humming System Using Multiple GPUs

碩士 === 國立清華大學 === 資訊工程學系 === 102 === This research proposes a modification to speed up a QBSH (query by singing/humming) system running on a GPU. The system can compare the user's singing or humming with about 20000 songs in the database and retrieve the top-10 most likely candidates. Linear sc...

Full description

Bibliographic Details
Main Authors: Chuang, Yung-Siang, 莊詠翔
Other Authors: 張智星
Format: Others
Language:zh-TW
Published: 2014
Online Access:http://ndltd.ncl.edu.tw/handle/88148030932184742956
Description
Summary:碩士 === 國立清華大學 === 資訊工程學系 === 102 === This research proposes a modification to speed up a QBSH (query by singing/humming) system running on a GPU. The system can compare the user's singing or humming with about 20000 songs in the database and retrieve the top-10 most likely candidates. Linear scaling is one of the comparison methods in our QBSH system. We design a new implementation that uses shared memory instead of local memory for storing pitch vectors of songs in the database so that it is more closely conform to the design of GPU. Furthermore, we add extra pitch points to songs in the database to eliminate bank conflict. After these improvements, we can achieve a 32% reduction in retrieve time. Besides, in order to reduce redundant comparisons, we remove 1265 repeating songs from the database and the longest repeating pattern of each song, comprising around 22% of the total length of all songs in the database. Finally, we enhance the system to support multi-GPU so that the work load can be distributed among all GPUs to increase overall efficiency. A speedup factor close to N is achieved when the task is distributed among N GPUs.