MNN/source/backend/vulkan/execution/VulkanConvolutionImpl.hpp

31 lines
1.2 KiB
C++
Raw Normal View History

2019-04-17 10:49:11 +08:00
//
// VulkanConvolutionImpl.hpp
// MNN
//
// Created by MNN on 2019/01/31.
// Copyright © 2018, Alibaba Group Holding Limited
//
#ifndef VulkanConvolutionImpl_hpp
#define VulkanConvolutionImpl_hpp
2019-12-27 22:16:57 +08:00
#include "backend/vulkan/execution/VulkanBasicExecution.hpp"
2019-04-17 10:49:11 +08:00
namespace MNN {
class VulkanConvolutionImpl {
public:
virtual ~VulkanConvolutionImpl() {
}
template <typename T>
static void MNNReorderWeight(float* reorderedWeight, const T* srcWeight, int ci, int co, int kh, int kw,
int uint = 4);
static std::shared_ptr<VulkanBuffer> createBufferForSlideWindow(const VulkanBackend* backend,
const Convolution2DCommon* convOption,
const float* weightPtr, int ci, int co);
static VulkanBasicExecution* create(VulkanBackend* backend, const Convolution2DCommon* convOption,
2019-04-17 10:49:11 +08:00
const Tensor* input, const Tensor* output, const float* weightPtr,
const float* biasPtr, int ci, int co);
};
} // namespace MNN
#endif /* VulkanConvolutionImpl_hpp */