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.
|