Processing data
AssigneeHewlett-Packard Development Company, L.P.
InventorsAlistair Neil Coles, Aled Justin Edwards, Eric Henri Ulysse Deliot
Life of this patent
Estimating the term…
Abstract
Many modern microprocessors support parallel processing operations, such as single instruction multiple data (SIMD) operations. The present invention presents a number of ways in which maximum advantage can be taken of these operations to provide an efficient way of processing multiple data channels.
Claims23
A method of performing a plurality of processing functions on a plurality of input channels, wherein each processing function has a preference for processing a number of the input channels, the method comprising:
- determining a batch size of input channels by dividing the plurality of input channels into a plurality of batches, wherein the size of each batch is based on the preferences of each processing function;
- processing the input channels in batches of the determined batch size or multiples thereof by performing each processing function on every input channel in the batch.
A method of performing processing functions on input channels, wherein each processing function has a preference for processing a number of the input channels, and further wherein the processing functions are executed by a microprocessor having a cache, comprising:
- determining the data requirements of processing a single input channel;
- determining a batch size by dividing the plurality of input channels into batches, wherein the size of each batch is based on the preferences of each processing function;
- determining a preferred batch size based on the size of the cache, the determined data requirements, and the determined batch size, wherein the preferred batch size is determined to prevent overflow of the cache during the processing of each batch;
- and
- processing the input channels in batches of the preferred batch size by performing each processing function on each input channel in the batch.
A software tool for use in a data processing system for processing input channels, the system comprising processing functions each having a preference for processing a number of the input channels, comprising:
- means for determining a batch size of input channels by dividing the input channels into batches, wherein the size of each batch is based on the preferences of each processing function;
- means for arranging the processing functions to enable processing of the input channels in batches of the determined batch size, wherein each processing function is performed the requisite number of times to ensure that each processing function processes the same number of input channels.
A data processing system for performing a plurality of processing functions on a plurality of input channels, wherein each processing function has a preference for processing a number of input channels, comprising:
- calculating means for determining a batch size of input channels by dividing the plurality of input channels into a plurality of batches, wherein the batch size is based on the preferences of each processing function;
- a processor for processing the input channels in batches of the determined batch size or multiples thereof by performing each processing function on every input channel in the batch
A data processing system for performing a plurality of processing functions on data from a plurality of input channels, each processing function having a preference for processing data from a predetermined number of input channels, comprising:
- determing a batch size of input channels based on the preferences of each processing function;
- performing each processing function on data from each of the input channels in the determined batch;
- and where a processing function has a preference for processing data from number of input channels less than the number of input channels in the batch, performing that processing function multiple times so that the number of input channels processed by each function is the same.
A voice processing system for performing a plurality of processing functions on data from a plurality of input channels, each processing function having a preference for processing data from a predetermined number of input channels, comprising:
- determing a batch size of input channels based on the preferences of each processing function;
- performing each processing function on data from each of the input channels in the determined batch;
- and where a processing function has a preference for processing data from number of input channels less than the number of input channels in the batch, performing that processing function multiple times so that the number of input channels processed by each function is the same.
A voice processing system for performing a plurality of processing functions on a plurality of input channels, each processing function having a preference for processing a number of input channels, comprising:
- determining a batch size of input channels by dividing the input channels into a plurality of batches, wherein the size of each batch is based on the preferences of each processing function;
- and
- processing a portion of data from each of the input channels in batches of the determined batch size or multiples therefof by sequentially performing each processing function
A method of performing a plurality of processing functions on a plurality of input channels, the processing being performed on a microprocessor having a cache, and wherein each processing function has a preference for processing a number of the input channels, the method comprising:
- determining the data requirements of processing a single channel;
- determining a preferred batch size based on the size of the cache, the determined data requirements and preferences of each function, the preferred batch size being determined so as prevent overflow of the cache during the processing of each batch;
- and
- processing the input channels in batches of the preferred batch size or multiples thereof by performing each processing function on every input channel in the batch.
Dependencies are inferred from the claim text.