CUDA-9.2 尝试调整 thrust::complex<float> 的 device_vector 大小时推力编译失败?

CUDA-9.2 Thrust compilation failure when trying to resize a device_vector of thrust::complex<float>?

简单示例,在标题为 test.cu:

的文件中
#include <thrust/complex.h>
#include <thrust/device_vector.h>
#include <iostream>
int main(void) {
    thrust::device_vector<thrust::complex<float> > V1(10);
    V1.resize(20);
    printf("%d\n", V1.size());
}

尝试使用 nvcc 构建上述内容失败,从 complex.inl(187) 开始出现大量推力错误:错误:没有重载函数的实例 "thrust::complex::real [with T=float]" 与参数列表匹配。但是,我可以确认 thrust/complex.h header 文件包含一个模板化的 real() 方法,它以 __host____device__.[=16= 开头]

使用 host_vector 而不是 device_vector,代码编译并运行并获得预期结果。从 CUDA-9.2 开始,这只是一个不受支持的功能吗?

听起来这个问题在 CUDA-9 中可以重现,但在 CUDA-10 中已解决。我就升级