Streaming programmable point mapper and compute hardware
AssigneeInternational Business Machines Corporation
InventorsDavid J. Berg, Andrew S. Cassidy, Michael V. DeBole, Bryan L. Jackson
Life of this patent
Estimating the term…
Abstract
In one general embodiment, a computer-implemented method is provided. The computer-implemented method includes receiving data comprising at least one data stream. Each data stream of the at least one data stream includes a plurality of points. The computer-implemented method also includes producing a result by remapping the at least one data stream in a point-by-point manner, and outputting the result.
Claims11
A computer-implemented method, comprising:
- receiving data comprising a data stream, where the data stream includes a plurality of data points that represent a data source, where the data stream has a first length indicated by a first number of the plurality of data points;
- identifying, at a programmable instruction memory, a first instruction, the first instruction including:
- a first field indicating whether a next received data point is passed on as output to a remapped data stream, the first field including a bit that indicates whether duplication is performed for the next received data point, where the bit, when set to a predetermined value, indicates that a read operation is performed on the next received data point, but the next received data point is not moved to the remapped data stream,
- a second field indicating a number of the plurality of data points that the first instruction applies to, the second field including a loop count value that indicates a number of times the first instruction is executed before an instruction pointer is incremented, and
- a third field indicating a number of instances of duplication to be performed, the third field including a duplicate count value that indicates a number of instances of duplication to be applied to the next received data point,
- remapping the data stream to create the remapped data stream according to the first instruction, the remapping including modifying the plurality of data points in the data stream to create the remapped data stream so that the remapped data stream has a second length different from the first length, where the data stream has a first dimensionality, and the remapped data stream has a second dimensionality that is greater than the first dimensionality;
- and
- sending the remapped data stream to be processed.
A computer program product for programmable point mapping, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, where the computer readable storage medium is not a transitory signal per se, and where the program instructions are executable by a point mapper to cause the point mapper to:
- receive, by the point mapper, a data stream, where the data stream includes a plurality of data points that represent a data source, where the data stream has a first length indicated by a first number of the plurality of data points;
- identify, at a programmable instruction memory, a first instruction, the first instruction including:
- a first field indicating whether a next received data point is passed on as output to a remapped data stream, the first field including a bit that indicates whether duplication is performed for the next received data point, where the bit, when set to a predetermined value, indicates that a read operation is performed on the next received data point, but the next received data point is not moved to the remapped data stream,
- a second field indicating a number of the plurality of data points that the first instruction applies to, the second field including a loop count value that indicates a number of times the first instruction is executed before an instruction pointer is incremented, and
- a third field indicating a number of instances of duplication to be performed, the third field including a duplicate count value that indicates a number of instances of duplication to be applied to the next received data point;
- remap, by the point mapper, the data stream to create the remapped data stream according to the first instruction, the remapping including modifying the plurality of data points in the data stream to create the remapped data stream so that the remapped data stream has a second length different from the first length, where the data stream has a first dimensionality, and the remapped data stream has a second dimensionality that is greater than the first dimensionality;
- and
- send, by the point mapper, the remapped data stream to be processed.
A system, comprising:
- a hardware processor;
- and
- logic integrated with the hardware processor, executable by the hardware processor, or integrated with and executable by the hardware processor, the logic being configured to cause the hardware processor to:
- receive a data stream, where the data stream includes a plurality of data points that represent a data source, where the data stream has a first length indicated by a first number of the plurality of data points;
- identify, at a programmable instruction memory, a first instruction, the first instruction including:
- a first field indicating whether a next received data point is passed on as output to a remapped data stream, the first field including a bit that indicates whether duplication is performed for the next received data point, where the bit, when set to a predetermined value, indicates that a read operation is performed on the next received data point, but the next received data point is not moved to the remapped data stream,
- a second field indicating a number of the plurality of data points that the first instruction applies to, the second field including a loop count value that indicates a number of times the first instruction is executed before an instruction pointer is incremented, and
- a third field indicating a number of instances of duplication to be performed, the third field including a duplicate count value that indicates a number of instances of duplication to be applied to the next received data point;
- remap the data stream to create the remapped data stream according to the first instruction, the remapping including modifying the plurality of data points in the data stream to create the remapped data stream so that the remapped data stream has a second length different from the first length, where the data stream has a first dimensionality, and the remapped data stream has a second dimensionality that is greater than the first dimensionality;
- and
- send the remapped data stream to be processed.
A computer-implemented method, comprising:
- receiving data comprising a data stream, where the data stream includes a plurality of data points that represent a data source, where the data stream has a first length indicated by a first number of the plurality of data points;
- identifying, at a programmable instruction memory, a first instruction, the first instruction including:
- a first field indicating whether a next received data point is passed on as output to a remapped data stream,
- a second field indicating a number of the plurality of data points that the first instruction applies to, and
- a third field indicating a number of instances of duplication to be performed
- remapping the data stream to create the remapped data stream according to the first instruction, the remapping including modifying the plurality of data points in the data stream to create the remapped data stream so that the remapped data stream has a second length different from the first length;
- and
- sending the remapped data stream to be processed;
- wherein in response to determining that the first field has a value of zero, the second field has a value of zero, and the third field has a value of zero, duplication is performed for the next received data point, for only the next received data point, and the next received data point is duplicated once.
Dependencies are inferred from the claim text.