Fix rmm build (#7973)

- Optionally switch to c++17
- Use rmm CMake target.
- Workaround compiler errors.
- Fix GPUMetric inheritance.
- Run death tests even if it's built with RMM support.

Co-authored-by: jakirkham <jakirkham@gmail.com>
This commit is contained in:
Jiaming Yuan
2022-06-06 20:18:32 +08:00
committed by GitHub
parent 1ced638165
commit d48123d23b
9 changed files with 75 additions and 66 deletions

View File

@@ -130,12 +130,12 @@ void MetaInfo::SetInfoFromCUDA(Context const&, StringView key, Json array) {
}
// uint info
if (key == "group") {
auto array_interface{ArrayInterface<1>(array)};
ArrayInterface<1> array_interface{array};
CopyGroupInfoImpl(array_interface, &group_ptr_);
data::ValidateQueryGroup(group_ptr_);
return;
} else if (key == "qid") {
auto array_interface{ArrayInterface<1>(array)};
ArrayInterface<1> array_interface{array};
CopyQidImpl(array_interface, &group_ptr_);
data::ValidateQueryGroup(group_ptr_);
return;

View File

@@ -1,5 +1,5 @@
/*!
* Copyright 2018-2020 by Contributors
* Copyright 2018-2022 by Contributors
* \file metric_common.h
*/
#ifndef XGBOOST_METRIC_METRIC_COMMON_H_
@@ -9,6 +9,7 @@
#include <string>
#include "../common/common.h"
#include "xgboost/metric.h"
namespace xgboost {

View File

@@ -27,7 +27,7 @@ DMLC_REGISTRY_FILE_TAG(rank_metric_gpu);
/*! \brief Evaluate rank list on GPU */
template <typename EvalMetricT>
struct EvalRankGpu : public Metric, public EvalRankConfig {
struct EvalRankGpu : public GPUMetric, public EvalRankConfig {
public:
double Eval(const HostDeviceVector<bst_float> &preds, const MetaInfo &info,
bool distributed) override {