[arrayfire] 72/248: Added short and ushort support for CUDA backend
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Tue Nov 17 15:54:04 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch dfsg-clean
in repository arrayfire.
commit 50582e1b874c80dfc223a06e0b3d9f04a67355fe
Author: Shehzan Mohammed <shehzan at arrayfire.com>
Date: Tue Sep 22 17:46:51 2015 -0400
Added short and ushort support for CUDA backend
---
src/backend/opencl/Array.cpp | 2 ++
src/backend/opencl/all.cpp | 2 ++
src/backend/opencl/any.cpp | 2 ++
src/backend/opencl/assign.cpp | 6 ++++--
src/backend/opencl/bilateral.cpp | 2 ++
src/backend/opencl/convolve.cpp | 2 ++
src/backend/opencl/convolve_separable.cpp | 2 ++
src/backend/opencl/copy.cpp | 24 ++++++++++++++++------
src/backend/opencl/count.cpp | 2 ++
src/backend/opencl/diagonal.cpp | 2 ++
src/backend/opencl/diff.cpp | 2 ++
src/backend/opencl/dilate.cpp | 2 ++
src/backend/opencl/dilate3d.cpp | 2 ++
src/backend/opencl/erode.cpp | 2 ++
src/backend/opencl/erode3d.cpp | 2 ++
src/backend/opencl/fast.cpp | 2 ++
src/backend/opencl/fftconvolve.cpp | 2 ++
src/backend/opencl/histogram.cpp | 2 ++
src/backend/opencl/identity.cpp | 2 ++
src/backend/opencl/index.cpp | 6 ++++--
src/backend/opencl/iota.cpp | 2 ++
src/backend/opencl/ireduce.cpp | 4 ++++
src/backend/opencl/join.cpp | 4 ++++
src/backend/opencl/kernel/convolve/conv1.cpp | 2 ++
.../{dilate.cpp => kernel/convolve/conv2_s16.cpp} | 15 +++++++-------
.../{dilate.cpp => kernel/convolve/conv2_u16.cpp} | 15 +++++++-------
src/backend/opencl/kernel/convolve/conv3.cpp | 2 ++
src/backend/opencl/kernel/convolve_separable.cpp | 2 ++
src/backend/opencl/lookup.cpp | 4 ++++
src/backend/opencl/match_template.cpp | 2 ++
src/backend/opencl/max.cpp | 2 ++
src/backend/opencl/meanshift.cpp | 2 ++
src/backend/opencl/medfilt.cpp | 2 ++
src/backend/opencl/memory.cpp | 2 ++
src/backend/opencl/min.cpp | 2 ++
src/backend/opencl/nearest_neighbour.cpp | 2 ++
src/backend/opencl/product.cpp | 2 ++
src/backend/opencl/random.cpp | 2 ++
src/backend/opencl/range.cpp | 2 ++
src/backend/opencl/regions.cpp | 2 ++
src/backend/opencl/reorder.cpp | 2 ++
src/backend/opencl/resize.cpp | 2 ++
src/backend/opencl/rotate.cpp | 2 ++
src/backend/opencl/scan.cpp | 2 ++
src/backend/opencl/select.cpp | 2 ++
src/backend/opencl/set.cpp | 2 ++
src/backend/opencl/shift.cpp | 2 ++
src/backend/opencl/sobel.cpp | 2 ++
src/backend/opencl/sort.cpp | 2 ++
src/backend/opencl/sort_by_key/impl.hpp | 2 ++
.../opencl/{dilate.cpp => sort_by_key/s16.cpp} | 12 +++--------
.../opencl/{dilate.cpp => sort_by_key/u16.cpp} | 12 +++--------
src/backend/opencl/sort_index.cpp | 2 ++
src/backend/opencl/sum.cpp | 2 ++
src/backend/opencl/susan.cpp | 2 ++
src/backend/opencl/tile.cpp | 2 ++
src/backend/opencl/transform.cpp | 2 ++
src/backend/opencl/transpose.cpp | 2 ++
src/backend/opencl/transpose_inplace.cpp | 2 ++
src/backend/opencl/triangle.cpp | 2 ++
src/backend/opencl/types.cpp | 2 ++
src/backend/opencl/types.hpp | 1 +
src/backend/opencl/unwrap.cpp | 2 ++
src/backend/opencl/where.cpp | 2 ++
src/backend/opencl/wrap.cpp | 2 ++
test/fast.cpp | 2 +-
66 files changed, 170 insertions(+), 43 deletions(-)
diff --git a/src/backend/opencl/Array.cpp b/src/backend/opencl/Array.cpp
index 395f3c7..4498f07 100644
--- a/src/backend/opencl/Array.cpp
+++ b/src/backend/opencl/Array.cpp
@@ -323,5 +323,7 @@ namespace opencl
INSTANTIATE(char)
INSTANTIATE(intl)
INSTANTIATE(uintl)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/all.cpp b/src/backend/opencl/all.cpp
index 4f5c131..3c9513d 100644
--- a/src/backend/opencl/all.cpp
+++ b/src/backend/opencl/all.cpp
@@ -22,4 +22,6 @@ namespace opencl
INSTANTIATE(af_and_t, uintl , char)
INSTANTIATE(af_and_t, char , char)
INSTANTIATE(af_and_t, uchar , char)
+ INSTANTIATE(af_and_t, short , char)
+ INSTANTIATE(af_and_t, ushort , char)
}
diff --git a/src/backend/opencl/any.cpp b/src/backend/opencl/any.cpp
index ee8599d..e8c6de5 100644
--- a/src/backend/opencl/any.cpp
+++ b/src/backend/opencl/any.cpp
@@ -22,4 +22,6 @@ namespace opencl
INSTANTIATE(af_or_t, uintl , char)
INSTANTIATE(af_or_t, char , char)
INSTANTIATE(af_or_t, uchar , char)
+ INSTANTIATE(af_or_t, short , char)
+ INSTANTIATE(af_or_t, ushort , char)
}
diff --git a/src/backend/opencl/assign.cpp b/src/backend/opencl/assign.cpp
index 15d579d..903b59b 100644
--- a/src/backend/opencl/assign.cpp
+++ b/src/backend/opencl/assign.cpp
@@ -78,11 +78,13 @@ INSTANTIATE(cdouble)
INSTANTIATE(double )
INSTANTIATE(cfloat )
INSTANTIATE(float )
-INSTANTIATE(uintl )
+INSTANTIATE(int )
INSTANTIATE(uint )
INSTANTIATE(intl )
-INSTANTIATE(int )
+INSTANTIATE(uintl )
INSTANTIATE(uchar )
INSTANTIATE(char )
+INSTANTIATE(short )
+INSTANTIATE(ushort )
}
diff --git a/src/backend/opencl/bilateral.cpp b/src/backend/opencl/bilateral.cpp
index 1cd54d9..c1a42ac 100644
--- a/src/backend/opencl/bilateral.cpp
+++ b/src/backend/opencl/bilateral.cpp
@@ -37,5 +37,7 @@ INSTANTIATE(char , float)
INSTANTIATE(int , float)
INSTANTIATE(uint , float)
INSTANTIATE(uchar , float)
+INSTANTIATE(short , float)
+INSTANTIATE(ushort, float)
}
diff --git a/src/backend/opencl/convolve.cpp b/src/backend/opencl/convolve.cpp
index b800591..8ef425a 100644
--- a/src/backend/opencl/convolve.cpp
+++ b/src/backend/opencl/convolve.cpp
@@ -77,5 +77,7 @@ INSTANTIATE(uint , float)
INSTANTIATE(int , float)
INSTANTIATE(uchar , float)
INSTANTIATE(char , float)
+INSTANTIATE(ushort , float)
+INSTANTIATE(short , float)
}
diff --git a/src/backend/opencl/convolve_separable.cpp b/src/backend/opencl/convolve_separable.cpp
index fede1d7..68effb7 100644
--- a/src/backend/opencl/convolve_separable.cpp
+++ b/src/backend/opencl/convolve_separable.cpp
@@ -63,5 +63,7 @@ INSTANTIATE(uint , float)
INSTANTIATE(int , float)
INSTANTIATE(uchar , float)
INSTANTIATE(char , float)
+INSTANTIATE(short , float)
+INSTANTIATE(ushort , float)
}
diff --git a/src/backend/opencl/copy.cpp b/src/backend/opencl/copy.cpp
index 370b072..39cbf4b 100644
--- a/src/backend/opencl/copy.cpp
+++ b/src/backend/opencl/copy.cpp
@@ -141,6 +141,8 @@ namespace opencl
INSTANTIATE(char)
INSTANTIATE(intl)
INSTANTIATE(uintl)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
#define INSTANTIATE_PAD_ARRAY(SRC_T) \
template Array<float > padArray<SRC_T, float >(Array<SRC_T> const &src, dim4 const &dims, float default_value, double factor); \
@@ -149,8 +151,10 @@ namespace opencl
template Array<cdouble> padArray<SRC_T, cdouble>(Array<SRC_T> const &src, dim4 const &dims, cdouble default_value, double factor); \
template Array<int > padArray<SRC_T, int >(Array<SRC_T> const &src, dim4 const &dims, int default_value, double factor); \
template Array<uint > padArray<SRC_T, uint >(Array<SRC_T> const &src, dim4 const &dims, uint default_value, double factor); \
- template Array<intl > padArray<SRC_T, intl >(Array<SRC_T> const &src, dim4 const &dims, intl default_value, double factor); \
- template Array<uintl > padArray<SRC_T, uintl >(Array<SRC_T> const &src, dim4 const &dims, uintl default_value, double factor); \
+ template Array<intl > padArray<SRC_T, intl >(Array<SRC_T> const &src, dim4 const &dims, intl default_value, double factor); \
+ template Array<uintl > padArray<SRC_T, uintl >(Array<SRC_T> const &src, dim4 const &dims, uintl default_value, double factor); \
+ template Array<short > padArray<SRC_T, short >(Array<SRC_T> const &src, dim4 const &dims, short default_value, double factor); \
+ template Array<ushort > padArray<SRC_T, ushort >(Array<SRC_T> const &src, dim4 const &dims, ushort default_value, double factor); \
template Array<uchar > padArray<SRC_T, uchar >(Array<SRC_T> const &src, dim4 const &dims, uchar default_value, double factor); \
template Array<char > padArray<SRC_T, char >(Array<SRC_T> const &src, dim4 const &dims, char default_value, double factor); \
template void copyArray<SRC_T, float >(Array<float > &dst, Array<SRC_T> const &src); \
@@ -159,8 +163,10 @@ namespace opencl
template void copyArray<SRC_T, cdouble>(Array<cdouble> &dst, Array<SRC_T> const &src); \
template void copyArray<SRC_T, int >(Array<int > &dst, Array<SRC_T> const &src); \
template void copyArray<SRC_T, uint >(Array<uint > &dst, Array<SRC_T> const &src); \
- template void copyArray<SRC_T, intl >(Array<intl > &dst, Array<SRC_T> const &src); \
- template void copyArray<SRC_T, uintl >(Array<uintl > &dst, Array<SRC_T> const &src); \
+ template void copyArray<SRC_T, intl >(Array<intl > &dst, Array<SRC_T> const &src); \
+ template void copyArray<SRC_T, uintl >(Array<uintl > &dst, Array<SRC_T> const &src); \
+ template void copyArray<SRC_T, short >(Array<short > &dst, Array<SRC_T> const &src); \
+ template void copyArray<SRC_T, ushort >(Array<ushort > &dst, Array<SRC_T> const &src); \
template void copyArray<SRC_T, uchar >(Array<uchar > &dst, Array<SRC_T> const &src); \
template void copyArray<SRC_T, char >(Array<char > &dst, Array<SRC_T> const &src);
@@ -168,10 +174,12 @@ namespace opencl
INSTANTIATE_PAD_ARRAY(double)
INSTANTIATE_PAD_ARRAY(int )
INSTANTIATE_PAD_ARRAY(uint )
- INSTANTIATE_PAD_ARRAY(intl )
- INSTANTIATE_PAD_ARRAY(uintl )
+ INSTANTIATE_PAD_ARRAY(intl )
+ INSTANTIATE_PAD_ARRAY(uintl )
INSTANTIATE_PAD_ARRAY(uchar )
INSTANTIATE_PAD_ARRAY(char )
+ INSTANTIATE_PAD_ARRAY(short )
+ INSTANTIATE_PAD_ARRAY(ushort)
#define INSTANTIATE_PAD_ARRAY_COMPLEX(SRC_T) \
template Array<cfloat > padArray<SRC_T, cfloat >(Array<SRC_T> const &src, dim4 const &dims, cfloat default_value, double factor); \
@@ -196,6 +204,8 @@ namespace opencl
SPECILIAZE_UNUSED_COPYARRAY(cfloat, int)
SPECILIAZE_UNUSED_COPYARRAY(cfloat, intl)
SPECILIAZE_UNUSED_COPYARRAY(cfloat, uintl)
+ SPECILIAZE_UNUSED_COPYARRAY(cfloat, short)
+ SPECILIAZE_UNUSED_COPYARRAY(cfloat, ushort)
SPECILIAZE_UNUSED_COPYARRAY(cdouble, double)
SPECILIAZE_UNUSED_COPYARRAY(cdouble, float)
SPECILIAZE_UNUSED_COPYARRAY(cdouble, uchar)
@@ -204,5 +214,7 @@ namespace opencl
SPECILIAZE_UNUSED_COPYARRAY(cdouble, int)
SPECILIAZE_UNUSED_COPYARRAY(cdouble, intl)
SPECILIAZE_UNUSED_COPYARRAY(cdouble, uintl)
+ SPECILIAZE_UNUSED_COPYARRAY(cdouble, short)
+ SPECILIAZE_UNUSED_COPYARRAY(cdouble, ushort)
}
diff --git a/src/backend/opencl/count.cpp b/src/backend/opencl/count.cpp
index e5ad4bf..c116295 100644
--- a/src/backend/opencl/count.cpp
+++ b/src/backend/opencl/count.cpp
@@ -22,4 +22,6 @@ namespace opencl
INSTANTIATE(af_notzero_t, uintl , uint)
INSTANTIATE(af_notzero_t, char , uint)
INSTANTIATE(af_notzero_t, uchar , uint)
+ INSTANTIATE(af_notzero_t, short , uint)
+ INSTANTIATE(af_notzero_t, ushort , uint)
}
diff --git a/src/backend/opencl/diagonal.cpp b/src/backend/opencl/diagonal.cpp
index a6d3e2c..79cd758 100644
--- a/src/backend/opencl/diagonal.cpp
+++ b/src/backend/opencl/diagonal.cpp
@@ -57,5 +57,7 @@ namespace opencl
INSTANTIATE_DIAGONAL(uintl)
INSTANTIATE_DIAGONAL(char)
INSTANTIATE_DIAGONAL(uchar)
+ INSTANTIATE_DIAGONAL(short)
+ INSTANTIATE_DIAGONAL(ushort)
}
diff --git a/src/backend/opencl/diff.cpp b/src/backend/opencl/diff.cpp
index cfcd684..b466b8a 100644
--- a/src/backend/opencl/diff.cpp
+++ b/src/backend/opencl/diff.cpp
@@ -73,5 +73,7 @@ namespace opencl
INSTANTIATE(uchar)
INSTANTIATE(intl)
INSTANTIATE(uintl)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
INSTANTIATE(char)
}
diff --git a/src/backend/opencl/dilate.cpp b/src/backend/opencl/dilate.cpp
index fbc5b28..fff9f99 100644
--- a/src/backend/opencl/dilate.cpp
+++ b/src/backend/opencl/dilate.cpp
@@ -18,5 +18,7 @@ INSTANTIATE(char , true)
INSTANTIATE(int , true)
INSTANTIATE(uint , true)
INSTANTIATE(uchar , true)
+INSTANTIATE(short , true)
+INSTANTIATE(ushort, true)
}
diff --git a/src/backend/opencl/dilate3d.cpp b/src/backend/opencl/dilate3d.cpp
index 7c8898f..d519957 100644
--- a/src/backend/opencl/dilate3d.cpp
+++ b/src/backend/opencl/dilate3d.cpp
@@ -18,5 +18,7 @@ INSTANTIATE(char , true)
INSTANTIATE(int , true)
INSTANTIATE(uint , true)
INSTANTIATE(uchar , true)
+INSTANTIATE(short , true)
+INSTANTIATE(ushort, true)
}
diff --git a/src/backend/opencl/erode.cpp b/src/backend/opencl/erode.cpp
index bcb1579..1618802 100644
--- a/src/backend/opencl/erode.cpp
+++ b/src/backend/opencl/erode.cpp
@@ -18,5 +18,7 @@ INSTANTIATE(char , false)
INSTANTIATE(int , false)
INSTANTIATE(uint , false)
INSTANTIATE(uchar , false)
+INSTANTIATE(short , false)
+INSTANTIATE(ushort, false)
}
diff --git a/src/backend/opencl/erode3d.cpp b/src/backend/opencl/erode3d.cpp
index 71ee3fd..7ffb423 100644
--- a/src/backend/opencl/erode3d.cpp
+++ b/src/backend/opencl/erode3d.cpp
@@ -18,5 +18,7 @@ INSTANTIATE(char , false)
INSTANTIATE(int , false)
INSTANTIATE(uint , false)
INSTANTIATE(uchar , false)
+INSTANTIATE(short , false)
+INSTANTIATE(ushort, false)
}
diff --git a/src/backend/opencl/fast.cpp b/src/backend/opencl/fast.cpp
index 5af04a8..0813595 100644
--- a/src/backend/opencl/fast.cpp
+++ b/src/backend/opencl/fast.cpp
@@ -57,5 +57,7 @@ INSTANTIATE(char )
INSTANTIATE(int )
INSTANTIATE(uint )
INSTANTIATE(uchar )
+INSTANTIATE(short )
+INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/fftconvolve.cpp b/src/backend/opencl/fftconvolve.cpp
index d97f83a..e86f1d4 100644
--- a/src/backend/opencl/fftconvolve.cpp
+++ b/src/backend/opencl/fftconvolve.cpp
@@ -136,5 +136,7 @@ INSTANTIATE(uint , float, cfloat, false, true)
INSTANTIATE(int , float, cfloat, false, true)
INSTANTIATE(uchar , float, cfloat, false, true)
INSTANTIATE(char , float, cfloat, false, true)
+INSTANTIATE(ushort, float, cfloat, false, true)
+INSTANTIATE(short , float, cfloat, false, true)
}
diff --git a/src/backend/opencl/histogram.cpp b/src/backend/opencl/histogram.cpp
index fbae44f..75e191e 100644
--- a/src/backend/opencl/histogram.cpp
+++ b/src/backend/opencl/histogram.cpp
@@ -57,5 +57,7 @@ INSTANTIATE(char , uint)
INSTANTIATE(int , uint)
INSTANTIATE(uint , uint)
INSTANTIATE(uchar , uint)
+INSTANTIATE(short , uint)
+INSTANTIATE(ushort, uint)
}
diff --git a/src/backend/opencl/identity.cpp b/src/backend/opencl/identity.cpp
index dd64140..4f10a19 100644
--- a/src/backend/opencl/identity.cpp
+++ b/src/backend/opencl/identity.cpp
@@ -38,5 +38,7 @@ namespace opencl
INSTANTIATE_IDENTITY(uintl)
INSTANTIATE_IDENTITY(char)
INSTANTIATE_IDENTITY(uchar)
+ INSTANTIATE_IDENTITY(short)
+ INSTANTIATE_IDENTITY(ushort)
}
diff --git a/src/backend/opencl/index.cpp b/src/backend/opencl/index.cpp
index 33dc559..6502ee0 100644
--- a/src/backend/opencl/index.cpp
+++ b/src/backend/opencl/index.cpp
@@ -82,11 +82,13 @@ INSTANTIATE(cdouble)
INSTANTIATE(double )
INSTANTIATE(cfloat )
INSTANTIATE(float )
-INSTANTIATE(uintl )
+INSTANTIATE(int )
INSTANTIATE(uint )
INSTANTIATE(intl )
-INSTANTIATE(int )
+INSTANTIATE(uintl )
INSTANTIATE(uchar )
INSTANTIATE(char )
+INSTANTIATE(short )
+INSTANTIATE(ushort )
}
diff --git a/src/backend/opencl/iota.cpp b/src/backend/opencl/iota.cpp
index fb98bca..ac4408c 100644
--- a/src/backend/opencl/iota.cpp
+++ b/src/backend/opencl/iota.cpp
@@ -37,4 +37,6 @@ namespace opencl
INSTANTIATE(intl)
INSTANTIATE(uintl)
INSTANTIATE(uchar)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/ireduce.cpp b/src/backend/opencl/ireduce.cpp
index 698137c..e02c7e5 100644
--- a/src/backend/opencl/ireduce.cpp
+++ b/src/backend/opencl/ireduce.cpp
@@ -51,6 +51,8 @@ namespace opencl
INSTANTIATE(af_min_t, uintl )
INSTANTIATE(af_min_t, char )
INSTANTIATE(af_min_t, uchar )
+ INSTANTIATE(af_min_t, short )
+ INSTANTIATE(af_min_t, ushort )
//max
INSTANTIATE(af_max_t, float )
@@ -63,4 +65,6 @@ namespace opencl
INSTANTIATE(af_max_t, uintl )
INSTANTIATE(af_max_t, char )
INSTANTIATE(af_max_t, uchar )
+ INSTANTIATE(af_max_t, short )
+ INSTANTIATE(af_max_t, ushort )
}
diff --git a/src/backend/opencl/join.cpp b/src/backend/opencl/join.cpp
index a02fb2f..64a8aaa 100644
--- a/src/backend/opencl/join.cpp
+++ b/src/backend/opencl/join.cpp
@@ -179,6 +179,8 @@ namespace opencl
INSTANTIATE(uint, uint)
INSTANTIATE(intl, intl)
INSTANTIATE(uintl, uintl)
+ INSTANTIATE(short, short)
+ INSTANTIATE(ushort, ushort)
INSTANTIATE(uchar, uchar)
INSTANTIATE(char, char)
@@ -195,6 +197,8 @@ namespace opencl
INSTANTIATE(uint)
INSTANTIATE(intl)
INSTANTIATE(uintl)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
INSTANTIATE(uchar)
INSTANTIATE(char)
diff --git a/src/backend/opencl/kernel/convolve/conv1.cpp b/src/backend/opencl/kernel/convolve/conv1.cpp
index 7ac1123..fc3218c 100644
--- a/src/backend/opencl/kernel/convolve/conv1.cpp
+++ b/src/backend/opencl/kernel/convolve/conv1.cpp
@@ -62,6 +62,8 @@ INSTANTIATE(uint , float)
INSTANTIATE(int , float)
INSTANTIATE(uchar , float)
INSTANTIATE(char , float)
+INSTANTIATE(ushort , float)
+INSTANTIATE(short , float)
}
diff --git a/src/backend/opencl/dilate.cpp b/src/backend/opencl/kernel/convolve/conv2_s16.cpp
similarity index 66%
copy from src/backend/opencl/dilate.cpp
copy to src/backend/opencl/kernel/convolve/conv2_s16.cpp
index fbc5b28..66b6527 100644
--- a/src/backend/opencl/dilate.cpp
+++ b/src/backend/opencl/kernel/convolve/conv2_s16.cpp
@@ -7,16 +7,17 @@
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/
-#include "morph_impl.hpp"
+#include <kernel/convolve/conv2_impl.hpp>
namespace opencl
{
-INSTANTIATE(float , true)
-INSTANTIATE(double, true)
-INSTANTIATE(char , true)
-INSTANTIATE(int , true)
-INSTANTIATE(uint , true)
-INSTANTIATE(uchar , true)
+namespace kernel
+{
+
+INSTANTIATE(short, float)
}
+
+}
+
diff --git a/src/backend/opencl/dilate.cpp b/src/backend/opencl/kernel/convolve/conv2_u16.cpp
similarity index 66%
copy from src/backend/opencl/dilate.cpp
copy to src/backend/opencl/kernel/convolve/conv2_u16.cpp
index fbc5b28..419e1a6 100644
--- a/src/backend/opencl/dilate.cpp
+++ b/src/backend/opencl/kernel/convolve/conv2_u16.cpp
@@ -7,16 +7,17 @@
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/
-#include "morph_impl.hpp"
+#include <kernel/convolve/conv2_impl.hpp>
namespace opencl
{
-INSTANTIATE(float , true)
-INSTANTIATE(double, true)
-INSTANTIATE(char , true)
-INSTANTIATE(int , true)
-INSTANTIATE(uint , true)
-INSTANTIATE(uchar , true)
+namespace kernel
+{
+
+INSTANTIATE(ushort, float)
}
+
+}
+
diff --git a/src/backend/opencl/kernel/convolve/conv3.cpp b/src/backend/opencl/kernel/convolve/conv3.cpp
index 844a79f..18cd1b9 100644
--- a/src/backend/opencl/kernel/convolve/conv3.cpp
+++ b/src/backend/opencl/kernel/convolve/conv3.cpp
@@ -47,6 +47,8 @@ INSTANTIATE(uint , float)
INSTANTIATE(int , float)
INSTANTIATE(uchar , float)
INSTANTIATE(char , float)
+INSTANTIATE(ushort , float)
+INSTANTIATE(short , float)
}
diff --git a/src/backend/opencl/kernel/convolve_separable.cpp b/src/backend/opencl/kernel/convolve_separable.cpp
index e546cc4..c6dda6b 100644
--- a/src/backend/opencl/kernel/convolve_separable.cpp
+++ b/src/backend/opencl/kernel/convolve_separable.cpp
@@ -125,6 +125,8 @@ INSTANTIATE(uint , float)
INSTANTIATE(int , float)
INSTANTIATE(uchar , float)
INSTANTIATE(char , float)
+INSTANTIATE(ushort , float)
+INSTANTIATE(short , float)
}
diff --git a/src/backend/opencl/lookup.cpp b/src/backend/opencl/lookup.cpp
index e9dc4a3..b51305f 100644
--- a/src/backend/opencl/lookup.cpp
+++ b/src/backend/opencl/lookup.cpp
@@ -44,6 +44,8 @@ Array<in_t> lookup(const Array<in_t> &input, const Array<idx_t> &indices, const
template Array<T> lookup<T, double >(const Array<T> &input, const Array<double > &indices, const unsigned dim); \
template Array<T> lookup<T, int >(const Array<T> &input, const Array<int > &indices, const unsigned dim); \
template Array<T> lookup<T, unsigned>(const Array<T> &input, const Array<unsigned> &indices, const unsigned dim); \
+ template Array<T> lookup<T, short >(const Array<T> &input, const Array<short > &indices, const unsigned dim); \
+ template Array<T> lookup<T, ushort >(const Array<T> &input, const Array<ushort > &indices, const unsigned dim); \
template Array<T> lookup<T, uchar >(const Array<T> &input, const Array<uchar > &indices, const unsigned dim);
INSTANTIATE(float );
@@ -56,5 +58,7 @@ INSTANTIATE(intl );
INSTANTIATE(uintl );
INSTANTIATE(uchar );
INSTANTIATE(char );
+INSTANTIATE(ushort );
+INSTANTIATE(short );
}
diff --git a/src/backend/opencl/match_template.cpp b/src/backend/opencl/match_template.cpp
index c6e82de..3d08410 100644
--- a/src/backend/opencl/match_template.cpp
+++ b/src/backend/opencl/match_template.cpp
@@ -54,5 +54,7 @@ INSTANTIATE(char , float)
INSTANTIATE(int , float)
INSTANTIATE(uint , float)
INSTANTIATE(uchar , float)
+INSTANTIATE(short , float)
+INSTANTIATE(ushort, float)
}
diff --git a/src/backend/opencl/max.cpp b/src/backend/opencl/max.cpp
index d3bee0e..2ac2ed2 100644
--- a/src/backend/opencl/max.cpp
+++ b/src/backend/opencl/max.cpp
@@ -22,4 +22,6 @@ namespace opencl
INSTANTIATE(af_max_t, uintl , uintl )
INSTANTIATE(af_max_t, char , char )
INSTANTIATE(af_max_t, uchar , uchar )
+ INSTANTIATE(af_max_t, short , short )
+ INSTANTIATE(af_max_t, ushort , ushort )
}
diff --git a/src/backend/opencl/meanshift.cpp b/src/backend/opencl/meanshift.cpp
index ea1b3be..b0997a1 100644
--- a/src/backend/opencl/meanshift.cpp
+++ b/src/backend/opencl/meanshift.cpp
@@ -39,5 +39,7 @@ INSTANTIATE(char )
INSTANTIATE(int )
INSTANTIATE(uint )
INSTANTIATE(uchar )
+INSTANTIATE(short )
+INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/medfilt.cpp b/src/backend/opencl/medfilt.cpp
index 76fde1a..410dbb3 100644
--- a/src/backend/opencl/medfilt.cpp
+++ b/src/backend/opencl/medfilt.cpp
@@ -51,5 +51,7 @@ INSTANTIATE(char )
INSTANTIATE(int )
INSTANTIATE(uint )
INSTANTIATE(uchar )
+INSTANTIATE(short )
+INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/memory.cpp b/src/backend/opencl/memory.cpp
index a545a3f..f4c7404 100644
--- a/src/backend/opencl/memory.cpp
+++ b/src/backend/opencl/memory.cpp
@@ -359,4 +359,6 @@ namespace opencl
INSTANTIATE(uchar)
INSTANTIATE(intl)
INSTANTIATE(uintl)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/min.cpp b/src/backend/opencl/min.cpp
index 9962fdb..3dd7702 100644
--- a/src/backend/opencl/min.cpp
+++ b/src/backend/opencl/min.cpp
@@ -22,4 +22,6 @@ namespace opencl
INSTANTIATE(af_min_t, uintl , uintl )
INSTANTIATE(af_min_t, char , char )
INSTANTIATE(af_min_t, uchar , uchar )
+ INSTANTIATE(af_min_t, short , short )
+ INSTANTIATE(af_min_t, ushort , ushort )
}
diff --git a/src/backend/opencl/nearest_neighbour.cpp b/src/backend/opencl/nearest_neighbour.cpp
index b2cb142..a09439b 100644
--- a/src/backend/opencl/nearest_neighbour.cpp
+++ b/src/backend/opencl/nearest_neighbour.cpp
@@ -108,6 +108,8 @@ INSTANTIATE(int , int)
INSTANTIATE(uint , uint)
INSTANTIATE(intl , intl)
INSTANTIATE(uintl , uintl)
+INSTANTIATE(short , int)
+INSTANTIATE(ushort, uint)
INSTANTIATE(uchar , uint)
INSTANTIATE(uintl, uint) // For Hamming
diff --git a/src/backend/opencl/product.cpp b/src/backend/opencl/product.cpp
index 3f32cae..d9019ba 100644
--- a/src/backend/opencl/product.cpp
+++ b/src/backend/opencl/product.cpp
@@ -22,4 +22,6 @@ namespace opencl
INSTANTIATE(af_mul_t, uintl , uintl )
INSTANTIATE(af_mul_t, char , int )
INSTANTIATE(af_mul_t, uchar , uint )
+ INSTANTIATE(af_mul_t, short , int )
+ INSTANTIATE(af_mul_t, ushort , uint )
}
diff --git a/src/backend/opencl/random.cpp b/src/backend/opencl/random.cpp
index a6f2b67..3d98fc6 100644
--- a/src/backend/opencl/random.cpp
+++ b/src/backend/opencl/random.cpp
@@ -41,6 +41,8 @@ namespace opencl
template Array<uint> randu<uint> (const af::dim4 &dims);
template Array<intl> randu<intl> (const af::dim4 &dims);
template Array<uintl> randu<uintl> (const af::dim4 &dims);
+ template Array<short> randu<short> (const af::dim4 &dims);
+ template Array<ushort> randu<ushort> (const af::dim4 &dims);
template Array<char> randu<char> (const af::dim4 &dims);
template Array<uchar> randu<uchar> (const af::dim4 &dims);
diff --git a/src/backend/opencl/range.cpp b/src/backend/opencl/range.cpp
index faeb4fa..61bba9c 100644
--- a/src/backend/opencl/range.cpp
+++ b/src/backend/opencl/range.cpp
@@ -45,4 +45,6 @@ namespace opencl
INSTANTIATE(intl)
INSTANTIATE(uintl)
INSTANTIATE(uchar)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/regions.cpp b/src/backend/opencl/regions.cpp
index 0ca6a08..001a000 100644
--- a/src/backend/opencl/regions.cpp
+++ b/src/backend/opencl/regions.cpp
@@ -48,5 +48,7 @@ INSTANTIATE(float )
INSTANTIATE(double)
INSTANTIATE(int )
INSTANTIATE(uint )
+INSTANTIATE(short)
+INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/reorder.cpp b/src/backend/opencl/reorder.cpp
index 403f612..c10472d 100644
--- a/src/backend/opencl/reorder.cpp
+++ b/src/backend/opencl/reorder.cpp
@@ -43,4 +43,6 @@ namespace opencl
INSTANTIATE(char)
INSTANTIATE(intl)
INSTANTIATE(uintl)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/resize.cpp b/src/backend/opencl/resize.cpp
index 10f2735..051d955 100644
--- a/src/backend/opencl/resize.cpp
+++ b/src/backend/opencl/resize.cpp
@@ -58,4 +58,6 @@ namespace opencl
INSTANTIATE(uintl)
INSTANTIATE(uchar)
INSTANTIATE(char)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/rotate.cpp b/src/backend/opencl/rotate.cpp
index b7888d0..404b79a 100644
--- a/src/backend/opencl/rotate.cpp
+++ b/src/backend/opencl/rotate.cpp
@@ -54,4 +54,6 @@ namespace opencl
INSTANTIATE(uintl)
INSTANTIATE(uchar)
INSTANTIATE(char)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/scan.cpp b/src/backend/opencl/scan.cpp
index 74375da..3ac929a 100644
--- a/src/backend/opencl/scan.cpp
+++ b/src/backend/opencl/scan.cpp
@@ -56,5 +56,7 @@ namespace opencl
INSTANTIATE(af_add_t, uintl , uintl )
INSTANTIATE(af_add_t, char , int )
INSTANTIATE(af_add_t, uchar , uint )
+ INSTANTIATE(af_add_t, short , int )
+ INSTANTIATE(af_add_t, ushort , uint )
INSTANTIATE(af_notzero_t, char , uint)
}
diff --git a/src/backend/opencl/select.cpp b/src/backend/opencl/select.cpp
index 5c9a5d0..7e72001 100644
--- a/src/backend/opencl/select.cpp
+++ b/src/backend/opencl/select.cpp
@@ -49,4 +49,6 @@ namespace opencl
INSTANTIATE(uintl )
INSTANTIATE(char )
INSTANTIATE(uchar )
+ INSTANTIATE(short )
+ INSTANTIATE(ushort )
}
diff --git a/src/backend/opencl/set.cpp b/src/backend/opencl/set.cpp
index 665ffdf..52e5086 100644
--- a/src/backend/opencl/set.cpp
+++ b/src/backend/opencl/set.cpp
@@ -151,6 +151,8 @@ namespace opencl
INSTANTIATE(uint)
INSTANTIATE(char)
INSTANTIATE(uchar)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
#pragma GCC diagnostic pop
diff --git a/src/backend/opencl/shift.cpp b/src/backend/opencl/shift.cpp
index 5cbb71d..61cbee9 100644
--- a/src/backend/opencl/shift.cpp
+++ b/src/backend/opencl/shift.cpp
@@ -41,4 +41,6 @@ namespace opencl
INSTANTIATE(uintl)
INSTANTIATE(uchar)
INSTANTIATE(char)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/sobel.cpp b/src/backend/opencl/sobel.cpp
index a8c76f9..7acb007 100644
--- a/src/backend/opencl/sobel.cpp
+++ b/src/backend/opencl/sobel.cpp
@@ -44,5 +44,7 @@ INSTANTIATE(int , int)
INSTANTIATE(uint , int)
INSTANTIATE(char , int)
INSTANTIATE(uchar , int)
+INSTANTIATE(short , int)
+INSTANTIATE(ushort, int)
}
diff --git a/src/backend/opencl/sort.cpp b/src/backend/opencl/sort.cpp
index 33c4f83..d22173f 100644
--- a/src/backend/opencl/sort.cpp
+++ b/src/backend/opencl/sort.cpp
@@ -43,5 +43,7 @@ namespace opencl
INSTANTIATE(uint)
INSTANTIATE(char)
INSTANTIATE(uchar)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/sort_by_key/impl.hpp b/src/backend/opencl/sort_by_key/impl.hpp
index 73bcaf2..36e2e2b 100644
--- a/src/backend/opencl/sort_by_key/impl.hpp
+++ b/src/backend/opencl/sort_by_key/impl.hpp
@@ -49,5 +49,7 @@ namespace opencl
INSTANTIATE(Tk, uint , isAscending) \
INSTANTIATE(Tk, char , isAscending) \
INSTANTIATE(Tk, uchar , isAscending) \
+ INSTANTIATE(Tk, short , isAscending) \
+ INSTANTIATE(Tk, ushort, isAscending) \
}
diff --git a/src/backend/opencl/dilate.cpp b/src/backend/opencl/sort_by_key/s16.cpp
similarity index 65%
copy from src/backend/opencl/dilate.cpp
copy to src/backend/opencl/sort_by_key/s16.cpp
index fbc5b28..44e17b5 100644
--- a/src/backend/opencl/dilate.cpp
+++ b/src/backend/opencl/sort_by_key/s16.cpp
@@ -7,16 +7,10 @@
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/
-#include "morph_impl.hpp"
+#include "impl.hpp"
namespace opencl
{
-
-INSTANTIATE(float , true)
-INSTANTIATE(double, true)
-INSTANTIATE(char , true)
-INSTANTIATE(int , true)
-INSTANTIATE(uint , true)
-INSTANTIATE(uchar , true)
-
+ INSTANTIATE1(short,true)
+ INSTANTIATE1(short,false)
}
diff --git a/src/backend/opencl/dilate.cpp b/src/backend/opencl/sort_by_key/u16.cpp
similarity index 65%
copy from src/backend/opencl/dilate.cpp
copy to src/backend/opencl/sort_by_key/u16.cpp
index fbc5b28..c53b68f 100644
--- a/src/backend/opencl/dilate.cpp
+++ b/src/backend/opencl/sort_by_key/u16.cpp
@@ -7,16 +7,10 @@
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/
-#include "morph_impl.hpp"
+#include "impl.hpp"
namespace opencl
{
-
-INSTANTIATE(float , true)
-INSTANTIATE(double, true)
-INSTANTIATE(char , true)
-INSTANTIATE(int , true)
-INSTANTIATE(uint , true)
-INSTANTIATE(uchar , true)
-
+ INSTANTIATE1(ushort,true)
+ INSTANTIATE1(ushort,false)
}
diff --git a/src/backend/opencl/sort_index.cpp b/src/backend/opencl/sort_index.cpp
index ebbd9f5..bc6af10 100644
--- a/src/backend/opencl/sort_index.cpp
+++ b/src/backend/opencl/sort_index.cpp
@@ -45,5 +45,7 @@ namespace opencl
INSTANTIATE(uint)
INSTANTIATE(char)
INSTANTIATE(uchar)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/sum.cpp b/src/backend/opencl/sum.cpp
index cbe3c5f..bffaeff 100644
--- a/src/backend/opencl/sum.cpp
+++ b/src/backend/opencl/sum.cpp
@@ -22,4 +22,6 @@ namespace opencl
INSTANTIATE(af_add_t, uintl , uintl )
INSTANTIATE(af_add_t, char , int )
INSTANTIATE(af_add_t, uchar , uint )
+ INSTANTIATE(af_add_t, short , int )
+ INSTANTIATE(af_add_t, ushort , uint )
}
diff --git a/src/backend/opencl/susan.cpp b/src/backend/opencl/susan.cpp
index 71aca1b..3417182 100644
--- a/src/backend/opencl/susan.cpp
+++ b/src/backend/opencl/susan.cpp
@@ -72,5 +72,7 @@ INSTANTIATE(char )
INSTANTIATE(int )
INSTANTIATE(uint )
INSTANTIATE(uchar )
+INSTANTIATE(short )
+INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/tile.cpp b/src/backend/opencl/tile.cpp
index 794059d..38902ad 100644
--- a/src/backend/opencl/tile.cpp
+++ b/src/backend/opencl/tile.cpp
@@ -41,5 +41,7 @@ namespace opencl
INSTANTIATE(uintl)
INSTANTIATE(uchar)
INSTANTIATE(char)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/transform.cpp b/src/backend/opencl/transform.cpp
index 34bfead..c8e2b69 100644
--- a/src/backend/opencl/transform.cpp
+++ b/src/backend/opencl/transform.cpp
@@ -80,4 +80,6 @@ namespace opencl
INSTANTIATE(uintl)
INSTANTIATE(uchar)
INSTANTIATE(char)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/transpose.cpp b/src/backend/opencl/transpose.cpp
index 43a1da9..cbc2345 100644
--- a/src/backend/opencl/transpose.cpp
+++ b/src/backend/opencl/transpose.cpp
@@ -52,5 +52,7 @@ INSTANTIATE(uint )
INSTANTIATE(uchar )
INSTANTIATE(intl )
INSTANTIATE(uintl )
+INSTANTIATE(short )
+INSTANTIATE(ushort )
}
diff --git a/src/backend/opencl/transpose_inplace.cpp b/src/backend/opencl/transpose_inplace.cpp
index c30ff2e..0cf758e 100644
--- a/src/backend/opencl/transpose_inplace.cpp
+++ b/src/backend/opencl/transpose_inplace.cpp
@@ -48,5 +48,7 @@ INSTANTIATE(uint )
INSTANTIATE(uchar )
INSTANTIATE(intl )
INSTANTIATE(uintl )
+INSTANTIATE(short )
+INSTANTIATE(ushort )
}
diff --git a/src/backend/opencl/triangle.cpp b/src/backend/opencl/triangle.cpp
index 371aead..0dd6357 100644
--- a/src/backend/opencl/triangle.cpp
+++ b/src/backend/opencl/triangle.cpp
@@ -53,5 +53,7 @@ Array<T> triangle(const Array<T> &in)
INSTANTIATE(uintl)
INSTANTIATE(char)
INSTANTIATE(uchar)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/types.cpp b/src/backend/opencl/types.cpp
index df8e76a..6581b04 100644
--- a/src/backend/opencl/types.cpp
+++ b/src/backend/opencl/types.cpp
@@ -25,5 +25,7 @@ namespace opencl
template<> const char *shortname<uchar >(bool caps) { return caps ? "V" : "v"; }
template<> const char *shortname<intl >(bool caps) { return caps ? "L" : "l"; }
template<> const char *shortname<uintl >(bool caps) { return caps ? "K" : "k"; }
+ template<> const char *shortname<short >(bool caps) { return caps ? "P" : "p"; }
+ template<> const char *shortname<ushort >(bool caps) { return caps ? "Q" : "q"; }
}
diff --git a/src/backend/opencl/types.hpp b/src/backend/opencl/types.hpp
index 69f5030..f0ed133 100644
--- a/src/backend/opencl/types.hpp
+++ b/src/backend/opencl/types.hpp
@@ -21,6 +21,7 @@ namespace opencl
typedef cl_double2 cdouble;
typedef cl_uchar uchar;
typedef cl_uint uint;
+ typedef cl_ushort ushort;
template<typename T> struct is_complex { static const bool value = false; };
template<> struct is_complex<cfloat> { static const bool value = true; };
diff --git a/src/backend/opencl/unwrap.cpp b/src/backend/opencl/unwrap.cpp
index 4fc91a7..845b341 100644
--- a/src/backend/opencl/unwrap.cpp
+++ b/src/backend/opencl/unwrap.cpp
@@ -53,4 +53,6 @@ namespace opencl
INSTANTIATE(uintl)
INSTANTIATE(uchar)
INSTANTIATE(char)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/src/backend/opencl/where.cpp b/src/backend/opencl/where.cpp
index 1ce82bf..19bc7cf 100644
--- a/src/backend/opencl/where.cpp
+++ b/src/backend/opencl/where.cpp
@@ -41,5 +41,7 @@ namespace opencl
INSTANTIATE(intl )
INSTANTIATE(uintl )
INSTANTIATE(uchar )
+ INSTANTIATE(short )
+ INSTANTIATE(ushort )
}
diff --git a/src/backend/opencl/wrap.cpp b/src/backend/opencl/wrap.cpp
index f3a5e1b..90849fc 100644
--- a/src/backend/opencl/wrap.cpp
+++ b/src/backend/opencl/wrap.cpp
@@ -54,4 +54,6 @@ namespace opencl
INSTANTIATE(uintl)
INSTANTIATE(uchar)
INSTANTIATE(char)
+ INSTANTIATE(short)
+ INSTANTIATE(ushort)
}
diff --git a/test/fast.cpp b/test/fast.cpp
index ba61908..c13d6da 100644
--- a/test/fast.cpp
+++ b/test/fast.cpp
@@ -63,7 +63,7 @@ class FixedFAST : public ::testing::Test
};
typedef ::testing::Types<float, double> FloatTestTypes;
-typedef ::testing::Types<int, unsigned, ushort> FixedTestTypes;
+typedef ::testing::Types<int, unsigned, short, ushort> FixedTestTypes;
TYPED_TEST_CASE(FloatFAST, FloatTestTypes);
TYPED_TEST_CASE(FixedFAST, FixedTestTypes);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/arrayfire.git
More information about the debian-science-commits
mailing list