/*! Copyright 2019 by Contributors */ #include #include #include #include #include "../../../src/common/device_helpers.cuh" namespace xgboost { template std::string PrepareData(std::string typestr, thrust::device_vector* out) { constexpr size_t kRows = 16; out->resize(kRows); auto& d_data = *out; for (size_t i = 0; i < d_data.size(); ++i) { d_data[i] = i * 2.0; } Json column { Object() }; std::vector j_shape {Json(Integer(static_cast(kRows)))}; column["shape"] = Array(j_shape); column["strides"] = Array(std::vector{Json(Integer(static_cast(4)))}); column["version"] = Integer(static_cast(1)); column["typestr"] = String(typestr); auto p_d_data = dh::Raw(d_data); std::vector j_data { Json(Integer(reinterpret_cast(p_d_data))), Json(Boolean(false))}; column["data"] = j_data; std::stringstream ss; Json::Dump(column, &ss); std::string str = ss.str(); return str; } TEST(MetaInfo, FromInterface) { cudaSetDevice(0); thrust::device_vector d_data; std::string str = PrepareData(" d_data; std::string str = PrepareData("