pub unsafe fn subgroup_clustered_f_min<const CLUSTER_SIZE: u32, I: VectorOrScalar<Scalar = impl Float>>(
value: I,
) -> I
Expand description
A floating point minimum group operation of all value
operands contributed by active invocations in the group.
Result Type must be a scalar or vector of floating-point type.
Execution is a Scope that identifies the group of invocations affected by this command. It must be Subgroup.
The identity I for Operation is +INF. If Operation is ClusteredReduce, ClusterSize
must be present.
The type of value
must be the same as Result Type. The method used to perform the group operation on the contributed Value(s) from active invocations is implementation defined. From the set of Value(s) provided by active invocations within a subgroup, if for any two Values one of them is a NaN, the other is chosen. If all Value(s) that are used by the current invocation are NaN, then the result is an undefined value.
ClusterSize
is the size of cluster to use. ClusterSize
must be a scalar of integer type, whose Signedness operand is 0. ClusterSize
must come from a constant instruction. Behavior is undefined unless ClusterSize
is at least 1 and a power of 2. If ClusterSize
is greater than the size of the group, executing this instruction results in undefined behavior.
Requires Capability GroupNonUniformArithmetic
and GroupNonUniformClustered
.
ยงSafety
ClusterSize
must not be greater than the size of the group