Scale computing in deterministic cloud environments
US-2024370302-A1 · Nov 7, 2024 · US
US2016378442A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016378442-A1 |
| Application number | US-201514750635-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jun 25, 2015 |
| Priority date | Jun 25, 2015 |
| Publication date | Dec 29, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods, apparatus, systems and articles of manufacture are disclosed to optimize sparse matrix execution. An example disclosed apparatus includes a context former to identify a matrix function call from a matrix function library, the matrix function call associated with a sparse matrix, a pattern matcher to identify an operational pattern associated with the matrix function call, and a code generator to associate a function data structure with the matrix function call exhibiting the operational pattern, the function data structure stored external to the matrix function library, and facilitate a runtime link between the function data structure and the matrix function call.
Opening claim text (preview).
What is claimed is: 1 . An apparatus to optimize sparse matrix execution, comprising: a context former to identify a matrix function call from a matrix function library, the matrix function call associated with a sparse matrix; a pattern matcher to identify an operational pattern associated with the matrix function call; and a code generator to: associate a function data structure with the matrix function call exhibiting the operational pattern, the function data structure stored external to the matrix function library; and facilitate a runtime link between the function data structure and the matrix function call. 2 . An apparatus as defined in claim 1 , wherein the runtime link is to facilitate access by the matrix function call to persistent data associated with the sparse matrix. 3 . An apparatus as defined in claim 2 , further including a function field of the function data structure to facilitate one of reusing the persistent data with a consumer function, or performing a memory allocation operation. 4 . An apparatus as defined in claim 3 , wherein performing the memory allocation operation is to include storing a result vector of the matrix function when the consumer function is absent. 5 . An apparatus as defined in claim 3 , wherein the function field is to facilitate blocking of the memory allocation operation when the consumer function is to execute during the matrix function call. 6 . An apparatus as defined in claim 2 , further including a version checker to identify version information of the persistent data associated with the sparse matrix. 7 . An apparatus as defined in claim 6 , wherein the version checker is to compare the version information with a matrix data structure stored external to the matrix function library. 8 . An apparatus as defined in claim 7 , further including a knob reader/writer to retrieve updated persistent data from the matrix data structure when the version information of the persistent data associated with the sparse matrix is outdated. 9 . An apparatus as defined in claim 7 , further including a task graph builder to rebuild the sparse matrix when the version information of the persistent data is outdated. 10 . An apparatus as defined in claim 1 , wherein the operational pattern to be identified by the pattern matcher includes at least one of memory access operations, function call sequences, or consumer functions. 11 . A method to optimize sparse matrix execution, comprising: identifying a matrix function call from a matrix function library, the matrix function call associated with a sparse matrix; identifying an operational pattern associated with the matrix function call; associating a function data structure with the matrix function call exhibiting the operational pattern, the function data structure stored external to the matrix function library; and facilitating a runtime link between the function data structure and the matrix function call. 12 . A method as defined in claim 11 , further including facilitating access by the matrix function call to persistent data associated with the sparse matrix. 13 . A method as defined in claim 12 , further including accessing a function field of the function data structure to facilitate one of reusing the persistent data with a consumer function, or performing a memory allocation operation. 14 . A method as defined in claim 12 , further including identifying version information of the persistent data associated with the sparse matrix. 15 . A method as defined in claim 14 , further including comparing the version information with a matrix data structure stored externally to the matrix function library. 16 . A method as defined in claim 15 , further including retrieving updated persistent data from the matrix data structure when the version information of the persistent data associated with the sparse matrix is outdated. 17 . A method as defined in claim 15 , further including rebuilding the sparse matrix when the version information of the persistent data is outdated. 18 . A method as defined in claim 11 , further including identifying the operational pattern in response to identifying at least one of memory access operations, function call sequences, or consumer functions. 19 . A tangible machine-readable medium comprising instructions that, when executed, cause a machine to at least: identify a matrix function call from a matrix function library, the matrix function call associated with a sparse matrix; identify an operational pattern associated with the matrix function call; associate a function data structure with the matrix function call exhibiting the operational pattern, the function data structure stored external to the matrix function library; and facilitate a runtime link between the function data structure and the matrix function call. 20 . A machine-readable medium as disclosed in claim 19 , wherein the instructions, when executed, cause the machine to facilitate access by the matrix function call to persistent data associated with the sparse matrix. 21 . A machine-readable medium as disclosed in claim 20 , wherein the instructions, when executed, cause the machine to access a function field of the function data structure to facilitate one of reusing the persistent data with a consumer function, or performing a memory allocation operation. 22 . A machine-readable medium as disclosed in claim 20 , wherein the instructions, when executed, cause the machine to identify version information of the persistent data associated with the sparse matrix. 23 . A machine-readable medium as disclosed in claim 22 , wherein the instructions, when executed, cause the machine to compare the version information with a matrix data structure stored externally to the matrix function library. 24 . A machine-readable medium as disclosed in claim 23 , wherein the instructions, when executed, cause the machine to retrieve updated persistent data from the matrix data structure when the version information of the persistent data associated with the sparse matrix is outdated. 25 . A machine-readable medium as disclosed in claim 23 , wherein the instructions, when executed, cause the machine to rebuild the sparse matrix when the version information of the persistent data is outdated.
Detection or removal of dead or redundant code · CPC title
Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title
Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title
Compilation · CPC title
Optimisation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.