Optimized ApplySplit, BuildHist and UpdatePredictCache functions on CPU (#5244)
* Split up sparse and dense build hist kernels. * Add `PartitionBuilder`.
This commit is contained in:
@@ -37,6 +37,7 @@ class Column {
|
||||
size_t Size() const { return len_; }
|
||||
uint32_t GetGlobalBinIdx(size_t idx) const { return index_base_ + index_[idx]; }
|
||||
uint32_t GetFeatureBinIdx(size_t idx) const { return index_[idx]; }
|
||||
common::Span<const uint32_t> GetFeatureBinIdxPtr() const { return { index_, len_ }; }
|
||||
// column.GetFeatureBinIdx(idx) + column.GetBaseIdx(idx) ==
|
||||
// column.GetGlobalBinIdx(idx)
|
||||
uint32_t GetBaseIdx() const { return index_base_; }
|
||||
@@ -186,8 +187,8 @@ class ColumnMatrix {
|
||||
|
||||
std::vector<size_t> feature_counts_;
|
||||
std::vector<ColumnType> type_;
|
||||
SimpleArray<uint32_t> index_; // index_: may store smaller integers; needs padding
|
||||
SimpleArray<size_t> row_ind_;
|
||||
std::vector<uint32_t> index_; // index_: may store smaller integers; needs padding
|
||||
std::vector<size_t> row_ind_;
|
||||
std::vector<ColumnBoundary> boundary_;
|
||||
|
||||
// index_base_[fid]: least bin id for feature fid
|
||||
|
||||
Reference in New Issue
Block a user