cub::TransformAsyncCopyPolicy#
-
struct TransformAsyncCopyPolicy#
The async copy sub-policy for TransformPolicy.
Public Functions
- inline friend ::std::ostream &operator<<(
- ::std::ostream &os,
- const TransformAsyncCopyPolicy &policy
Public Members
-
int threads_per_block#
Number of threads in a CUDA block.
-
int min_items_per_thread = 1#
Minimum number of items per thread (inclusive)
-
int max_items_per_thread = 32#
Maximum number of items per thread (inclusive)
-
int unroll_factor = 1#
The unroll factor for the transformation loop in the kernel.
The value 0 retains the compiler’s default unrolling (specifying no unroll pragma), 1 means no unrolling. This parameter has no effect when store vectorization is enabled (see
store_vec_size) and eligible at runtime (buffer alignments are sufficient).
-
int store_vec_size = 0#
Output elements per vectorized store; only used when algorithm == ublkcp.
0 = auto (16 / sizeof(output), a 16-byte STG.128); 1 disables vectorization (scalar stores) and compiles the vectorized branch out of the kernel.
Friends
- inline friend constexpr bool operator==(
- const TransformAsyncCopyPolicy &lhs,
- const TransformAsyncCopyPolicy &rhs
- inline friend constexpr bool operator!=(
- const TransformAsyncCopyPolicy &lhs,
- const TransformAsyncCopyPolicy &rhs