Replies: 3 comments 3 replies
-
We do not provide any guarantees about binary compatibility with types from other libraries. That would tie both our hands and potentially prevent us from making any changes to the types. I would recommend to verify that alignment and size of the two types is the same and then move from that on your own risk. Also note that we have slightly different requirements than cuFFT especially when it comes to constexpr evaluation so it is not as trivial to internally use the float2 / double2 vector types. (I tried ...) |
Beta Was this translation helpful? Give feedback.
-
@ax3l this is not only relevant for cuFFT. All CUDA Math libs (cuBLAS, cuSPARSE, cuSOLVER, etc.) use |
Beta Was this translation helpful? Give feedback.
-
@miscco I was not aware that |
Beta Was this translation helpful? Give feedback.
-
Hi there,
Are there any existing or planned formal guarantees that one could use a
cuda::std::complex<float>
(or double) for cuFFT operations?In particular, can on just
reinterpret_cast
pointers to each others arrays?I could not find any hints on libc++ / cccl type compatibility in the cuFFT docs.
From the headers, it looks like cuFFT complex types are based on
float2
/double2
, which should have the same real+imag order but different alignment? Sooo.... not safe toreinterpret_cast
?Beta Was this translation helpful? Give feedback.
All reactions