Stores temporary histograms to compute them in parallel Supports processing multiple tree-nodes for nested parallelism Able to reduce histograms across threads in efficient way.
More...
#include <hist_util.h>
Stores temporary histograms to compute them in parallel Supports processing multiple tree-nodes for nested parallelism Able to reduce histograms across threads in efficient way.
◆ AllocateAdditionalHistograms()
void xgboost::common::ParallelGHistBuilder::AllocateAdditionalHistograms |
( |
| ) |
|
|
inlineprotected |
◆ GetInitializedHist()
GHistRow xgboost::common::ParallelGHistBuilder::GetInitializedHist |
( |
size_t |
tid, |
|
|
size_t |
nid |
|
) |
| |
|
inline |
◆ Init()
void xgboost::common::ParallelGHistBuilder::Init |
( |
size_t |
nbins | ) |
|
|
inline |
◆ MatchNodeNidPairToHist()
void xgboost::common::ParallelGHistBuilder::MatchNodeNidPairToHist |
( |
| ) |
|
|
inlineprotected |
◆ MatchThreadsToNodes()
void xgboost::common::ParallelGHistBuilder::MatchThreadsToNodes |
( |
const BlockedSpace2d & |
space | ) |
|
|
inlineprotected |
◆ ReduceHist()
void xgboost::common::ParallelGHistBuilder::ReduceHist |
( |
size_t |
nid, |
|
|
size_t |
begin, |
|
|
size_t |
end |
|
) |
| |
|
inline |
◆ Reset()
void xgboost::common::ParallelGHistBuilder::Reset |
( |
size_t |
nthreads, |
|
|
size_t |
nodes, |
|
|
const BlockedSpace2d & |
space, |
|
|
const std::vector< GHistRow > & |
targeted_hists |
|
) |
| |
|
inline |
◆ hist_buffer_
Buffer for additional histograms for Parallel processing.
◆ hist_memory_
std::vector<GHistRow> xgboost::common::ParallelGHistBuilder::hist_memory_ |
|
protected |
Allocated memory for histograms used for construction.
◆ hist_was_used_
std::vector<int> xgboost::common::ParallelGHistBuilder::hist_was_used_ |
|
protected |
Marks which hists were used, it means that they should be merged. Contains only {true or false} values but 'int' is used instead of 'bool', because std::vector<bool> isn't thread safe.
◆ nbins_
size_t xgboost::common::ParallelGHistBuilder::nbins_ = 0 |
|
protected |
number of bins in each histogram
◆ nodes_
size_t xgboost::common::ParallelGHistBuilder::nodes_ = 0 |
|
protected |
number of nodes which will be processed in parallel
◆ nthreads_
size_t xgboost::common::ParallelGHistBuilder::nthreads_ = 0 |
|
protected |
number of threads for parallel computation
◆ targeted_hists_
std::vector<GHistRow> xgboost::common::ParallelGHistBuilder::targeted_hists_ |
|
protected |
Contains histograms for final results.
◆ threads_to_nids_map_
std::vector<bool> xgboost::common::ParallelGHistBuilder::threads_to_nids_map_ |
|
protected |
Buffer for additional histograms for Parallel processing.
◆ tid_nid_to_hist_
std::map<std::pair<size_t, size_t>, size_t> xgboost::common::ParallelGHistBuilder::tid_nid_to_hist_ |
|
protected |
map pair {tid, nid} to index of allocated histogram from hist_memory_
The documentation for this class was generated from the following file: