Fixed the workaround in assign_value.h
MODIFY
thrust/system/hip/detail/assign_value.h
thrust/system/hip/detail/assign_value.h
@@ -33,8 +33,13 @@ inline __host__ __device__
void assign_value(thrust::hip::execution_policy<DerivedPolicy> &exec, Pointer1 dst, Pointer2 src)
{
// STREAMHPC TODO add workaround?
-#ifdef __HIP_DEVICE_COMPILE__
- (void) exec;
+ // STREAMHPC WORKAROUND
+#if defined(THRUST_HIP_DEVICE_CODE)
+
+ THRUST_UNUSED_VAR(exec);
+ Pointer1 (*fptr)(thrust::hip::execution_policy<DerivedPolicy> &, Pointer2, Pointer2, Pointer1) = hip_rocprim::copy;
+ (void) fptr;
+
*thrust::raw_pointer_cast(dst) = *thrust::raw_pointer_cast(src);
#else
hip_rocprim::copy(exec, src, src + 1, dst);

Fixed the workaround in assign_value.h