Medial Code Documentation
|
multi-thread version of group builder More...
#include <group_data.h>
Public Member Functions | |
ParallelGroupBuilder (std::vector< SizeType > *p_rptr, std::vector< ValueType > *p_data, size_t base_row_offset=0) | |
parallel group builder of data. | |
void | InitBudget (std::size_t max_key, int nthread) |
step 1: initialize the helper, with hint of number keys and thread used in the construction | |
void | AddBudget (std::size_t key, int threadid, SizeType nelem=1) |
step 2: add budget to each key | |
void | InitStorage () |
step 3: initialize the necessary storage | |
void | Push (std::size_t key, ValueType &&value, int threadid) |
step 4: add data to the allocated space, the calls to this function should be exactly match previous call to AddBudget | |
multi-thread version of group builder
ValueType | type of entries in the sparse matrix |
SizeType | type of the index range holder |
is_row_major | bool value helps to reduce memory for row major |
|
inline |
parallel group builder of data.
[in,out] | p_rptr | Row offsets for CSR matrix. |
[in,out] | p_data | Data vector to populate |
base_row_offset | (Optional) If the matrix we are building is already partially populated, use this to indicate the row index we are starting from. This saves considerable amounts of time/memory when incrementaly building. |
|
inline |
step 2: add budget to each key
key | the key |
threadid | the id of thread that calls this function |
nelem | number of element budget add to this row |
|
inline |
step 1: initialize the helper, with hint of number keys and thread used in the construction
max_key | number of keys in the matrix, can be smaller than expected, for row major adapter max_key is equal to batch size |
nthread | number of thread that will be used in construction |
|
inline |
step 4: add data to the allocated space, the calls to this function should be exactly match previous call to AddBudget
key | the key of group. |
value | The value to be pushed to the group. |
threadid | the id of thread that calls this function |