IBM - CVUT Student Research Projects Implementation of DTW and DDTW algorithm on Cell Broadband Engine Pavel Bazika (bazikp1@fel.cvut.cz)
What do DTW and DDTW do? • DTW (dynamic time warping) is dynamic programming based algorithm • compares two time series of different length and computes similarity measure • DDTW is an improved version of DTW algorithm Corresponding points IBM - CVUT Student Research Projects 2
DTW and DDTW applications • Speech recognition • Handwritten signature verification IBM - CVUT Student Research Projects 3
DTW calculation scheme Time seq 2 Time seq 1 Minimum evaluation Computed relation between series SIMDized (minimum cost path) distance computation IBM - CVUT Student Research Projects 4
Computing Euclidean distance • Four distances in one step are computed • Distance matrix is distributed across available SPU's • Each SPU then calculates part of the matrix IBM - CVUT Student Research Projects 5
Proposed SIMDization of DTW • In one step four new cells are computed • Reading from memory to register is done only once per matrix cell Computation direction IBM - CVUT Student Research Projects 6
Job distribution Control Matrix signals transfer Pipeline processing IBM - CVUT Student Research Projects 7
Platform comparison 9000 PPU SIMD 8000 Processing time [ms] 7000 6000 Pentium 4 5000 PPU 4000 3000 2000 SPU 1000 from here SPU's are the best 0 0 1000 2000 3000 4000 5000 6000 7000 Matrix size IBM - CVUT Student Research Projects 8
What I've done • Distance matrix filling SIMDized • Minimum computing also SIMDized • Work distribution to pipelined SPU's • Result backtracking in filled matrix by PPU • Implemented on different platforms • Implementations measured and compared IBM - CVUT Student Research Projects 9
Future work • Asynchronous DMA transfers • Tune up algorithms parameters IBM - CVUT Student Research Projects 10
Recommend
More recommend