#pragma once
#include "megdnn/oprs/base.h"
#include "src/naive/pooling/opr_impl.h"
namespace megdnn {
namespace fallback {
class PoolingImpl : public naive::PoolingForwardImpl {
public:
using naive::PoolingForwardImpl::PoolingForwardImpl;
using Param = param::Pooling;
void exec(
_megdnn_tensor_in src, _megdnn_tensor_out dst,
_megdnn_workspace workspace) override;
private:
void exec_w3x3_s1x1(
_megdnn_tensor_in src, _megdnn_tensor_out dst, const Param& param);
void exec_w2x2_s2x2_int8(_megdnn_tensor_in src, _megdnn_tensor_out dst);
void exec_w2x2_s2x2_avg_int8(_megdnn_tensor_in src, _megdnn_tensor_out dst);
};
} }