diff --git a/llvm/projects/hpvm-tensor-rt/tensor_runtime/include/tensor_utils.cu b/llvm/projects/hpvm-tensor-rt/tensor_runtime/include/tensor_utils.cu index 13ef262bac301e35d7c3e6306a3706dfe79a68a2..282a0cbb68de4f033b46cdc5c4a8ad69aa1f20c0 100644 --- a/llvm/projects/hpvm-tensor-rt/tensor_runtime/include/tensor_utils.cu +++ b/llvm/projects/hpvm-tensor-rt/tensor_runtime/include/tensor_utils.cu @@ -329,12 +329,18 @@ extern "C"{ void initTensorData(void* tensor_ptr, void* data_ptr, size_t size_in_bytes){ Tensor* tensor = (Tensor*) tensor_ptr; - - if(tensor->size_in_bytes != size_in_bytes){ + + size_t host_size_in_bytes = tensor->num_elems * 4; + //if(tensor->size_in_bytes != size_in_bytes){ + if(host_size_in_bytes != size_in_bytes){ ERROR("The destination and source sizes don't match"); } std::memcpy(tensor->host_data, data_ptr, size_in_bytes); + + changeTensorPlacement(tensor, HOST); + + tensor->cur_type = float_type; } @@ -428,7 +434,7 @@ extern "C"{ -bool ONLINE_PROFILING = false; +bool ONLINE_PROFILING = false; // true; void convertToFP16(struct Tensor* tensor){