xgboost
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
xgboost::common Namespace Reference

Namespaces

 base64
 namespace of base64 decoding and encoding table
 
 detail
 
 probability_constant
 

Classes

class  AFTLoss
 The AFT loss function. More...
 
struct  AFTParam
 Parameter structure for AFT loss and metric. More...
 
class  Base64InStream
 the stream that reads from base64, note we take from file pointers More...
 
class  Base64OutStream
 the stream that write to base64, note we take from file pointers More...
 
class  BlockedSpace2d
 
class  Column
 a column storage, to be used with ApplySplit. Note that each bin id is stored as index[i] + index_base. Different types of column index for each column allow to reduce the memory usage. More...
 
class  ColumnMatrix
 a collection of columns, with support for construction from GHistIndexMatrix. More...
 
class  ColumnSampler
 Handles selection of columns due to colsample_bytree, colsample_bylevel and colsample_bynode parameters. Should be initialised before tree construction and to reset when tree construction is completed. More...
 
class  CompressedBufferWriter
 Writes bit compressed symbols to a memory buffer. Use CompressedIterator to read symbols back from buffer. Currently limited to a maximum symbol size of 28 bits. More...
 
class  CompressedIterator
 Read symbols from a bit compressed memory buffer. Usable on device and host. More...
 
class  ConfigParser
 Implementation of config reader. More...
 
class  CutsBuilder
 
class  DenseColumn
 
class  DenseCuts
 Cut configuration for dense dataset. More...
 
class  ExtremeDist
 The extreme distribution, also known as the Gumbel (minimum) distribution. More...
 
class  FixedSizeStream
 A simple class used to consume `dmlc::Stream' all at once. More...
 
class  GHistBuilder
 builder for histograms of gradient statistics More...
 
struct  GHistIndexBlock
 
class  GHistIndexBlockMatrix
 
struct  GHistIndexMatrix
 preprocessed global index matrix, in CSR format More...
 
class  GKQuantileSketch
 Quantile sketch use WQSummary. More...
 
struct  GKSummary
 traditional GK summary More...
 
class  HistCollection
 histogram of gradient statistics for multiple nodes More...
 
class  HistogramCuts
 
struct  Index
 
class  LogisticDist
 The (standard) logistic distribution. More...
 
struct  Monitor
 Timing utility used to measure total method execution time over the lifetime of the containing object. More...
 
class  NormalDist
 The (standard) normal distribution. More...
 
class  ParallelGHistBuilder
 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...
 
class  ParallelGroupBuilder
 multi-thread version of group builder More...
 
class  PartitionBuilder
 
class  PeekableInStream
 Input stream that support additional PeekRead operation, besides read. More...
 
class  ProbabilityDistribution
 Interface for a probability distribution. More...
 
class  QuantileSketchTemplate
 template for all quantile sketch algorithm that uses merge/prune scheme More...
 
class  Range
 
class  Range1d
 
class  RowSetCollection
 collection of rowset More...
 
class  Span
 span class implementation, based on ISO++20 span<T>. The interface should be the same. More...
 
class  SparseColumn
 
class  SparseCuts
 Cut configuration for sparse dataset. More...
 
class  StreamBufferReader
 buffer reader of the stream that allows you to get More...
 
struct  Timer
 
class  Transform
 Do Transformation on HostDeviceVectors. More...
 
struct  WQSummary
 experimental wsummary More...
 
class  WQuantileSketch
 Quantile sketch use WQSummary. More...
 
struct  WXQSummary
 try to do efficient pruning More...
 
class  WXQuantileSketch
 Quantile sketch use WXQSummary. More...
 

Typedefs

using CompressedByteT = unsigned char
 
using GHistIndexRow = Span< uint32_t const >
 A single row in global histogram index. Directly represent the global index in the histogram entry. More...
 
using GHistRow = Span< tree::GradStats >
 histogram of gradient statistics for a single node. Consists of multiple GradStats, each entry showing total gradient statistics for that particular bin Uses global bin id so as to represent all features simultaneously More...
 
using MemoryFixSizeBuffer = rabit::utils::MemoryFixSizeBuffer
 
using MemoryBufferStream = rabit::utils::MemoryBufferStream
 
using RandomEngine = std::mt19937
 Define mt19937 as default type Random Engine. More...
 
using GlobalRandomEngine = RandomEngine
 global random engine More...
 

Enumerations

enum  byte : unsigned char
 
enum  ColumnType { kDenseColumn, kSparseColumn }
 column type More...
 
enum  BinTypeSize { kUint8BinsTypeSize = 1, kUint16BinsTypeSize = 2, kUint32BinsTypeSize = 4 }
 
enum  ProbabilityDistributionType : int { ProbabilityDistributionType::kNormal = 0, ProbabilityDistributionType::kLogistic = 1, ProbabilityDistributionType::kExtreme = 2 }
 Enum encoding possible choices of probability distribution. More...
 

Functions

template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE bool operator== (Span< T, X > l, Span< U, Y > r)
 
template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool operator!= (Span< T, X > l, Span< U, Y > r)
 
template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool operator< (Span< T, X > l, Span< U, Y > r)
 
template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool operator<= (Span< T, X > l, Span< U, Y > r)
 
template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool operator> (Span< T, X > l, Span< U, Y > r)
 
template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool operator>= (Span< T, X > l, Span< U, Y > r)
 
template<class T , std::size_t E>
XGBOOST_DEVICE auto as_bytes (Span< T, E > s) __span_noexcept -> Span< const byte, detail::ExtentAsBytesValue< T, E >::value >
 
template<class T , std::size_t E>
XGBOOST_DEVICE auto as_writable_bytes (Span< T, E > s) __span_noexcept -> Span< byte, detail::ExtentAsBytesValue< T, E >::value >
 
std::vector< std::string > Split (const std::string &s, char delim)
 Split a string by delimiter. More...
 
template<typename T >
XGBOOST_DEVICEMax (T a, T b)
 
template<typename T >
std::string ToString (const T &data)
 
template<typename T1 , typename T2 >
XGBOOST_DEVICE T1 DivRoundUp (const T1 a, const T2 b)
 
int AllVisibleGPUs ()
 
void AssertGPUSupport ()
 
HistogramCuts DeviceSketch (int device, DMatrix *dmat, int max_bins, size_t sketch_batch_num_elements=0)
 
template<typename AdapterT >
HistogramCuts AdapterDeviceSketch (AdapterT *adapter, int num_bins, float missing, size_t sketch_batch_num_elements=0)
 
void InitilizeHistByZeroes (GHistRow hist, size_t begin, size_t end)
 fill a histogram by zeros More...
 
void IncrementHist (GHistRow dst, const GHistRow add, size_t begin, size_t end)
 Increment hist as dst += add in range [begin, end) More...
 
void CopyHist (GHistRow dst, const GHistRow src, size_t begin, size_t end)
 Copy hist from src to dst in range [begin, end) More...
 
void SubtractionHist (GHistRow dst, const GHistRow src1, const GHistRow src2, size_t begin, size_t end)
 Compute Subtraction: dst = src1 - src2 in range [begin, end) More...
 
std::string LoadSequentialFile (std::string fname)
 
std::string FileExtension (std::string const &fname)
 
XGBOOST_DEVICE float Sigmoid (float x)
 calculate the sigmoid of the input. More...
 
template<typename T , typename U >
XGBOOST_DEVICE constexpr bool CloseTo (T a, U b)
 Equality test for both integer and floating point. More...
 
template<typename Iterator >
XGBOOST_DEVICE void Softmax (Iterator start, Iterator end)
 Do inplace softmax transformaton on start to end. More...
 
template<typename Iterator >
XGBOOST_DEVICE Iterator FindMaxIndex (Iterator begin, Iterator end)
 Find the maximum iterator within the iterators. More...
 
float LogSum (float x, float y)
 perform numerically safe logsum More...
 
template<typename Iterator >
float LogSum (Iterator begin, Iterator end)
 perform numerically safe logsum More...
 
template<typename T >
XGBOOST_DEVICE std::enable_if< std::numeric_limits< T >::is_integer, bool >::type CheckNAN (T)
 
XGBOOST_DEVICE bool CheckNAN (float x)
 
XGBOOST_DEVICE bool CheckNAN (double x)
 
template<typename T >
XGBOOST_DEVICELogGamma (T v)
 
GlobalRandomEngineGlobalRandom ()
 global singleton of a random engine. This random engine is thread-local and only visible to current thread. More...
 
template<typename Func >
void ParallelFor2d (const BlockedSpace2d &space, int nthreads, Func func)
 

Variables

constexpr std::size_t dynamic_extent = std::numeric_limits<std::size_t>::max()
 
constexpr size_t kBlockThreads = 256
 

Typedef Documentation

◆ CompressedByteT

using xgboost::common::CompressedByteT = typedef unsigned char

◆ GHistIndexRow

using xgboost::common::GHistIndexRow = typedef Span<uint32_t const>

A single row in global histogram index. Directly represent the global index in the histogram entry.

◆ GHistRow

using xgboost::common::GHistRow = typedef Span<tree::GradStats>

histogram of gradient statistics for a single node. Consists of multiple GradStats, each entry showing total gradient statistics for that particular bin Uses global bin id so as to represent all features simultaneously

◆ GlobalRandomEngine

global random engine

◆ MemoryBufferStream

using xgboost::common::MemoryBufferStream = typedef rabit::utils::MemoryBufferStream

◆ MemoryFixSizeBuffer

using xgboost::common::MemoryFixSizeBuffer = typedef rabit::utils::MemoryFixSizeBuffer

◆ RandomEngine

using xgboost::common::RandomEngine = typedef std::mt19937

Define mt19937 as default type Random Engine.

Enumeration Type Documentation

◆ BinTypeSize

Enumerator
kUint8BinsTypeSize 
kUint16BinsTypeSize 
kUint32BinsTypeSize 

◆ byte

enum xgboost::common::byte : unsigned char
strong

◆ ColumnType

column type

Enumerator
kDenseColumn 
kSparseColumn 

◆ ProbabilityDistributionType

Enum encoding possible choices of probability distribution.

Enumerator
kNormal 
kLogistic 
kExtreme 

Function Documentation

◆ AdapterDeviceSketch()

template<typename AdapterT >
HistogramCuts xgboost::common::AdapterDeviceSketch ( AdapterT *  adapter,
int  num_bins,
float  missing,
size_t  sketch_batch_num_elements = 0 
)

◆ AllVisibleGPUs()

int xgboost::common::AllVisibleGPUs ( )

◆ as_bytes()

template<class T , std::size_t E>
XGBOOST_DEVICE auto xgboost::common::as_bytes ( Span< T, E >  s) -> Span<const byte, detail::ExtentAsBytesValue<T, E>::value>

◆ as_writable_bytes()

template<class T , std::size_t E>
XGBOOST_DEVICE auto xgboost::common::as_writable_bytes ( Span< T, E >  s) -> Span<byte, detail::ExtentAsBytesValue<T, E>::value>

◆ AssertGPUSupport()

void xgboost::common::AssertGPUSupport ( )
inline

◆ CheckNAN() [1/3]

template<typename T >
XGBOOST_DEVICE std::enable_if< std::numeric_limits<T>::is_integer, bool>::type xgboost::common::CheckNAN ( )

◆ CheckNAN() [2/3]

XGBOOST_DEVICE bool xgboost::common::CheckNAN ( float  x)
inline

◆ CheckNAN() [3/3]

XGBOOST_DEVICE bool xgboost::common::CheckNAN ( double  x)
inline

◆ CloseTo()

template<typename T , typename U >
XGBOOST_DEVICE constexpr bool xgboost::common::CloseTo ( a,
b 
)

Equality test for both integer and floating point.

◆ CopyHist()

void xgboost::common::CopyHist ( GHistRow  dst,
const GHistRow  src,
size_t  begin,
size_t  end 
)

Copy hist from src to dst in range [begin, end)

◆ DeviceSketch()

HistogramCuts xgboost::common::DeviceSketch ( int  device,
DMatrix dmat,
int  max_bins,
size_t  sketch_batch_num_elements = 0 
)

◆ DivRoundUp()

template<typename T1 , typename T2 >
XGBOOST_DEVICE T1 xgboost::common::DivRoundUp ( const T1  a,
const T2  b 
)

◆ FileExtension()

std::string xgboost::common::FileExtension ( std::string const &  fname)
inline

◆ FindMaxIndex()

template<typename Iterator >
XGBOOST_DEVICE Iterator xgboost::common::FindMaxIndex ( Iterator  begin,
Iterator  end 
)
inline

Find the maximum iterator within the iterators.

Parameters
beginThe begining iterator.
endThe end iterator.
Returns
the iterator point to the maximum value.
Template Parameters
IteratorThe type of the iterator.

◆ GlobalRandom()

GlobalRandomEngine& xgboost::common::GlobalRandom ( )

global singleton of a random engine. This random engine is thread-local and only visible to current thread.

◆ IncrementHist()

void xgboost::common::IncrementHist ( GHistRow  dst,
const GHistRow  add,
size_t  begin,
size_t  end 
)

Increment hist as dst += add in range [begin, end)

◆ InitilizeHistByZeroes()

void xgboost::common::InitilizeHistByZeroes ( GHistRow  hist,
size_t  begin,
size_t  end 
)

fill a histogram by zeros

◆ LoadSequentialFile()

std::string xgboost::common::LoadSequentialFile ( std::string  fname)

◆ LogGamma()

template<typename T >
XGBOOST_DEVICE T xgboost::common::LogGamma ( v)
inline

◆ LogSum() [1/2]

float xgboost::common::LogSum ( float  x,
float  y 
)
inline

perform numerically safe logsum

Parameters
xleft input operand
yright input operand
Returns
log(exp(x) + exp(y))

◆ LogSum() [2/2]

template<typename Iterator >
float xgboost::common::LogSum ( Iterator  begin,
Iterator  end 
)
inline

perform numerically safe logsum

Parameters
beginThe begining iterator.
endThe end iterator.
Returns
the iterator point to the maximum value.
Template Parameters
IteratorThe type of the iterator.

◆ Max()

template<typename T >
XGBOOST_DEVICE T xgboost::common::Max ( a,
b 
)

◆ operator!=()

template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool xgboost::common::operator!= ( Span< T, X >  l,
Span< U, Y >  r 
)

◆ operator<()

template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool xgboost::common::operator< ( Span< T, X >  l,
Span< U, Y >  r 
)

◆ operator<=()

template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool xgboost::common::operator<= ( Span< T, X >  l,
Span< U, Y >  r 
)

◆ operator==()

template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE bool xgboost::common::operator== ( Span< T, X >  l,
Span< U, Y >  r 
)

◆ operator>()

template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool xgboost::common::operator> ( Span< T, X >  l,
Span< U, Y >  r 
)

◆ operator>=()

template<class T , std::size_t X, class U , std::size_t Y>
XGBOOST_DEVICE constexpr bool xgboost::common::operator>= ( Span< T, X >  l,
Span< U, Y >  r 
)

◆ ParallelFor2d()

template<typename Func >
void xgboost::common::ParallelFor2d ( const BlockedSpace2d space,
int  nthreads,
Func  func 
)

◆ Sigmoid()

XGBOOST_DEVICE float xgboost::common::Sigmoid ( float  x)
inline

calculate the sigmoid of the input.

Parameters
xinput parameter
Returns
the transformed value.

◆ Softmax()

template<typename Iterator >
XGBOOST_DEVICE void xgboost::common::Softmax ( Iterator  start,
Iterator  end 
)
inline

Do inplace softmax transformaton on start to end.

Template Parameters
IteratorInput iterator type
Parameters
startStart iterator of input
endend iterator of input

◆ Split()

std::vector<std::string> xgboost::common::Split ( const std::string &  s,
char  delim 
)
inline

Split a string by delimiter.

Parameters
sString to be splitted.
delimThe delimiter.

◆ SubtractionHist()

void xgboost::common::SubtractionHist ( GHistRow  dst,
const GHistRow  src1,
const GHistRow  src2,
size_t  begin,
size_t  end 
)

Compute Subtraction: dst = src1 - src2 in range [begin, end)

◆ ToString()

template<typename T >
std::string xgboost::common::ToString ( const T &  data)
inline

Variable Documentation

◆ dynamic_extent

constexpr std::size_t xgboost::common::dynamic_extent = std::numeric_limits<std::size_t>::max()

◆ kBlockThreads

constexpr size_t xgboost::common::kBlockThreads = 256