With so many hot applications like computer graphics, advanced audio synthesis, and video relying heavily on matrix multiplication, Apple is making efforts to make this process more efficient and accurate with a dedicated vector processing unit (VPU) that can be carried out these operations for various applications. Rather than having to simplify the complexity of these matrices to a close approximation, this technology allows for calculations to carried out on the original matrices themselves, without worrying about rounding and truncation errors.
In Apple’s background description of the technology, developed by Ali Sazegari, a description of the main techniques is described:
“The invention provides means for storing in first vector registers within a vector processing system, multiple copies of each value of a first matrix, and storing in second vector registers within a vector processing system, values from each row of a second matrix. Upon storing the values in these first and second vector registers, the present invention dot multiplies each of the first vector registers having multiple copies of each value associated with a first row of the first matrix by each of the second vector registers. The dot product values obtained by this dot multiplication are each added to values in vector registers comprising a product matrix, and the multiplication and addition is again repeated for the first vector registers having values from every row of the first matrix. This method is bit-by-bit compatible with the traditional matrix multiplication, and does not introduce any discrepancies in rounding or otherwise which often occur because of changes in the order of operations.”
This process is carried out by divided very complex matrices, into smaller and easy to compute submatrices. Combined with the VPUs impressive ability to carry out operations on an entire vector register simultaneously. If this technology proves successful, it may allow for developers to no longer shy away from using complex matrices for highly accurate information processing. Despite being serving a very specific and seemingly narrow purpose, matrix multiplication is one of the most computational demanding tasks widely used. If developers didn’t have to put thought into handling these matrices efficiently, then more system resources can be devoted to enhancing other processes or by simply saving performance since the CPU doesn’t have to worry about the computations.

Sources:
http://www.macsimumnews.com/index.php/archive/apple_patent_is_for_matrix_multiplication_in_a_vector_processing_unit






Leave a Comment
You must be logged in to post a comment.
* You can follow any responses to this entry through the RSS 2.0 feed.