forked from alibaba/MNN
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVulkanConvolutionImpl.hpp
More file actions
30 lines (27 loc) · 1.17 KB
/
Copy pathVulkanConvolutionImpl.hpp
File metadata and controls
30 lines (27 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//
// VulkanConvolutionImpl.hpp
// MNN
//
// Created by MNN on 2019/01/31.
// Copyright © 2018, Alibaba Group Holding Limited
//
#ifndef VulkanConvolutionImpl_hpp
#define VulkanConvolutionImpl_hpp
#include "VulkanBasicExecution.hpp"
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 std::shared_ptr<Execution> create(VulkanBackend* backend, const Convolution2DCommon* convOption,
const Tensor* input, const Tensor* output, const float* weightPtr,
const float* biasPtr, int ci, int co);
};
} // namespace MNN
#endif /* VulkanConvolutionImpl_hpp */