[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