-
Notifications
You must be signed in to change notification settings - Fork 187
Alignment requirements of cuda::std::complex #151
Comments
I'd expect them to be 8 and 4 to match the There are competing requirements here. It may very well be that the higher alignment is the better choice, but it is not unambiguously the right choice. |
What are the requirements for |
The requirements for anything in Any extensions or deviations from |
To add from a separate discussion, this becomes an issue when using |
I think we should break from what the standard requires here. The only case where it hits us is if someone is casting unaligned There's a big perf hit for doing the wrong thing here. My inclination is that we just make This will require us to introduce a new ABI version, V4. We can add a way to opt into the standard-conforming behavior. |
Can you point to the paragraph of the standard that guarantees that this works? |
The standard only requires reinterpreting complex as an array, not the other way around. |
This is what Thrust currently does too, and it helps improve the performance. |
This has been fixed in 1.6.0 with #172 |
The following two
static_assert
s compile without issues:I'd expected them to be 16 and 8 to match the
double2
andfloat2
types.The text was updated successfully, but these errors were encountered: