Go to the documentation of this file.
4 #ifndef XGBOOST_COMMON_LINALG_OP_H_
5 #define XGBOOST_COMMON_LINALG_OP_H_
15 template <
typename T,
int32_t D,
typename Fn>
18 auto ptr = t.
Values().data();
22 auto& v = detail::Apply(t, linalg::UnravelIndex(i, t.Shape()));
28 template <
typename T,
int32_t D,
typename Fn>
30 static_assert(std::is_void<std::result_of_t<Fn(
size_t, T&)>>::value,
31 "For function with return, use transform instead.");
33 auto ptr = t.
Values().data();
37 auto& v = detail::Apply(t, linalg::UnravelIndex(i, t.Shape()));
43 #if !defined(XGBOOST_USE_CUDA)
44 template <
typename T,
int32_t D,
typename Fn>
49 template <
typename T,
int32_t D,
typename Fn>
54 template <
typename T,
int32_t D,
typename Fn>
61 #endif // !defined(XGBOOST_USE_CUDA)
64 #endif // XGBOOST_COMMON_LINALG_OP_H_
A tensor view with static type and dimension. It implements indexing and slicing.
Definition: linalg.h:244
LINALG_HD size_t Size() const
Number of items in the tensor.
Definition: linalg.h:467
void ElementWiseKernelDevice(linalg::TensorView< T, D > t, Fn &&fn, void *s=nullptr)
Definition: linalg_op.h:45
void ElementWiseKernel(GenericParameter const *ctx, linalg::TensorView< T, D > t, Fn &&fn)
Definition: linalg_op.h:55
Definition: generic_parameters.h:15
void ElementWiseTransformHost(linalg::TensorView< T, D > t, int32_t n_threads, Fn &&fn)
Definition: linalg_op.h:16
LINALG_HD auto Values() const -> decltype(data_) const &
Obtain a reference to the raw data.
Definition: linalg.h:497
void ElementWiseKernelHost(linalg::TensorView< T, D > t, int32_t n_threads, Fn &&fn)
Definition: linalg_op.h:29
void ParallelFor(Index size, int32_t n_threads, Sched sched, Func fn)
Definition: threading_utils.h:170
void AssertGPUSupport()
Definition: common.h:237
Linear algebra related utilities.
LINALG_HD bool Contiguous() const
Whether this is a contiguous array, both C and F contiguous returns true.
Definition: linalg.h:471
void ElementWiseTransformDevice(linalg::TensorView< T, D > t, Fn &&fn, void *s=nullptr)
Definition: linalg_op.h:50
bool IsCPU() const
Definition: generic_parameters.h:52
namespace of xgboost
Definition: base.h:110