cudf
cudf copied to clipboard
The segmented_sort.cu logic should use is_relationally_comparable
There are some inconsistencies in the sort logic used by sort_column.cu
and segmented_sort.cu
both use a radix-sort optimization but apply different logic for handling nulls and fixed-width types. Overall the logic should match to provide predictable results. One such occurrence appears in #11630 where NaNs are handled incorrectly. This logic was already correct in the sort_column.cu
implementation.
Upon fixing #11630 in #11703 we found other discrepancies like handling of fixed-point types. It also appears that chrono-types are not handled in the same was as well.
Using the is_relationally_comparable
trait should help align these two implementations after #11703 is merged.
Additional reference: https://github.com/rapidsai/cudf/pull/11703#issuecomment-1253674563