Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 12 for IslandOp (0.16 sec)

  1. tensorflow/compiler/mlir/tensorflow/translate/split_into_island_per_op_pass.cc

            llvm::isa<tf_executor::IslandOp>(graph_op.GetBody().front()))) {
        graph_op.emitError(
            "expected graph op to contain only a single island_op and a single "
            "fetch_op");
        signalPassFailure();
        return;
      }
    
      tf_executor::IslandOp island_op =
          dyn_cast<tf_executor::IslandOp>(graph_op.GetBody().front());
    
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Fri Mar 17 07:31:01 UTC 2023
    - 7.3K bytes
    - Viewed (0)
  2. tensorflow/compiler/mlir/tensorflow/transforms/update_control_dependencies.cc

      // We only call this function for island or fetch ops. The second pair of
      // parentheses is needed for successful compilation.
      assert((isa<IslandOp, FetchOp>(op)));
      mlir::MutableOperandRange mutable_control_inputs =
          isa<IslandOp>(op) ? cast<IslandOp>(op).getControlInputsMutable()
                            : cast<FetchOp>(op).getFetchesMutable();
      // Add control inputs in program order of the defining ops.
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Tue Jan 30 07:53:51 UTC 2024
    - 8.4K bytes
    - Viewed (0)
  3. tensorflow/compiler/mlir/tensorflow/transforms/graph_pruning.cc

      GraphPruningPass() = default;
      explicit GraphPruningPass(llvm::ArrayRef<std::string> ops_to_preserve);
      void runOnOperation() override;
    
     private:
      bool ShouldPreserveOp(Operation* op);
      bool ShouldPreserveIsland(IslandOp island);
      void PruneGraph(GraphOp graph);
    
      llvm::SmallDenseSet<mlir::StringAttr, 4> ops_to_preserve_ids_;
    };
    
    // Checks if a tf_executor.Graph can be pruned.
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Wed Oct 05 23:50:19 UTC 2022
    - 7.6K bytes
    - Viewed (0)
  4. tensorflow/compiler/mlir/quantization/tensorflow/passes/merge_duplicate_resource_ops.cc

    #include "tensorflow/compiler/mlir/tensorflow/ir/tf_ops.h"
    
    namespace mlir {
    namespace quant {
    namespace {
    
    using ::mlir::tf_executor::GraphOp;
    using ::mlir::tf_executor::IslandOp;
    
    constexpr StringRef kSharedNameAttr = "shared_name";
    
    class MergeDuplicateResourceOpsPass
        : public PassWrapper<MergeDuplicateResourceOpsPass,
                             OperationPass<func::FuncOp>> {
     public:
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Fri May 26 04:26:16 UTC 2023
    - 4.7K bytes
    - Viewed (0)
  5. tensorflow/compiler/mlir/tensorflow/transforms/executor_tpuv1_outline_tpu_island.cc

      SymbolTable outlined_symbol_table(outlined_module);
    
      // Find every island that contains a TPU node and extract it into a new module
      // to run the V1 bridge there.
      llvm::SmallVector<IslandOp, 8> islands_to_outline;
      getOperation().walk([&](IslandOp island_op) {
        auto parent_func = island_op->getParentOfType<func::FuncOp>();
        auto skip_island_outlining =
            parent_func->getAttrOfType<BoolAttr>(mlir::TF::kSkipIslandOutlining);
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 8.7K bytes
    - Viewed (0)
  6. tensorflow/compiler/mlir/tensorflow/translate/split_into_island_per_op_pass.h

    #include "tensorflow/compiler/mlir/tensorflow/ir/tf_executor.h"
    
    namespace mlir {
    namespace TF {
    
    // Converts a single island into multiple islands (one for each op).
    void SplitIsland(mlir::tf_executor::IslandOp island_op,
                     mlir::tf_executor::ControlType control_type);
    
    }  // namespace TF
    }  // namespace mlir
    
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Mon Dec 19 21:44:14 UTC 2022
    - 1.2K bytes
    - Viewed (0)
  7. tensorflow/compiler/mlir/tensorflow/transforms/launch_to_device_attribute.cc

        // violate the invariant imposed by the GraphExport pipeline that every
        // IslandOp perfectly wraps a single op.
        auto control_type =
            mlir::tf_executor::ControlType::get(tf_dialect->getContext());
        getOperation().walk(
            [&control_type](mlir::tf_executor::IslandOp curr_island) {
              mlir::TF::SplitIsland(curr_island, control_type);
            });
      }
    }
    
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 5.5K bytes
    - Viewed (0)
  8. tensorflow/compiler/mlir/tensorflow/transforms/tf_executor_to_functional.cc

      auto graph_position = graph.getOperation()->getIterator();
      Block* parent_block = graph.getOperation()->getBlock();
      for (Operation& op : graph.GetBody().without_terminator()) {
        auto island_op = llvm::dyn_cast<tf_executor::IslandOp>(op);
        if (!island_op)
          return op.emitOpError()
                 << "is not supported for lifting out of tf_executor.graph, "
                    "expected tf_executor.island";
    
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Fri Aug 11 20:52:36 UTC 2023
    - 3.4K bytes
    - Viewed (0)
  9. tensorflow/compiler/mlir/tensorflow/analysis/tf_dataflow.h

              auto result = graph.getResult(arg.getOperandNumber());
              this->join(getLatticeElement(result), *getLatticeElement(arg.get()));
            }
          }
        } else if (auto island = dyn_cast<tf_executor::IslandOp>(op)) {
          for (auto &arg : island.GetYield()->getOpOperands()) {
            auto result = island.getResult(arg.getOperandNumber());
            this->join(getLatticeElement(result), *getLatticeElement(arg.get()));
          }
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Wed Mar 06 23:53:00 UTC 2024
    - 3.9K bytes
    - Viewed (0)
  10. tensorflow/compiler/mlir/tensorflow/transforms/tpu_colocate_splits.cc

      for (Value operand : op->getOperands()) {
        if (Operation* pred = operand.getDefiningOp()) {
          int result_number = llvm::cast<OpResult>(operand).getResultNumber();
          if (auto pred_island = llvm::dyn_cast<tf_executor::IslandOp>(pred)) {
            Value yield_operand = pred_island.GetYield().getOperand(result_number);
            predecessors.push_back(yield_operand.getDefiningOp());
          }
        }
      }
      return predecessors;
    }
    
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 27 18:44:34 UTC 2023
    - 2.8K bytes
    - Viewed (0)
Back to top