[arrayfire] 33/284: sobel cpu fn is async fn after this change

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Sun Feb 7 18:59:16 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/experimental
in repository arrayfire.

commit e0055579305bb4969f0f3bf5855968387ad2c7da
Author: pradeep <pradeep at arrayfire.com>
Date:   Mon Nov 23 13:43:08 2015 -0500

    sobel cpu fn is async fn after this change
---
 src/backend/cpu/sobel.cpp | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/backend/cpu/sobel.cpp b/src/backend/cpu/sobel.cpp
index 3c6b174..9f683fc 100644
--- a/src/backend/cpu/sobel.cpp
+++ b/src/backend/cpu/sobel.cpp
@@ -14,7 +14,8 @@
 #include <sobel.hpp>
 #include <convolve.hpp>
 #include <err_cpu.hpp>
-#include <utility>
+#include <platform.hpp>
+#include <async_queue.hpp>
 
 using af::dim4;
 
@@ -22,8 +23,13 @@ namespace cpu
 {
 
 template<typename Ti, typename To, bool isDX>
-void derivative(To *optr, Ti const *iptr, dim4 const &dims, dim4 const &strides)
+void derivative(Array<To> output, const Array<Ti> input)
 {
+    const dim4 dims    = input.dims();
+    const dim4 strides = input.strides();
+          To* optr     = output.get();
+    const Ti* iptr     = input.get();
+
     for(dim_t b3=0; b3<dims[3]; ++b3) {
     for(dim_t b2=0; b2<dims[2]; ++b2) {
 
@@ -85,16 +91,18 @@ template<typename Ti, typename To>
 std::pair< Array<To>, Array<To> >
 sobelDerivatives(const Array<Ti> &img, const unsigned &ker_size)
 {
+    // ket_size is for future proofing, this argument is not used
+    // currently
     Array<To> dx = createEmptyArray<To>(img.dims());
     Array<To> dy = createEmptyArray<To>(img.dims());
 
-    derivative<Ti, To, true >(dx.get(), img.get(), img.dims(), img.strides());
-    derivative<Ti, To, false>(dy.get(), img.get(), img.dims(), img.strides());
+    getQueue().enqueue(derivative<Ti, To, true >, dx, img);
+    getQueue().enqueue(derivative<Ti, To, false>, dy, img);
 
     return std::make_pair(dx, dy);
 }
 
-#define INSTANTIATE(Ti, To)                                                 \
+#define INSTANTIATE(Ti, To)                                               \
     template std::pair< Array<To>, Array<To> >                            \
     sobelDerivatives(const Array<Ti> &img, const unsigned &ker_size);
 

-- 
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