Lines Matching defs:sharding
23 #define DEBUG_TYPE "sharding-interface"
142 // TODO: Deduce a reasonable mesh sharding attr for def when they are
145 "only support all shard ops have the same mesh sharding attr");
238 LLVM_DEBUG(DBGS() << "sharding option conflicts on loop iterator "
248 LLVM_DEBUG(DBGS() << "sharding option conflicts because mesh axes "
272 return op->emitOpError() << "invalid sharding interface implementation";
282 // 1. Fill sharding option based on op results
320 // 2. Fill sharding option based on operands
354 // difficult to infer which loop indices are responsible for sharding.
374 // 3. Finalize sharding option
403 // Get the sharding attributed for the given result and sharding option.
523 MeshSharding sharding =
525 maybeInsertTargetShardingAnnotation(sharding, result, b);
536 FailureOr<MeshSharding> sharding =
538 if (failed(sharding)) {
542 maybeInsertSourceShardingAnnotation(sharding.value(), opOperand, b);
580 MeshSharding sharding) {
582 return sharding && isFullReplication(sharding);
585 return !sharding;
645 for (auto [sharding, affineMap] :
647 if (!sharding) {
651 llvm::zip(sharding.getSplitAxes(), affineMap.getResults())) {
657 for (unsigned i = sharding.getSplitAxes().size();
709 for (auto [oldResult, newResult, sharding] :
713 getMesh(&op, sharding.getMeshAttr(), symbolTable), sharding));