Accelerated Dictionary Learning with GPU/Multicore CPU and its Application to Music Classification
Résumé
K-means clustering and GMM training, as dictionary learning procedures, lie at the heart of many signal processing applications. Increasing data scale requires more efficient ways to perform this process. In this paper a new GPU and multi-core CPU accelerated k-means clustering and GMM training is proposed. We show that both methods can be concisely reformulated into matrix multiplications which allows the application of NVIDIA Compute Unified Device Architecture (CUDA) implemented Basic Linear Algebra Subprograms (CUBLAS) and AMD Core Math Library (ACML) that are highly optimized matrix operation libraries for GPU and multicore CPU. Experimentations on music genre and mood representation and classification have shown that the acceleration for learning dictionary is achieved by factors of 38.0 and 209.5 for k-means clustering and GMM training, compared with single thread CPU execution while the difference between the average classification accuracies is less than 1%.