xgboost
Public Member Functions | List of all members
xgboost::HostDeviceVector< T > Class Template Reference

#include <host_device_vector.h>

Collaboration diagram for xgboost::HostDeviceVector< T >:
Collaboration graph

Public Member Functions

 HostDeviceVector (size_t size=0, T v=T(), const GPUDistribution &distribution=GPUDistribution())
 
 HostDeviceVector (std::initializer_list< T > init, const GPUDistribution &distribution=GPUDistribution())
 
 HostDeviceVector (const std::vector< T > &init, const GPUDistribution &distribution=GPUDistribution())
 
 ~HostDeviceVector ()
 
 HostDeviceVector (const HostDeviceVector< T > &)
 
HostDeviceVector< T > & operator= (const HostDeviceVector< T > &)
 
size_t Size () const
 
GPUSet Devices () const
 
const GPUDistributionDistribution () const
 
common::Span< T > DeviceSpan (int device)
 
common::Span< const T > ConstDeviceSpan (int device) const
 
common::Span< const T > DeviceSpan (int device) const
 
T * DevicePointer (int device)
 
const T * ConstDevicePointer (int device) const
 
const T * DevicePointer (int device) const
 
T * HostPointer ()
 
const T * ConstHostPointer () const
 
const T * HostPointer () const
 
size_t DeviceStart (int device) const
 
size_t DeviceSize (int device) const
 
void Fill (T v)
 
void Copy (const HostDeviceVector< T > &other)
 
void Copy (const std::vector< T > &other)
 
void Copy (std::initializer_list< T > other)
 
std::vector< T > & HostVector ()
 
const std::vector< T > & ConstHostVector () const
 
const std::vector< T > & HostVector () const
 
bool HostCanAccess (GPUAccess access) const
 
bool DeviceCanAccess (int device, GPUAccess access) const
 
void Shard (const GPUDistribution &distribution) const
 Specify memory distribution. More...
 
void Shard (GPUSet devices) const
 
void Reshard (const GPUDistribution &distribution)
 Change memory distribution. More...
 
void Resize (size_t new_size, T v=T())
 

Constructor & Destructor Documentation

◆ HostDeviceVector() [1/4]

template<typename T>
xgboost::HostDeviceVector< T >::HostDeviceVector ( size_t  size = 0,
v = T(),
const GPUDistribution distribution = GPUDistribution() 
)
explicit

◆ HostDeviceVector() [2/4]

template<typename T>
xgboost::HostDeviceVector< T >::HostDeviceVector ( std::initializer_list< T >  init,
const GPUDistribution distribution = GPUDistribution() 
)

◆ HostDeviceVector() [3/4]

template<typename T>
xgboost::HostDeviceVector< T >::HostDeviceVector ( const std::vector< T > &  init,
const GPUDistribution distribution = GPUDistribution() 
)
explicit

◆ ~HostDeviceVector()

template<typename T>
xgboost::HostDeviceVector< T >::~HostDeviceVector ( )

◆ HostDeviceVector() [4/4]

template<typename T>
xgboost::HostDeviceVector< T >::HostDeviceVector ( const HostDeviceVector< T > &  )

Member Function Documentation

◆ ConstDevicePointer()

template<typename T>
const T* xgboost::HostDeviceVector< T >::ConstDevicePointer ( int  device) const

◆ ConstDeviceSpan()

template<typename T>
common::Span<const T> xgboost::HostDeviceVector< T >::ConstDeviceSpan ( int  device) const

◆ ConstHostPointer()

template<typename T>
const T* xgboost::HostDeviceVector< T >::ConstHostPointer ( ) const
inline

◆ ConstHostVector()

template<typename T>
const std::vector<T>& xgboost::HostDeviceVector< T >::ConstHostVector ( ) const

◆ Copy() [1/3]

template<typename T>
void xgboost::HostDeviceVector< T >::Copy ( const HostDeviceVector< T > &  other)

◆ Copy() [2/3]

template<typename T>
void xgboost::HostDeviceVector< T >::Copy ( const std::vector< T > &  other)

◆ Copy() [3/3]

template<typename T>
void xgboost::HostDeviceVector< T >::Copy ( std::initializer_list< T >  other)

◆ DeviceCanAccess()

template<typename T>
bool xgboost::HostDeviceVector< T >::DeviceCanAccess ( int  device,
GPUAccess  access 
) const

◆ DevicePointer() [1/2]

template<typename T>
T* xgboost::HostDeviceVector< T >::DevicePointer ( int  device)

◆ DevicePointer() [2/2]

template<typename T>
const T* xgboost::HostDeviceVector< T >::DevicePointer ( int  device) const
inline

◆ Devices()

template<typename T>
GPUSet xgboost::HostDeviceVector< T >::Devices ( ) const

◆ DeviceSize()

template<typename T>
size_t xgboost::HostDeviceVector< T >::DeviceSize ( int  device) const

◆ DeviceSpan() [1/2]

template<typename T>
common::Span<T> xgboost::HostDeviceVector< T >::DeviceSpan ( int  device)

◆ DeviceSpan() [2/2]

template<typename T>
common::Span<const T> xgboost::HostDeviceVector< T >::DeviceSpan ( int  device) const
inline

◆ DeviceStart()

template<typename T>
size_t xgboost::HostDeviceVector< T >::DeviceStart ( int  device) const

◆ Distribution()

template<typename T>
const GPUDistribution& xgboost::HostDeviceVector< T >::Distribution ( ) const

◆ Fill()

template<typename T>
void xgboost::HostDeviceVector< T >::Fill ( v)

◆ HostCanAccess()

template<typename T>
bool xgboost::HostDeviceVector< T >::HostCanAccess ( GPUAccess  access) const

◆ HostPointer() [1/2]

template<typename T>
T* xgboost::HostDeviceVector< T >::HostPointer ( )
inline

◆ HostPointer() [2/2]

template<typename T>
const T* xgboost::HostDeviceVector< T >::HostPointer ( ) const
inline

◆ HostVector() [1/2]

template<typename T>
std::vector<T>& xgboost::HostDeviceVector< T >::HostVector ( )

◆ HostVector() [2/2]

template<typename T>
const std::vector<T>& xgboost::HostDeviceVector< T >::HostVector ( ) const
inline

◆ operator=()

template<typename T>
HostDeviceVector<T>& xgboost::HostDeviceVector< T >::operator= ( const HostDeviceVector< T > &  )

◆ Reshard()

template<typename T>
void xgboost::HostDeviceVector< T >::Reshard ( const GPUDistribution distribution)

Change memory distribution.

◆ Resize()

template<typename T>
void xgboost::HostDeviceVector< T >::Resize ( size_t  new_size,
v = T() 
)

◆ Shard() [1/2]

template<typename T>
void xgboost::HostDeviceVector< T >::Shard ( const GPUDistribution distribution) const

Specify memory distribution.

◆ Shard() [2/2]

template<typename T>
void xgboost::HostDeviceVector< T >::Shard ( GPUSet  devices) const

◆ Size()

template<typename T>
size_t xgboost::HostDeviceVector< T >::Size ( ) const

The documentation for this class was generated from the following file: