One of the most expensive part of a VQ compression algorithm is a codebook generation. PNN algorithm constructs a codebook by merging the "nearest" vectors and its parallel algorithm needs "Allsort" procedure that sorts locally-sorted lists of all processors into a globally-sorted list and broadcasts the list to all processors on a multiprocessor system. We propose a new collective function, called Allsort for such a procedure and preliminarily implement the collective based on the dissemination method. We confirm the effectiveness of our proposed collective analytically and empirically. The results of our experiments show that the elapsed time of our implementation of the Allsort collective is improved by a factor of 2.0 to 2.7 compared with the combination of the ordinal MPI Allgather collective and the global sort on both power-of-2 number processors and non-power-of-2 number processors. We also show that the speedup of the aggressive PNN algorithm for a codebook generation for VQ compression is improved by around 8% to 20% on an 8 CPU cluster.
展开▼