Update types for CTK 13.3#12230
Conversation
| std::vector<decltype(mapping)::value_type> h_mapping(mapping.size()); | ||
| thrust::copy_n(dh::tcbegin(mapping), mapping.size(), h_mapping.begin()); | ||
| std::vector<decltype(new_enc.feature_segments)::value_type> h_feature_segments( | ||
| std::vector<std::int32_t> h_feature_segments( |
There was a problem hiding this comment.
IIUC new_enc is defined as DeviceColumnsView
xgboost/src/encoder/ordinal.cuh
Line 226 in a6d7c33
DeviceColumnsView is just shorthand for ColumnsViewImpl<DeviceCatIndexView>
Line 162 in a6d7c33
When looking at ColumnsViewImpl<DeviceCatIndexView>, it defines feature_segments as std::int32_t const. Think the const being passed to std::vector is what is causing the compilation error
Lines 124 to 131 in a6d7c33
Am curious, how is const being used here?
Edit: Providing more context on how I'm reading the code
There was a problem hiding this comment.
You could also try std::decay_t if you want to keep decltype and avoid hardcoding the type.
There was a problem hiding this comment.
IIUC the value_type is trying to remove const here:
xgboost/include/xgboost/span.h
Lines 435 to 438 in a6d7c33
Though that doesn't seem to be reflected in the compiler error we get.
|
Only C++ code was changed. So the Python lint issues should be unrelated. Recently scikit-learn released 1.9.0, so an upstream change may explain the Python test failure. In any case, these appear to be unrelated failures. |
|
Created a pr here: #12232 I think it's a bug in the compiler. |
| auto dispatch = enc::Overloaded{ | ||
| [this, f_idx, &h_columns_v, stream](enc::CatStrArrayView const& str) { | ||
| this->columns[f_idx].emplace<CatStrArray>(); | ||
| this->columns[f_idx].template emplace<CatStrArray>(); |
There was a problem hiding this comment.
Thanks Jiaming! 🙏
We still need these template lines too. Could you please add them in your PR?
|
Let me know if you want me to merge or you have more pending changes in mind. |
|
Thanks Jiaming! 🙏 These changes look reasonable to me. Nothing further to add. Please feel free to merge when you are ready. |
Fixes #12229
CUDA 13.3 builds fail due to...
templatefromemplacemethod calldecltypeof member value (inlined result)