summaryrefslogtreecommitdiff
path: root/modules/remote-hip/c++/device.tmpl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/remote-hip/c++/device.tmpl.hpp')
-rw-r--r--modules/remote-hip/c++/device.tmpl.hpp9
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);