#include "caffe2/mpi/mpi_ops.h" namespace caffe2 { OPERATOR_SCHEMA(MPICreateCommonWorld) .NumInputs(0) .NumOutputs(1); OPERATOR_SCHEMA(MPIBroadcast) .NumInputs(2) .NumOutputs(1) .EnforceInplace({{1, 0}}); OPERATOR_SCHEMA(MPIReduce) .NumInputs(2) .NumOutputs(1); OPERATOR_SCHEMA(MPIAllgather) .NumInputs(2) .NumOutputs(1); OPERATOR_SCHEMA(MPIAllreduce) .NumInputs(2) .NumOutputs(1) .AllowInplace({{1, 0}}); OPERATOR_SCHEMA(MPISendTensor); OPERATOR_SCHEMA(MPIReceiveTensor); REGISTER_CPU_OPERATOR(MPICreateCommonWorld, MPICreateCommonWorldOp); REGISTER_CPU_OPERATOR(MPIBroadcast, MPIBroadcastOp); REGISTER_CPU_OPERATOR(MPIReduce, MPIReduceOp); REGISTER_CPU_OPERATOR(MPIAllgather, MPIAllgatherOp); REGISTER_CPU_OPERATOR(MPIAllreduce, MPIAllreduceOp); REGISTER_CPU_OPERATOR(MPISendTensor, MPISendTensorOp); REGISTER_CPU_OPERATOR(MPIReceiveTensor, MPIReceiveTensorOp); } // namespace caffe2