Commit 0d5146ba authored by Committed by Pavan BalajiBrowse files
Modify do_accumulate_op to allow for packed basic type data as input.
Originally, do_accumulate_op() is used to perform the ACC computation on target between data from origin side and data on the target window. It requires that the target side must first unpack the received origin data into the same data layout as the target data before calling this function, which may consume potentially large of memory. This patch fixes do_accumulate_op() function in the following aspects: (1) It requires that the origin data passed to the function must be "in a packed manner", which means it looks as if all basic type elements in the origin data is placed one by one. Note that the origin data is not necessarily contiguous, since we may use non-contiguous basic type. If the basic type is contiguous, then the origin data must be contiguous. (2) It adds a new function argument, stream_offset, which specifies a starting location in the target data. This allows the origin data to work with partial of target data with stream size. Signed-off-by: Pavan Balaji <firstname.lastname@example.org>
Showing with 63 additions and 32 deletions