[arrayfire] 45/75: BUGFIX: Fixing array.write for all backends
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Mon Feb 29 08:01:15 UTC 2016
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 c66da4028452e5adcba2d7e6c3adff37e95b8b33
Author: Pavan Yalamanchili <pavan at arrayfire.com>
Date: Mon Feb 22 12:45:10 2016 -0500
BUGFIX: Fixing array.write for all backends
---
src/backend/cpu/Array.cpp | 5 +++--
src/backend/cuda/Array.cpp | 4 ++--
src/backend/opencl/Array.cpp | 4 ++--
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/backend/cpu/Array.cpp b/src/backend/cpu/Array.cpp
index 3edca87..2c296d0 100644
--- a/src/backend/cpu/Array.cpp
+++ b/src/backend/cpu/Array.cpp
@@ -228,8 +228,9 @@ void
writeHostDataArray(Array<T> &arr, const T * const data, const size_t bytes)
{
if(!arr.isOwner()) {
- arr = createEmptyArray<T>(arr.dims());
+ arr = copyArray<T>(arr);
}
+ arr.eval();
memcpy(arr.get(), data, bytes);
}
@@ -238,7 +239,7 @@ void
writeDeviceDataArray(Array<T> &arr, const void * const data, const size_t bytes)
{
if(!arr.isOwner()) {
- arr = createEmptyArray<T>(arr.dims());
+ arr = copyArray<T>(arr);
}
memcpy(arr.get(), (const T * const)data, bytes);
}
diff --git a/src/backend/cuda/Array.cpp b/src/backend/cuda/Array.cpp
index c1cf810..7865741 100644
--- a/src/backend/cuda/Array.cpp
+++ b/src/backend/cuda/Array.cpp
@@ -256,7 +256,7 @@ namespace cuda
writeHostDataArray(Array<T> &arr, const T * const data, const size_t bytes)
{
if (!arr.isOwner()) {
- arr = createEmptyArray<T>(arr.dims());
+ arr = copyArray<T>(arr);
}
T *ptr = arr.get();
@@ -273,7 +273,7 @@ namespace cuda
writeDeviceDataArray(Array<T> &arr, const void * const data, const size_t bytes)
{
if (!arr.isOwner()) {
- arr = createEmptyArray<T>(arr.dims());
+ arr = copyArray<T>(arr);
}
T *ptr = arr.get();
diff --git a/src/backend/opencl/Array.cpp b/src/backend/opencl/Array.cpp
index bd576ca..002c1d5 100644
--- a/src/backend/opencl/Array.cpp
+++ b/src/backend/opencl/Array.cpp
@@ -286,7 +286,7 @@ namespace opencl
writeHostDataArray(Array<T> &arr, const T * const data, const size_t bytes)
{
if (!arr.isOwner()) {
- arr = createEmptyArray<T>(arr.dims());
+ arr = copyArray<T>(arr);
}
getQueue().enqueueWriteBuffer(*arr.get(), CL_TRUE,
@@ -302,7 +302,7 @@ namespace opencl
writeDeviceDataArray(Array<T> &arr, const void * const data, const size_t bytes)
{
if (!arr.isOwner()) {
- arr = createEmptyArray<T>(arr.dims());
+ arr = copyArray<T>(arr);
}
cl::Buffer& buf = *arr.get();
--
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