Set operations using multi-core processing unit
AssigneeMicrosoft Technology Licensing, LLC
InventorRitwik DAS
Life of this patent
Estimating the term…
Abstract
Performing set operations using sparse matrix operations offered by a multi-core processing unit (such as a graphics processing unit). The set operation is converted into operand matrices, and sparse matrix operations, foregoing the use of hash tables. The input set is converted into a matrix, a matrix operation corresponding to the set operation is identified, and one or more operands of the set operation are also represented within a matrix. The matrix operation is then performed on these matrices to obtain an output matrix, which is then converted to an output set.
Claims20
A computing system that duplicates a result of a set operation by performing one or more matrix operations offered by a multi-core processing unit instead of by performing the set operation, said computing system comprising:
- one or more processors;
- and
- one or more hardware storage devices that store instructions that are executable by the one or more processors to cause the computing system to:
- represent an input as a first matrix;
- identify an operand associated with the set operation whose result is to be duplicated;
- represent the operand using a second matrix;
- identify the one or more matrix operations offered by the multi-core processing unit;
- generate an output matrix by using the multi-core processing unit to perform the one or more matrix operations on the first and second matrices;
- and
- represent the output matrix as an output set that represents the result that would otherwise have been generated had the set operation been performed on the input set.
One or more hardware storage devices that store instructions that are executable by one or more processors to cause the one or more processors to:
- represent an input as a first matrix;
- identify an operand associated with a set operation whose result is to be duplicated;
- represent the operand using a second matrix;
- identify one or more matrix operations offered by a multi-core processing unit;
- generate an output matrix by using the multi-core processing unit to perform the one or more matrix operations on the first and second matrices;
- and
- represent the output matrix as an output set that represents the result that would otherwise have been generated had the set operation been performed on the input set.
A method for duplicating a result of a set operation by performing one or more matrix operations offered by a multi-core processing unit instead of by performing the set operation, the method comprising:
- representing an input as a first matrix;
- identifying an operand associated with the set operation whose result is to be duplicated;
- representing the operand using a second matrix;
- identifying the one or more matrix operations offered by the multi-core processing unit;
- generating an output matrix by using the multi-core processing unit to perform the one or more matrix operations on the first and second matrices;
- and
- representing the output matrix as an output set that represents the result that would otherwise have been generated had the set operation been performed on the input set.
Dependencies are inferred from the claim text.