11using metal::CommandEncoder;
 
   16    const std::string& op_name,
 
   24    const std::string& op_name,
 
   26    const std::vector<int>& axes,
 
   34    const std::string& op_name,
 
   36    const std::vector<int>& axes,
 
void all_reduce_dispatch(const array &in, array &out, const std::string &op_name, CommandEncoder &compute_encoder, metal::Device &d, const Stream &s)
 
void strided_reduce_general_dispatch(const array &in, array &out, const std::string &op_name, const ReductionPlan &plan, const std::vector< int > &axes, CommandEncoder &compute_encoder, metal::Device &d, const Stream &s)
 
void row_reduce_general_dispatch(const array &in, array &out, const std::string &op_name, const ReductionPlan &plan, const std::vector< int > &axes, CommandEncoder &compute_encoder, metal::Device &d, const Stream &s)