Skip to content

Conversation

@davidwendt
Copy link
Contributor

Description

Fixes the DeviceMin and DeviceMax default device operators to use cudf::detail::min and cudf::detail::max utilities instead of numeric::detail::min and numeric::detail:max since DeviceMin and DeviceMax are used for non-numeric types like strings as well as numerics.
This also better works around the 13.1 compiler bug where the DeviceMin/numeric::detail::min returned the incorrect result for cudf::string_view arguments.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@davidwendt davidwendt self-assigned this Jan 21, 2026
@davidwendt davidwendt added 3 - Ready for Review Ready for review by team libcudf Affects libcudf (C++/CUDA) code. improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Jan 21, 2026
@copy-pr-bot
Copy link

copy-pr-bot bot commented Jan 21, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@davidwendt
Copy link
Contributor Author

/ok to test

val_index = j;
val = element;
}
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The above work around is no longer needed with the change to DeviceMin/DeviceMax.

}
}
val = agg_op(element, val);
if (val.data() == element.data()) { val_index = j; }
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comparing data() pointers is faster especially when the strings do not match.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 - Ready for Review Ready for review by team improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant