Initial support for column-wise data split (#8468)

This commit is contained in:
Rong Ou
2022-12-03 09:37:51 -08:00
committed by GitHub
parent c0609b98f1
commit 78d65a1928
8 changed files with 135 additions and 3 deletions

View File

@@ -112,6 +112,9 @@ class MetaInfo {
void Validate(int32_t device) const;
MetaInfo Slice(common::Span<int32_t const> ridxs) const;
MetaInfo Copy() const;
/*!
* \brief Get weight of each instances.
* \param i Instance index.
@@ -620,6 +623,15 @@ class DMatrix {
virtual DMatrix *Slice(common::Span<int32_t const> ridxs) = 0;
/**
* \brief Slice a DMatrix by columns.
*
* @param start The position of the first column
* @param size The number of columns in the slice
* @return DMatrix containing the slice of columns
*/
virtual DMatrix *SliceCol(std::size_t start, std::size_t size) = 0;
protected:
virtual BatchSet<SparsePage> GetRowBatches() = 0;
virtual BatchSet<CSCPage> GetColumnBatches() = 0;