Adaptive tile matrix representation and multiplication

US10061748B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10061748-B2
Application numberUS-201514966860-A
CountryUS
Kind codeB2
Filing dateDec 11, 2015
Priority dateDec 11, 2015
Publication dateAug 28, 2018
Grant dateAug 28, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

According to some embodiments, matrix A data may be loaded into a temporary, unordered starting representation that contains coordinates and values for each element of matrix A. Z-curve ordering of matrix A may be performed to create a two-dimensional density map of matrix A by counting matrix elements that are contained in logical two-dimensional block cells of a given size. A quad-tree recursion may be executed on the two-dimensional density map structure in reduced Z-space to identify areas of different densities in the two dimensional matrix space. An adaptive tile matrix representation of input matrix A may then be created. According to some embodiments, an adaptive tile matrix multiplication operation may perform dynamic tile-granular optimization based on density estimates and a cost model.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer processing system, comprising: an in-memory column store containing big data analytic information; a real-time analytics, interactive data exploration and application platform coupled to the in-memory column store; a communication device coupled to the real-time analytics, interactive data exploration and application platform to receive a raw input matrix A associated with the big data analytic information contained in the in-memory column store; and an adaptive tile matrix engine, coupled to the communication device, including: a memory storing processor-executable program code, and a multi-core computer processor to execute the processor-executable program code in order to cause the adaptive tile matrix engine to: load matrix A data into a temporary, unordered starting representation that contains coordinates and values for each element of matrix A, perform Z-curve ordering of matrix A and create a two-dimensional density map of matrix A by counting matrix elements that are contained in logical two-dimensional block cells of a given size, execute a quad-tree recursion on the two-dimensional density map structure in reduced Z-space to identify areas of different densities in the two dimensional matrix space, create an adaptive tile matrix representation of input matrix A, execute an adaptive tile matrix multiplication operation that performs dynamic tile-granular optimization based on density estimates and a cost mode, wherein the adaptive tile matrix multiplication operation utilizes multiple sockets of the multi-core computer processor executing in parallel, and transmit an indication of a result of said adaptive tile matrix multiplication operation to the real-time analytics, interactive data exploration and application platform. 2. The system of claim 1 , wherein the adaptive tile matrix representation includes adaptive tiles that store large sparse and dense matrices of an individual non-zero pattern. 3. The system of claim 2 , wherein tiles with lower densities utilize a compressed sparse row format. 4. The system of claim 1 , wherein a maximum adaptive matrix tile size is selected based at least in part on a size of a last level cache. 5. The system of claim 1 , wherein a maximum adaptive matrix tile size is selected based at least in part on a width of accumulator arrays used in a sparse matrix multiplication kernel. 6. The system of claim 1 , wherein the Z-curve ordering of matrix A comprises a locality-aware element re-ordering. 7. The system of claim 1 , wherein the adaptive tile matrix representation is used to determine a cosine similarity matrix for a plurality of electronic documents. 8. A computer-implemented method, comprising: accessing, by a real-time analytics, interactive data exploration and application platform, big data analytic information contained in an in-memory column store; loading matrix A data into a temporary, unordered starting representation that contains coordinates and values for each element of matrix A, wherein matrix A is associated with the big data analytic information; performing, by a multi-core computer processor of an adaptive tile matrix engine, Z-curve ordering of matrix A to create a two-dimensional density map of matrix A by counting matrix elements that are contained in logical two-dimensional block cells of a given size; executing, by the multi-core computer processor of the adaptive tile matrix engine, quad-tree recursion on the two-dimensional density map structure in reduced Z-space to identify areas of different densities in the two dimensional matrix space; creating an adaptive tile matrix representation of input matrix A; executing an adaptive tile matrix multiplication operation that performs dynamic tile-granular optimization based on density estimates and a cost mode, wherein the adaptive tile matrix multiplication operation utilizes multiple sockets of the multi-core computer processor executing in parallel; and transmitting an indication of a result of said adaptive tile matrix multiplication operation to the real-time analytics, interactive data exploration and application platform. 9. The method of claim 8 , wherein the adaptive tile matrix representation includes adaptive tiles that store large sparse and dense matrices of an individual non-zero pattern. 10. The method of claim 9 , wherein tiles with lower densities utilize a compressed sparse row format. 11. The method of claim 8 , wherein a maximum adaptive matrix tile size is selected based at least in part on a size of a last level cache and a width of accumulator arrays used in a sparse matrix multiplication kernel. 12. The method of claim 8 , wherein the Z-curve ordering of matrix A comprises a locality-aware element re-ordering. 13. The method of claim 8 , wherein the adaptive tile matrix representation is associated with big data stored in an in-memory column store and is used to determine a cosine similarity matrix for a plurality of electronic documents.

Assignees

Inventors

Classifications

  • G06F17/16Primary

    Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10061748B2 cover?
According to some embodiments, matrix A data may be loaded into a temporary, unordered starting representation that contains coordinates and values for each element of matrix A. Z-curve ordering of matrix A may be performed to create a two-dimensional density map of matrix A by counting matrix elements that are contained in logical two-dimensional block cells of a given size. A quad-tree recurs…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F17/16. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 28 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).