49 #ifndef XGBOOST_HOST_DEVICE_VECTOR_H_ 50 #define XGBOOST_HOST_DEVICE_VECTOR_H_ 52 #include <initializer_list> 54 #include <type_traits> 63 void SetCudaSetDeviceHandler(
void (*handler)(
int));
87 static_assert(std::is_standard_layout<T>::value,
"HostDeviceVector admits only POD types");
120 void Copy(
const std::vector<T>& other);
121 void Copy(std::initializer_list<T> other);
137 void Resize(
size_t new_size, T v = T());
147 #endif // XGBOOST_HOST_DEVICE_VECTOR_H_ void Copy(const HostDeviceVector< T > &other)
bst_float value_type
Definition: host_device_vector.h:139
HostDeviceVector< T > & operator=(const HostDeviceVector< T > &)=delete
const T * DevicePointer() const
Definition: host_device_vector.h:109
Definition: host_device_vector.h:86
GPUAccess DeviceAccess() const
bool Empty() const
Definition: host_device_vector.h:101
T * HostPointer()
Definition: host_device_vector.h:111
const T * HostPointer() const
Definition: host_device_vector.h:116
common::Span< const T > ConstDeviceSpan() const
const T * ConstHostPointer() const
Definition: host_device_vector.h:115
const std::vector< T > & HostVector() const
Definition: host_device_vector.h:127
span class implementation, based on ISO++20 span<T>. The interface should be the same.
Definition: span.h:126
Definition: host_device_vector.h:80
Definition: host_device_vector.h:66
Definition: host_device_vector.h:82
common::Span< T const > HostSpan() const
Definition: host_device_vector.h:113
const T * ConstDevicePointer() const
common::Span< const T > DeviceSpan() const
Definition: host_device_vector.h:106
Definition: host_device_vector.h:80
common::Span< T > DeviceSpan()
HostDeviceVector(size_t size=0, T v=T(), int device=-1)
void SetDevice(int device) const
std::vector< T > & HostVector()
void Extend(const HostDeviceVector< T > &other)
namespace of xgboost
Definition: base.h:102
const std::vector< T > & ConstHostVector() const
GPUAccess
Controls data access from the GPU.
Definition: host_device_vector.h:79
bool HostCanWrite() const
void Resize(size_t new_size, T v=T())
bool DeviceCanRead() const
bool DeviceCanWrite() const
common::Span< T > HostSpan()
Definition: host_device_vector.h:112
common::Span< T const > ConstHostSpan() const
Definition: host_device_vector.h:114