`float2`, `float3` and `float4` are trivially copyable in CUDA, but they are not in HIP. This results in the following piece of code working in CUDA, but failing in HIP: ``` static_assert(std::is_trivially_copyable_v<float2>); ``` It transitively applies to any class that uses such a data member as well.