1. A method for finding a closest match of each of a plurality of N input patterns relative to a plurality of R reference patterns using a plurality of K processing units comprising: (a) loading a first input pattern into a first processing unit and a second input pattern into a second processing unit; (b) sending one of said R reference patterns as a selected reference pattern to said first and second processing units; (c) calculating a first distance in said first processing unit, said first distance representing a similarity of said selected reference pattern to said first input pattern; (d) calculating a second distance in said second processing unit, said second distance representing a similarity of said selected reference pattern to said second input pattern; (e) saving said first distance as a present minimum first distance and saving a first identification corresponding to said selected reference pattern used to calculate said present minimum first distance if said first distance is smaller than a stored previous present minimum first distance; (f) saving said second distance as a present minimum second distance and saving a second identification corresponding to said selected reference pattern used to calculate said present minimum second distance if said second distance is smaller than a stored previous present minimum second distance; and (g) repeating steps (b)-(f) until all of said R reference patterns have been loaded, wherein said present first minimum distance is a final first minimum distance of said first input pattern relative to said R reference patterns and said first identification identifies which of said R reference patterns is a closest match to said first input pattern, and said present second minimum distance is a final second minimum distance of said second input pattern relative to said R reference patterns and said second identification identifies which of said R reference patterns is a closest match to said second input pattern.