diff options
-rw-r--r-- | community/arrayfire/PKGBUILD | 7 | ||||
-rw-r--r-- | community/arrayfire/arrayfire-full-3.6.0-dim-cast.patch | 36 | ||||
-rw-r--r-- | community/arrayfire/arrayfire-full-3.6.3-dim-cast.patch | 36 |
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(); + |