summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/arrayfire/PKGBUILD7
-rw-r--r--community/arrayfire/arrayfire-full-3.6.0-dim-cast.patch36
-rw-r--r--community/arrayfire/arrayfire-full-3.6.3-dim-cast.patch36
3 files changed, 40 insertions, 39 deletions
diff --git a/community/arrayfire/PKGBUILD b/community/arrayfire/PKGBUILD
index dbc3d30d..bd3a63e3 100644
--- a/community/arrayfire/PKGBUILD
+++ b/community/arrayfire/PKGBUILD
@@ -14,15 +14,16 @@ eval "$(
)"
# compilation issues around dim_t casts, see https://github.com/arrayfire/arrayfire/issues/2161
-source+=(arrayfire-full-3.6.0-dim-cast.patch)
-sha512sums+=('0db9eaac34c0d1126bb771ed62bbafe9aef0373ef947f54f308ed943f77cb81e543fbe9c107a781d76168fbb8effb6a4c3005b7c6dae4a2a0395ed26c9a2f33d')
+source+=(arrayfire-full-3.6.3-dim-cast.patch)
+sha512sums+=('717535d030973723e0f028dc7e86ccbe46c6661146cfe0fd2e26bef77d08f11af35e0971e53ad0d11ce23d5dca48f29247fb8cc2fce8a06d13c0e24d89e5ae2c')
eval "$(
declare -f prepare | \
sed '
- /cd /a patch -Np1 -i ${srcdir}/arrayfire-full-3.6.0-dim-cast.patch
+ /cd /a patch -Np1 -i ${srcdir}/arrayfire-full-3.6.3-dim-cast.patch
'
)"
+# no more CUDA support for 32-bit Linux
source+=(arrayfire-full-3.6.0-no-cuda-backend-testing.patch)
sha512sums+=('7c5912ecf59932a4c00f859190174b5b88f01010d131dfef4b013940543f157698d048297eb8c86e1d5289df8f7eb6d769fd39f069b7bf3262800ceca98d09fc')
eval "$(
diff --git a/community/arrayfire/arrayfire-full-3.6.0-dim-cast.patch b/community/arrayfire/arrayfire-full-3.6.0-dim-cast.patch
deleted file mode 100644
index d0ba0faa..00000000
--- a/community/arrayfire/arrayfire-full-3.6.0-dim-cast.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -rauN arrayfire-full-3.6.0/src/api/c/homography.cpp arrayfire-full-3.6.0-dim-cast-patch/src/api/c/homography.cpp
---- arrayfire-full-3.6.0/src/api/c/homography.cpp 2018-05-02 20:53:08.000000000 +0200
-+++ arrayfire-full-3.6.0-dim-cast-patch/src/api/c/homography.cpp 2018-05-26 17:12:16.120826525 +0200
-@@ -30,7 +30,7 @@
- Array<T> bestH = createEmptyArray<T>(af::dim4(3, 3));
- af_array initial;
- unsigned d = (iterations + 256 - 1) / 256;
-- dim_t rdims[] = {4, d * 256};
-+ dim_t rdims[] = {4, static_cast<dim_t>(d) * 256};
- AF_CHECK(af_randu(&initial, 2, rdims, f32));
- inliers = homography<T>(bestH,
- getArray<float>(x_src), getArray<float>(y_src),
-diff -rauN arrayfire-full-3.6.0/src/backend/opencl/kernel/ireduce.hpp arrayfire-full-3.6.0-dim-cast-patch/src/backend/opencl/kernel/ireduce.hpp
---- arrayfire-full-3.6.0/src/backend/opencl/kernel/ireduce.hpp 2018-05-02 20:53:08.000000000 +0200
-+++ arrayfire-full-3.6.0-dim-cast-patch/src/backend/opencl/kernel/ireduce.hpp 2018-05-26 17:11:37.880234104 +0200
-@@ -361,7 +361,7 @@
-
- uint groups_x = divup(in.info.dims[0], threads_x * REPEAT);
- uint groups_y = divup(in.info.dims[1], threads_y);
-- Array<T> tmp = createEmptyArray<T>({groups_x, in.info.dims[1], in.info.dims[2], in.info.dims[3]});
-+ Array<T> tmp = createEmptyArray<T>({static_cast<dim_t>(groups_x), in.info.dims[1], in.info.dims[2], in.info.dims[3]});
-
- int tmp_elements = tmp.elements();
- cl::Buffer *tidx = bufferAlloc(tmp_elements * sizeof(uint));
-diff -rauN arrayfire-full-3.6.0/src/backend/opencl/kernel/reduce.hpp arrayfire-full-3.6.0-dim-cast-patch/src/backend/opencl/kernel/reduce.hpp
---- arrayfire-full-3.6.0/src/backend/opencl/kernel/reduce.hpp 2018-05-02 20:53:08.000000000 +0200
-+++ arrayfire-full-3.6.0-dim-cast-patch/src/backend/opencl/kernel/reduce.hpp 2018-05-26 17:11:55.600508641 +0200
-@@ -301,7 +301,7 @@
-
- uint groups_x = divup(in.info.dims[0], threads_x * REPEAT);
- uint groups_y = divup(in.info.dims[1], threads_y);
-- Array<To> tmp = createEmptyArray<To>({groups_x, in.info.dims[1], in.info.dims[2], in.info.dims[3]});
-+ Array<To> tmp = createEmptyArray<To>({static_cast<dim_t>(groups_x), in.info.dims[1], in.info.dims[2], in.info.dims[3]});
-
- int tmp_elements = tmp.elements();
-
diff --git a/community/arrayfire/arrayfire-full-3.6.3-dim-cast.patch b/community/arrayfire/arrayfire-full-3.6.3-dim-cast.patch
new file mode 100644
index 00000000..a12be27f
--- /dev/null
+++ b/community/arrayfire/arrayfire-full-3.6.3-dim-cast.patch
@@ -0,0 +1,36 @@
+diff -rauN arrayfire-full-3.6.3/src/api/c/homography.cpp arrayfire-full-3.6.3-dim-cast/src/api/c/homography.cpp
+--- arrayfire-full-3.6.3/src/api/c/homography.cpp 2019-04-22 19:43:11.000000000 +0200
++++ arrayfire-full-3.6.3-dim-cast/src/api/c/homography.cpp 2019-05-10 10:56:16.706666685 +0200
+@@ -30,7 +30,7 @@
+ Array<T> bestH = createEmptyArray<T>(af::dim4(3, 3));
+ af_array initial;
+ unsigned d = (iterations + 256 - 1) / 256;
+- dim_t rdims[] = {4, d * 256};
++ dim_t rdims[] = {4, static_cast<dim_t>(d) * 256};
+ AF_CHECK(af_randu(&initial, 2, rdims, f32));
+ inliers =
+ homography<T>(bestH, getArray<float>(x_src), getArray<float>(y_src),
+diff -rauN arrayfire-full-3.6.3/src/backend/opencl/kernel/ireduce.hpp arrayfire-full-3.6.3-dim-cast/src/backend/opencl/kernel/ireduce.hpp
+--- arrayfire-full-3.6.3/src/backend/opencl/kernel/ireduce.hpp 2019-04-22 19:43:11.000000000 +0200
++++ arrayfire-full-3.6.3-dim-cast/src/backend/opencl/kernel/ireduce.hpp 2019-05-10 10:57:31.576666685 +0200
+@@ -308,7 +308,7 @@
+ uint groups_x = divup(in.info.dims[0], threads_x * REPEAT);
+ uint groups_y = divup(in.info.dims[1], threads_y);
+ Array<T> tmp = createEmptyArray<T>(
+- {groups_x, in.info.dims[1], in.info.dims[2], in.info.dims[3]});
++ {static_cast<dim_t>(groups_x), in.info.dims[1], in.info.dims[2], in.info.dims[3]});
+
+ int tmp_elements = tmp.elements();
+ cl::Buffer *tidx = bufferAlloc(tmp_elements * sizeof(uint));
+diff -rauN arrayfire-full-3.6.3/src/backend/opencl/kernel/reduce.hpp arrayfire-full-3.6.3-dim-cast/src/backend/opencl/kernel/reduce.hpp
+--- arrayfire-full-3.6.3/src/backend/opencl/kernel/reduce.hpp 2019-04-22 19:43:11.000000000 +0200
++++ arrayfire-full-3.6.3-dim-cast/src/backend/opencl/kernel/reduce.hpp 2019-05-10 10:58:02.416666685 +0200
+@@ -263,7 +263,7 @@
+ uint groups_x = divup(in.info.dims[0], threads_x * REPEAT);
+ uint groups_y = divup(in.info.dims[1], threads_y);
+ Array<To> tmp = createEmptyArray<To>(
+- {groups_x, in.info.dims[1], in.info.dims[2], in.info.dims[3]});
++ {{static_cast<dim_t>(groups_x), in.info.dims[1], in.info.dims[2], in.info.dims[3]});
+
+ int tmp_elements = tmp.elements();
+