fix return value for float16 atomicAdd
@@ -35,5 +35,6 @@ __device__ float16 atomicAdd(float16* address, float16 val) {
: (old & 0xffff0000) | sum_as_us;
old = atomicCAS(aligned, assumed, sum_as_ui);
} while(assumed != old);
- return float16(old_as_us);
-}
+ __half_raw raw = {old_as_us};
+ return float16(half(raw));
+};
