51
51
#include < cub/util_temporary_storage.cuh>
52
52
#include < cub/warp/warp_reduce.cuh>
53
53
54
+ #include < cuda/std/type_traits>
55
+
54
56
#include < iterator>
55
57
56
58
#include < nv/target>
@@ -476,16 +478,16 @@ using default_no_delay_t = default_no_delay_constructor_t::delay_t;
476
478
477
479
template <class T >
478
480
using default_delay_constructor_t =
479
- ::cuda::std::__conditional_t <Traits<T>::PRIMITIVE, fixed_delay_constructor_t <350 , 450 >, default_no_delay_constructor_t >;
481
+ ::cuda::std::_If <Traits<T>::PRIMITIVE, fixed_delay_constructor_t <350 , 450 >, default_no_delay_constructor_t >;
480
482
481
483
template <class T >
482
484
using default_delay_t = typename default_delay_constructor_t <T>::delay_t ;
483
485
484
486
template <class KeyT , class ValueT >
485
487
using default_reduce_by_key_delay_constructor_t =
486
- ::cuda::std::__conditional_t <(Traits<ValueT>::PRIMITIVE) && (sizeof (ValueT) + sizeof (KeyT) < 16 ),
487
- reduce_by_key_delay_constructor_t <350 , 450 >,
488
- default_delay_constructor_t <KeyValuePair<KeyT, ValueT>>>;
488
+ ::cuda::std::_If <(Traits<ValueT>::PRIMITIVE) && (sizeof (ValueT) + sizeof (KeyT) < 16 ),
489
+ reduce_by_key_delay_constructor_t <350 , 450 >,
490
+ default_delay_constructor_t <KeyValuePair<KeyT, ValueT>>>;
489
491
} // namespace detail
490
492
491
493
/* *
@@ -503,16 +505,13 @@ template <typename T>
503
505
struct ScanTileState <T, true >
504
506
{
505
507
// Status word type
506
- using StatusWord = ::cuda::std::__conditional_t <
508
+ using StatusWord = ::cuda::std::_If <
507
509
sizeof (T) == 8 ,
508
510
unsigned long long ,
509
- ::cuda::std::__conditional_t <sizeof (T) == 4 ,
510
- unsigned int ,
511
- ::cuda::std::__conditional_t <sizeof (T) == 2 , unsigned short , unsigned char >>>;
511
+ ::cuda::std::_If<sizeof (T) == 4 , unsigned int , ::cuda::std::_If<sizeof (T) == 2 , unsigned short , unsigned char >>>;
512
512
513
513
// Unit word type
514
- using TxnWord = ::cuda::std::
515
- __conditional_t <sizeof (T) == 8 , ulonglong2 , ::cuda::std::__conditional_t <sizeof (T) == 4 , uint2 , unsigned int >>;
514
+ using TxnWord = ::cuda::std::_If<sizeof (T) == 8 , ulonglong2 , ::cuda::std::_If<sizeof (T) == 4 , uint2 , unsigned int >>;
516
515
517
516
// Device word type
518
517
struct TileDescriptor
@@ -889,18 +888,15 @@ struct ReduceByKeyScanTileState<ValueT, KeyT, true>
889
888
};
890
889
891
890
// Status word type
892
- using StatusWord = ::cuda::std::__conditional_t <
891
+ using StatusWord = ::cuda::std::_If <
893
892
STATUS_WORD_SIZE == 8 ,
894
893
unsigned long long ,
895
- ::cuda::std::__conditional_t <STATUS_WORD_SIZE == 4 ,
896
- unsigned int ,
897
- ::cuda::std::__conditional_t <STATUS_WORD_SIZE == 2 , unsigned short , unsigned char >>>;
894
+ ::cuda::std::
895
+ _If<STATUS_WORD_SIZE == 4 , unsigned int , ::cuda::std::_If<STATUS_WORD_SIZE == 2 , unsigned short , unsigned char >>>;
898
896
899
897
// Status word type
900
- using TxnWord =
901
- ::cuda::std::__conditional_t <TXN_WORD_SIZE == 16 ,
902
- ulonglong2 ,
903
- ::cuda::std::__conditional_t <TXN_WORD_SIZE == 8 , unsigned long long , unsigned int >>;
898
+ using TxnWord = ::cuda::std::
899
+ _If<TXN_WORD_SIZE == 16 , ulonglong2 , ::cuda::std::_If<TXN_WORD_SIZE == 8 , unsigned long long , unsigned int >>;
904
900
905
901
// Device word type (for when sizeof(ValueT) == sizeof(KeyT))
906
902
struct TileDescriptorBigStatus
@@ -920,7 +916,7 @@ struct ReduceByKeyScanTileState<ValueT, KeyT, true>
920
916
921
917
// Device word type
922
918
using TileDescriptor =
923
- ::cuda::std::__conditional_t <sizeof (ValueT) == sizeof (KeyT), TileDescriptorBigStatus, TileDescriptorLittleStatus>;
919
+ ::cuda::std::_If <sizeof (ValueT) == sizeof (KeyT), TileDescriptorBigStatus, TileDescriptorLittleStatus>;
924
920
925
921
// Device storage
926
922
TxnWord* d_tile_descriptors;
0 commit comments