summaryrefslogtreecommitdiff
path: root/src/routines
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2018-05-17 09:23:28 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2018-05-17 09:23:28 +0100
commite057a9186a1ed0a169fcf4db7a2598d08f530834 (patch)
treeca9a9f8283e50c9676d4c167390ce0a90eb05793 /src/routines
parent0cb95800424273e56740d3b23cef53e740eab9b5 (diff)
First version of direct reading from image tensor for convgemm: only for edge cases now
Diffstat (limited to 'src/routines')
-rw-r--r--src/routines/levelx/xconvgemm.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/routines/levelx/xconvgemm.cpp b/src/routines/levelx/xconvgemm.cpp
index 8cb8093c..23335261 100644
--- a/src/routines/levelx/xconvgemm.cpp
+++ b/src/routines/levelx/xconvgemm.cpp
@@ -117,6 +117,21 @@ void Xconvgemm<T>::DoConvgemm(const size_t channels, const size_t height, const
kernel.SetArgument(8, result_buffer());
kernel.SetArgument(9, static_cast<int>(result_offset));
kernel.SetArgument(10, static_cast<int>(result_stride));
+ kernel.SetArgument(11, static_cast<int>(height));
+ kernel.SetArgument(12, static_cast<int>(width));
+ kernel.SetArgument(13, static_cast<int>(channels));
+ kernel.SetArgument(14, static_cast<int>(kernel_h));
+ kernel.SetArgument(15, static_cast<int>(kernel_w));
+ kernel.SetArgument(16, static_cast<int>(pad_h));
+ kernel.SetArgument(17, static_cast<int>(pad_w));
+ kernel.SetArgument(18, static_cast<int>(stride_h));
+ kernel.SetArgument(19, static_cast<int>(stride_w));
+ kernel.SetArgument(20, static_cast<int>(dilation_h));
+ kernel.SetArgument(21, static_cast<int>(dilation_w));
+ kernel.SetArgument(22, im_buffer());
+ kernel.SetArgument(23, static_cast<int>(im_offset));
+ kernel.SetArgument(24, static_cast<int>(output_h));
+ kernel.SetArgument(25, static_cast<int>(output_w));
// Computes the global and local thread sizes
const auto m_ceiled = Ceil(num_patches, db_["WGD"]);