Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Output arg modifier return maybe part_0 #5447

Merged
merged 4 commits into from
Jul 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion oneflow/core/framework/user_op_registry.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ using InputArgModifyFn = std::function<void(GetInputArgModifier, const UserOpCon
using OutputArgModifier = OutputBlobModifier;
using GetOutputArgModifier =
std::function<OutputArgModifier*(const std::string& out_arg_name, int32_t out_arg_index)>;
using OutputArgModifyFn = std::function<void(GetOutputArgModifier, const UserOpConfWrapper&)>;
using OutputArgModifyFn =
std::function<Maybe<void>(GetOutputArgModifier, const UserOpConfWrapper&)>;
using OutputBlobTimeShapeInferFn = std::function<Maybe<void>(InferOutputBlobTimeShapeFnContext*)>;
using ParallelDistributionInferFn = std::function<Maybe<void>(InferParallelDistributionFnContext*)>;

Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/acc_tick_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@ Maybe<void> InferBlobDescs(const std::function<BlobDesc*(const std::string&)>& G

} // namespace

void AccTickOp::InitFromOpConf() {
Maybe<void> AccTickOp::InitFromOpConf() {
CHECK(op_conf().has_acc_tick_conf());

EnrollInputBn("one", false);
EnrollOutputBn("acc", false);
return Maybe<void>::Ok();
}

Maybe<void> AccTickOp::InferLogicalOutBlobDescs(
Expand Down
2 changes: 1 addition & 1 deletion oneflow/core/operator/acc_tick_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class AccTickOp final : public Operator {
AccTickOp() = default;
~AccTickOp() = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;

Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
Expand Down
5 changes: 3 additions & 2 deletions oneflow/core/operator/assign_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class AssignOp final : public Operator {
AssignOp() = default;
~AssignOp() override = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override;
Expand All @@ -37,10 +37,11 @@ class AssignOp final : public Operator {
cfg::SbpSignatureList* sbp_sig_list) const override;
};

void AssignOp::InitFromOpConf() {
Maybe<void> AssignOp::InitFromOpConf() {
CHECK(op_conf().has_assign_conf());
EnrollInputBn("ref")->set_is_mutable(true);
EnrollInputBn("value");
return Maybe<void>::Ok();
}

std::string DebugString(const BlobDesc& blob_desc) {
Expand Down
5 changes: 3 additions & 2 deletions oneflow/core/operator/boxing_identity_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class BoxingIdentityOp : public Operator {
BoxingIdentityOp() = default;
~BoxingIdentityOp() override = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override {
Expand All @@ -40,9 +40,10 @@ class BoxingIdentityOp : public Operator {
LogicalBlobId lbi4obn(const std::string& output_bn) const override;
};

void BoxingIdentityOp::InitFromOpConf() {
Maybe<void> BoxingIdentityOp::InitFromOpConf() {
EnrollInputBn("in", false);
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

LogicalBlobId BoxingIdentityOp::lbi4ibn(const std::string& input_bn) const {
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/boxing_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ void BoxingOp::VirtualGenKernelConf(
EraseEmptyBnInVec(GetBlobDesc4BnInOp, op_attribute->mutable_output_bns());
}

void BoxingOp::InitFromOpConf() {
Maybe<void> BoxingOp::InitFromOpConf() {
CHECK(op_conf().has_boxing_conf());
const BoxingOpConf& boxing_conf = op_conf().boxing_conf();

Expand All @@ -56,6 +56,7 @@ void BoxingOp::InitFromOpConf() {
for (int32_t i = 0; i < boxing_conf.out_num(); ++i) {
EnrollOutputBn("out_" + std::to_string(i), false);
}
return Maybe<void>::Ok();
}

LogicalBlobId BoxingOp::lbi4ibn(const std::string& input_bn) const {
Expand Down
2 changes: 1 addition & 1 deletion oneflow/core/operator/boxing_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class BoxingOp final : public Operator {
BoxingOp() = default;
~BoxingOp() = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override;
Expand Down
7 changes: 5 additions & 2 deletions oneflow/core/operator/boxing_zeros_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class BoxingZerosOp : public Operator {
BoxingZerosOp() = default;
~BoxingZerosOp() override = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override {
Expand All @@ -39,7 +39,10 @@ class BoxingZerosOp : public Operator {
LogicalBlobId lbi4obn(const std::string& output_bn) const override;
};

void BoxingZerosOp::InitFromOpConf() { EnrollOutputBn("out", false); }
Maybe<void> BoxingZerosOp::InitFromOpConf() {
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

LogicalBlobId BoxingZerosOp::lbi4ibn(const std::string& input_bn) const {
return this->op_conf().boxing_zeros_conf().lbi();
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/broadcast_to_compatible_with_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,12 @@ class BroadcastToCompatibleWithOp final : public Operator {
BroadcastToCompatibleWithOp() = default;
~BroadcastToCompatibleWithOp() override = default;

void InitFromOpConf() {
Maybe<void> InitFromOpConf() {
CHECK(op_conf().has_broadcast_to_compatible_with_conf());
EnrollInputBn("x");
EnrollRepeatedInputBn("compatible", false);
EnrollOutputBn("y");
return Maybe<void>::Ok();
}

Maybe<void> InferLogicalOutBlobDescs(
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/callback_notify_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ limitations under the License.

namespace oneflow {

void CallbackNotifyOp::InitFromOpConf() {
Maybe<void> CallbackNotifyOp::InitFromOpConf() {
CHECK(op_conf().has_callback_notify_conf());
EnrollInputBn("in", false);
return Maybe<void>::Ok();
}

namespace {
Expand Down
2 changes: 1 addition & 1 deletion oneflow/core/operator/callback_notify_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class CallbackNotifyOp final : public Operator {
CallbackNotifyOp() = default;
~CallbackNotifyOp() = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override;
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/case_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ limitations under the License.

namespace oneflow {

void CaseOp::InitFromOpConf() {
Maybe<void> CaseOp::InitFromOpConf() {
EnrollInputBn("in", false);
EnrollRepeatedOutputBn("out", false);
return Maybe<void>::Ok();
}

namespace {
Expand Down
2 changes: 1 addition & 1 deletion oneflow/core/operator/case_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class CaseOp final : public Operator {
CaseOp() = default;
~CaseOp() override = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override;
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/collective_boxing_ops.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@ class CollectiveBoxingGenericOp : public Operator {
~CollectiveBoxingGenericOp() override = default;

private:
void InitFromOpConf() override {
Maybe<void> InitFromOpConf() override {
CHECK(op_conf().has_collective_boxing_generic_conf());
const RankDesc& rank_desc = op_conf().collective_boxing_generic_conf().rank_desc();
if (GenericOpHasInput(rank_desc)) { EnrollInputBn("in", false); }
if (GenericOpHasOutput(rank_desc)) { EnrollOutputBn("out", false); }
return Maybe<void>::Ok();
}

LogicalBlobId lbi4ibn(const std::string& input_bn) const override {
Expand Down
5 changes: 3 additions & 2 deletions oneflow/core/operator/collective_boxing_pack_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class CollectiveBoxingPackOp : public Operator {
CollectiveBoxingPackOp() = default;
~CollectiveBoxingPackOp() override = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;

Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
Expand All @@ -41,9 +41,10 @@ class CollectiveBoxingPackOp : public Operator {
LogicalBlobId lbi4obn(const std::string& output_bn) const override;
};

void CollectiveBoxingPackOp::InitFromOpConf() {
Maybe<void> CollectiveBoxingPackOp::InitFromOpConf() {
EnrollInputBn("in", false);
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

LogicalBlobId CollectiveBoxingPackOp::lbi4ibn(const std::string& input_bn) const {
Expand Down
5 changes: 3 additions & 2 deletions oneflow/core/operator/collective_boxing_unpack_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class CollectiveBoxingUnpackOp : public Operator {
CollectiveBoxingUnpackOp() = default;
~CollectiveBoxingUnpackOp() override = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;

Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
Expand All @@ -41,9 +41,10 @@ class CollectiveBoxingUnpackOp : public Operator {
LogicalBlobId lbi4obn(const std::string& output_bn) const override;
};

void CollectiveBoxingUnpackOp::InitFromOpConf() {
Maybe<void> CollectiveBoxingUnpackOp::InitFromOpConf() {
EnrollInputBn("in", false);
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

LogicalBlobId CollectiveBoxingUnpackOp::lbi4ibn(const std::string& input_bn) const {
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/constant_like_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,11 @@ class ConstantLikeOp final : public Operator {
ConstantLikeOp() = default;
~ConstantLikeOp() = default;

void InitFromOpConf() override {
Maybe<void> InitFromOpConf() override {
CHECK(op_conf().has_constant_like_conf());
EnrollInputBn("like", false);
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

Maybe<void> InferLogicalOutBlobDescs(
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/copy_comm_net_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ limitations under the License.

namespace oneflow {

void CopyCommNetOp::InitFromOpConf() {
Maybe<void> CopyCommNetOp::InitFromOpConf() {
EnrollInputBn("in", false);
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

LogicalBlobId CopyCommNetOp::lbi4obn(const std::string& output_bn) const {
Expand Down
2 changes: 1 addition & 1 deletion oneflow/core/operator/copy_comm_net_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class CopyCommNetOp final : public Operator {
CopyCommNetOp() = default;
~CopyCommNetOp() = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override {
Expand Down
5 changes: 3 additions & 2 deletions oneflow/core/operator/copy_hd_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class CopyHdOp final : public Operator {
CopyHdOp() = default;
~CopyHdOp() override = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override {
Expand All @@ -50,9 +50,10 @@ class CopyHdOp final : public Operator {
LogicalBlobId lbi4obn(const std::string& output_bn) const override;
};

void CopyHdOp::InitFromOpConf() {
Maybe<void> CopyHdOp::InitFromOpConf() {
EnrollInputBn("in", false);
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

Maybe<void> CopyHdOp::InferOutBlobDescs(
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/cwise_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@ limitations under the License.

namespace oneflow {

void CWiseOp::InitFromOpConf() {
Maybe<void> CWiseOp::InitFromOpConf() {
EnrollRepeatedInputBn("in");
EnrollOutputBn("out")->set_mutable_inplace_ibn("in_0");
VirtualInitFromOpConf();
return Maybe<void>::Ok();
}

Maybe<void> CWiseOp::InferLogicalOutBlobDescs(
Expand Down
2 changes: 1 addition & 1 deletion oneflow/core/operator/cwise_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class CWiseOp : public Operator {
CWiseOp() = default;
virtual ~CWiseOp() = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;

Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/decode_random_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@ limitations under the License.

namespace oneflow {

void DecodeRandomOp::InitFromOpConf() {
Maybe<void> DecodeRandomOp::InitFromOpConf() {
CHECK(op_conf().has_decode_random_conf());
if (op_conf().decode_random_conf().has_tick()) { EnrollInputBn("tick", false); }
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

void DecodeRandomOp::VirtualGenKernelConf(
Expand Down
2 changes: 1 addition & 1 deletion oneflow/core/operator/decode_random_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class DecodeRandomOp final : public Operator {
DecodeRandomOp() = default;
~DecodeRandomOp() = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;

Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
Expand Down
3 changes: 2 additions & 1 deletion oneflow/core/operator/device_tick_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,11 @@ limitations under the License.

namespace oneflow {

void DeviceTickOp::InitFromOpConf() {
Maybe<void> DeviceTickOp::InitFromOpConf() {
CHECK(op_conf().has_device_tick_conf());
EnrollRepeatedInputBn("tick", false);
EnrollOutputBn("out", false);
return Maybe<void>::Ok();
}

namespace {
Expand Down
2 changes: 1 addition & 1 deletion oneflow/core/operator/device_tick_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class DeviceTickOp final : public Operator {
DeviceTickOp() = default;
~DeviceTickOp() = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;
Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
const ParallelDesc& parallel_desc) const override;
Expand Down
5 changes: 3 additions & 2 deletions oneflow/core/operator/distribute_add_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class DistributeAddOp final : public Operator {
DistributeAddOp() = default;
~DistributeAddOp() = default;

void InitFromOpConf() override;
Maybe<void> InitFromOpConf() override;

Maybe<void> InferLogicalOutBlobDescs(
const std::function<BlobDesc*(const std::string&)>& BlobDesc4BnInOp,
Expand All @@ -45,11 +45,12 @@ class DistributeAddOp final : public Operator {
const ParallelDesc& parallel_desc) const override;
};

void DistributeAddOp::InitFromOpConf() {
Maybe<void> DistributeAddOp::InitFromOpConf() {
CHECK(op_conf().has_distribute_add_conf());

EnrollRepeatedInputBn("in");
EnrollOutputBn("out");
return Maybe<void>::Ok();
}

Maybe<void> DistributeAddOp::InferBlobParallelDesc() {
Expand Down
Loading