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

Namespaces

 aft
 
 base64
 namespace of base64 decoding and encoding table
 
 detail
 

Classes

struct  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  DenseColumn
 
struct  ExtremeDistribution
 
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  HistCollection
 histogram of gradient statistics for multiple nodes More...
 
class  HistogramCuts
 
class  HostSketchContainer
 
struct  Index
 
struct  LogisticDistribution
 
struct  Monitor
 Timing utility used to measure total method execution time over the lifetime of the containing object. More...
 
struct  NormalDistribution
 
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  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  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...
 
template<typename GradientSumT >
using GHistRow = Span< xgboost::detail::GradientPairInternal< GradientSumT > >
 
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...
 
enum  CensoringType : uint8_t { CensoringType::kUncensored, CensoringType::kRightCensored, CensoringType::kLeftCensored, CensoringType::kIntervalCensored }
 

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 ()
 
void AssertOneAPISupport ()
 
template<typename Idx , typename V , typename Comp = std::less<V>>
std::vector< Idx > ArgSort (std::vector< V > const &array, Comp comp=std::less< V >{})
 
HistogramCuts SketchOnDMatrix (DMatrix *m, int32_t max_bins)
 
template<typename GradientSumT >
void InitilizeHistByZeroes (GHistRow< GradientSumT > hist, size_t begin, size_t end)
 fill a histogram by zeros More...
 
template<typename GradientSumT >
void IncrementHist (GHistRow< GradientSumT > dst, const GHistRow< GradientSumT > add, size_t begin, size_t end)
 Increment hist as dst += add in range [begin, end) More...
 
template<typename GradientSumT >
void CopyHist (GHistRow< GradientSumT > dst, const GHistRow< GradientSumT > src, size_t begin, size_t end)
 Copy hist from src to dst in range [begin, end) More...
 
template<typename GradientSumT >
void SubtractionHist (GHistRow< GradientSumT > dst, const GHistRow< GradientSumT > src1, const GHistRow< GradientSumT > src2, size_t begin, size_t end)
 Compute Subtraction: dst = src1 - src2 in range [begin, end) More...
 
std::string LoadSequentialFile (std::string uri, bool stream=false)
 Helper function for loading consecutive file to avoid dmlc Stream when possible. More...
 
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 T >
std::vector< T > WeightedSamplingWithoutReplacement (std::vector< T > const &array, std::vector< float > const &weights, size_t n)
 
template<typename Func >
void ParallelFor2d (const BlockedSpace2d &space, int nthreads, Func func)
 
template<typename Func >
void ParallelFor (size_t size, size_t nthreads, Func fn)
 

Variables

constexpr std::size_t dynamic_extent = std::numeric_limits<std::size_t>::max()
 
constexpr double kPI = 3.14159265358979323846
 Constant PI. More...
 
constexpr double kEulerMascheroni = 0.57721566490153286060651209008240243104215933593992
 The Euler-Mascheroni_constant. More...
 
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

template<typename GradientSumT >
using xgboost::common::GHistRow = typedef Span<xgboost::detail::GradientPairInternal<GradientSumT> >

◆ 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

◆ CensoringType

enum xgboost::common::CensoringType : uint8_t
strong
Enumerator
kUncensored 
kRightCensored 
kLeftCensored 
kIntervalCensored 

◆ ColumnType

column type

Enumerator
kDenseColumn 
kSparseColumn 

◆ ProbabilityDistributionType

Enum encoding possible choices of probability distribution.

Enumerator
kNormal 
kLogistic 
kExtreme 

Function Documentation

◆ AllVisibleGPUs()

int xgboost::common::AllVisibleGPUs ( )

◆ ArgSort()

template<typename Idx , typename V , typename Comp = std::less<V>>
std::vector<Idx> xgboost::common::ArgSort ( std::vector< V > const &  array,
Comp  comp = std::less<V>{} 
)

◆ 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

◆ AssertOneAPISupport()

void xgboost::common::AssertOneAPISupport ( )
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()

template<typename GradientSumT >
void xgboost::common::CopyHist ( GHistRow< GradientSumT >  dst,
const GHistRow< GradientSumT >  src,
size_t  begin,
size_t  end 
)

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

◆ 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()

template<typename GradientSumT >
void xgboost::common::IncrementHist ( GHistRow< GradientSumT >  dst,
const GHistRow< GradientSumT >  add,
size_t  begin,
size_t  end 
)

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

◆ InitilizeHistByZeroes()

template<typename GradientSumT >
void xgboost::common::InitilizeHistByZeroes ( GHistRow< GradientSumT >  hist,
size_t  begin,
size_t  end 
)

fill a histogram by zeros

◆ LoadSequentialFile()

std::string xgboost::common::LoadSequentialFile ( std::string  uri,
bool  stream = false 
)

Helper function for loading consecutive file to avoid dmlc Stream when possible.

Parameters
uriURI or file name to file.
streamUse dmlc Stream unconditionally if set to true. Used for running test without remote filesystem.
Returns
File content.

◆ 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 
)

◆ ParallelFor()

template<typename Func >
void xgboost::common::ParallelFor ( size_t  size,
size_t  nthreads,
Func  fn 
)

◆ 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.

◆ SketchOnDMatrix()

HistogramCuts xgboost::common::SketchOnDMatrix ( DMatrix m,
int32_t  max_bins 
)
inline

◆ 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()

template<typename GradientSumT >
void xgboost::common::SubtractionHist ( GHistRow< GradientSumT >  dst,
const GHistRow< GradientSumT >  src1,
const GHistRow< GradientSumT >  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

◆ WeightedSamplingWithoutReplacement()

template<typename T >
std::vector<T> xgboost::common::WeightedSamplingWithoutReplacement ( std::vector< T > const &  array,
std::vector< float > const &  weights,
size_t  n 
)

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

◆ kEulerMascheroni

constexpr double xgboost::common::kEulerMascheroni = 0.57721566490153286060651209008240243104215933593992

The Euler-Mascheroni_constant.

◆ kPI

constexpr double xgboost::common::kPI = 3.14159265358979323846

Constant PI.