假设我有以下代码
float *raw_data;
cudaMalloc(&raw_data, 100*sizeof(float));
thrust::device_vector <float> vec(raw_data, raw_data+100);
执行最后一行时,是否会将内存从raw_data复制到device_vector的内存,还是只设置向量的相应范围?
感谢。
答案 0 :(得分:0)
thrust::device_vector <float> vec(raw_data, raw_data+100);
vec
变量填充了从范围为0到100的指针变量raw_data
复制的数据。
使用以下构造函数初始化变量vec。
template<typename InputIterator >
__host__ device_vector (InputIterator first, InputIterator last)