如果 device_vector 是从迭代器创建的,推力是否复制数据?
Does thrust copy data if its device_vector is created from iterator?
假设我有以下代码
float *raw_data;
cudaMalloc(&raw_data, 100*sizeof(float));
thrust::device_vector <float> vec(raw_data, raw_data+100);
执行最后一行时,thrust是将内存从raw_data复制到device_vector,还是只设置vector对应的范围?
谢谢。
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)
假设我有以下代码
float *raw_data;
cudaMalloc(&raw_data, 100*sizeof(float));
thrust::device_vector <float> vec(raw_data, raw_data+100);
执行最后一行时,thrust是将内存从raw_data复制到device_vector,还是只设置vector对应的范围?
谢谢。
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)