From 5f0c87eb8db94b68da94acece90b8bb1d619a086 Mon Sep 17 00:00:00 2001 From: Jiaming Yuan Date: Thu, 25 Jan 2024 13:53:12 +0800 Subject: [PATCH] Windows build. --- src/data/device_adapter.cuh | 8 +++----- src/data/ellpack_page.cu | 4 ++-- src/data/simple_dmatrix.cuh | 4 ++-- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/data/device_adapter.cuh b/src/data/device_adapter.cuh index 67ceb92f2163..a5156f585441 100644 --- a/src/data/device_adapter.cuh +++ b/src/data/device_adapter.cuh @@ -260,12 +260,10 @@ bool NoInfInData(AdapterBatchT const& batch, IsValidFunctor is_valid) { auto counting = thrust::make_counting_iterator(0llu); auto value_iter = dh::MakeTransformIterator(counting, [=] XGBOOST_DEVICE(std::size_t idx) { auto v = batch.GetElement(idx).value; - if (!is_valid(v)) { - // discard the invalid elements. - return true; + if (is_valid(v) && isinf(v)) { + return false; } - // check that there's no inf in data. - return !std::isinf(v); + return true; }); dh::XGBCachingDeviceAllocator alloc; // The default implementation in thrust optimizes any_of/none_of/all_of by using small diff --git a/src/data/ellpack_page.cu b/src/data/ellpack_page.cu index 44b9c8dd6c0b..c60fe83893bb 100644 --- a/src/data/ellpack_page.cu +++ b/src/data/ellpack_page.cu @@ -1,5 +1,5 @@ /** - * Copyright 2019-2023 by XGBoost contributors + * Copyright 2019-2024, XGBoost contributors */ #include #include @@ -13,7 +13,7 @@ #include "../common/hist_util.cuh" #include "../common/transform_iterator.h" // MakeIndexTransformIter #include "./ellpack_page.cuh" -#include "device_adapter.cuh" // for HasInfInData +#include "device_adapter.cuh" // for NoInfInData #include "ellpack_page.h" #include "gradient_index.h" #include "xgboost/data.h" diff --git a/src/data/simple_dmatrix.cuh b/src/data/simple_dmatrix.cuh index 47d736050930..528bea8be80a 100644 --- a/src/data/simple_dmatrix.cuh +++ b/src/data/simple_dmatrix.cuh @@ -1,5 +1,5 @@ /** - * Copyright 2019-2023 by XGBoost Contributors + * Copyright 2019-2024, XGBoost Contributors * \file simple_dmatrix.cuh */ #ifndef XGBOOST_DATA_SIMPLE_DMATRIX_CUH_ @@ -11,7 +11,7 @@ #include "../common/device_helpers.cuh" #include "../common/error_msg.h" // for InfInData -#include "device_adapter.cuh" // for HasInfInData +#include "device_adapter.cuh" // for NoInfInData namespace xgboost::data {