Lines Matching defs:subgroupSize
150 unsigned subgroupSize;
154 getAndValidateClusterInfo(gpu::SubgroupReduceOp op, unsigned subgroupSize) {
155 assert(llvm::isPowerOf2_32(subgroupSize));
160 if (clusterSize && *clusterSize > subgroupSize)
163 << " is greater than subgroup size " << subgroupSize;
164 unsigned effectiveClusterSize = clusterSize.value_or(subgroupSize);
168 if (clusterStride >= subgroupSize)
171 << " is not less than subgroup size " << subgroupSize;
173 return ClusterInfo{clusterStride, effectiveClusterSize, subgroupSize};
181 /// the subgroup is `subgroupSize` lanes wide and divides it into clusters of
197 /*width=*/ci.subgroupSize,
212 ScalarSubgroupReduceToShuffles(MLIRContext *ctx, unsigned subgroupSize,
215 : OpRewritePattern(ctx, benefit), subgroupSize(subgroupSize),
228 auto ci = getAndValidateClusterInfo(op, subgroupSize);
271 unsigned subgroupSize = 0;
279 VectorSubgroupReduceToShuffles(MLIRContext *ctx, unsigned subgroupSize,
282 : OpRewritePattern(ctx, benefit), subgroupSize(subgroupSize),
295 auto ci = getAndValidateClusterInfo(op, subgroupSize);
361 unsigned subgroupSize = 0;
376 RewritePatternSet &patterns, unsigned subgroupSize,
379 patterns.getContext(), subgroupSize, shuffleBitwidth,
384 RewritePatternSet &patterns, unsigned subgroupSize,
387 patterns.getContext(), subgroupSize, shuffleBitwidth,