我使用推力装置矢量如下分配一些空间:
thrust::device_vector<int> s(10000000000);
我如何明确且正确释放这个空间呢?
我使用推力装置矢量如下分配一些空间:
thrust::device_vector<int> s(10000000000);
我如何明确且正确释放这个空间呢?
device_vector
解除分配相关联的存储,当它超出范围,就像任何标准C ++容器。
如果您想取消分配任何推力vector
在其一生中手动的存储,你可以这样做使用下面的食谱:
// empty the vector
vec.clear();
// deallocate any capacity which may currently be associated with vec
vec.shrink_to_fit();
该swap
罗杰·达尔的答复中提到伎俩也应该工作。
clear()
设置矢量的大小为0,但可能不释放相关联的存储器。 释放与STL存储器中的标准方法是用空载体交换载体中。 它应该推力正常工作。
v.clear();
device_vector<T>().swap(v);