Avoid thrust vector initialization. (#10544)

* Avoid thrust vector initialization.

- Add a wrapper for rmm device uvector.
- Split up the `Resize` method for HDV.
This commit is contained in:
Jiaming Yuan
2024-07-11 17:29:27 +08:00
committed by GitHub
parent 89da9f9741
commit 1ca4bfd20e
13 changed files with 510 additions and 291 deletions

View File

@@ -1,15 +1,14 @@
// Copyright (c) 2019 by Contributors
/**
* Copyright 2019-2024, XGBoost Contributors
*/
#include <gtest/gtest.h>
#include <thrust/device_vector.h>
#include <thrust/execution_policy.h> // for device
#include <thrust/sequence.h> // for sequence
#include <xgboost/data.h>
#include <xgboost/json.h>
#include <thrust/device_vector.h>
#include <memory>
#include "../../../src/common/bitfield.h"
#include "../../../src/common/device_helpers.cuh"
namespace xgboost {
template <typename T>
Json GenerateDenseColumn(std::string const& typestr, size_t kRows,
thrust::device_vector<T>* out_d_data) {