diff options
Diffstat (limited to 'modules/remote-hip/c++/device.tmpl.hpp')
-rw-r--r-- | modules/remote-hip/c++/device.tmpl.hpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/modules/remote-hip/c++/device.tmpl.hpp b/modules/remote-hip/c++/device.tmpl.hpp index ce8b4ed..2ee991d 100644 --- a/modules/remote-hip/c++/device.tmpl.hpp +++ b/modules/remote-hip/c++/device.tmpl.hpp @@ -32,12 +32,9 @@ struct hip_copy_to_device<schema::Array<T,Dim>, Encoding> { static error_or<void> apply(data<Schema, Encoding>& from, data<Schema,Encoding>** to){ typename native_data_type<T>::type* dat{}; - hipError_t data_malloc_err = hipMalloc(&dat,sizeof(typename native_data_type<T>::type) * from.size()); - hipError_t data_copy_err = hipMemcpy(dat, (from.get_raw_data()),sizeof(typename native_data_type<T>::type) * from.size(), hipMemcpyHostToDevice); - - if(from.size() == 0u){ - // Everything is fine. We just don't want to allocate data which doesn't exist. - return make_void(); + if(from.size() > 0u){ + hipError_t data_malloc_err = hipMalloc(&dat,sizeof(typename native_data_type<T>::type) * from.size()); + hipError_t data_copy_err = hipMemcpy(dat, (from.get_raw_data()),sizeof(typename native_data_type<T>::type) * from.size(), hipMemcpyHostToDevice); } // auto from_dat = &from.at(0); |