PERFORMANCE IN SPARSE MATRIX VECTOR (SpMV) MULTIPLICATION USING ROW SIMILARITY

    公开(公告)号:US20240169019A1

    公开(公告)日:2024-05-23

    申请号:US17991493

    申请日:2022-11-21

    CPC classification number: G06F17/16

    Abstract: A technical solution to the technical problem of how to improve performance when performing SpMV multiplication uses sparse matrix row similarity to schedule SpMV multiplication operations. CSR representation metadata is generated for a CSR representation and indicates the locations of non-zero values in the rows of the corresponding sparse matrix or the cache locations of column data needed for SpMV multiplication operations. The CSR representation metadata is used to determine the similarity of rows in the sparse matrix based upon Cosine similarity, Jaccard similarity, Locality Sensitive Hashing (LSH) that approximates Jaccard similarity, or other measures of similarity. The row similarity is used to schedule SpMV multiplication operations to increase data locality, reduce cache misses, reduce time stalling on memory accesses, and reduce bandwidth consumption. Implementations include the use of similarity thresholds to schedule SpMV multiplication operations on particular threads and processing elements and load balancing to further improve performance.

    IMPLICIT FILTERING FOR TASK GENERATION FOR GRAPH ANALYTICS PROCESSES

    公开(公告)号:US20240160666A1

    公开(公告)日:2024-05-16

    申请号:US17985136

    申请日:2022-11-10

    CPC classification number: G06F16/9024

    Abstract: A system includes a processor configured to iteratively, until values of a frontier vector indicate all nodes of a graph have been discovered, select a set of rows from a matrix representation of the graph based on values of the frontier vector. The set of rows includes fewer rows than the matrix representation. The processor is further configured to calculate an output vector for a current iteration as a dot product between each of the selected set of rows in the matrix representation and the frontier vector, with the output vector for the current iteration acting as the frontier vector for a next iteration and the output vector for the next iteration initialized to the frontier vector for the current iteration.

Patent Agency Ranking