我有一個函數來獲得一個數組的最小值,它在一個循環內執行。我是否需要釋放由推力返回的device_ptr?
thrust::device_ptr<float> min_ptr = thrust::min_element(populationFitness, populationFitness + POPULATION);
是否必須釋放返回的device_ptr?我嘗試了thrust::device_free(min_ptr)
,但引發了一個異常。
我有一個函數來獲得一個數組的最小值,它在一個循環內執行。我是否需要釋放由推力返回的device_ptr?
thrust::device_ptr<float> min_ptr = thrust::min_element(populationFitness, populationFitness + POPULATION);
是否必須釋放返回的device_ptr?我嘗試了thrust::device_free(min_ptr)
,但引發了一個異常。
thrust::min_element返回一個迭代器。你不應該直接釋放它。
我不認爲你需要釋放由推力:: min_element
望着在http://docs.thrust.googlecode.com/hg/group__extrema.html
#include <thrust/extrema.h>
...
int data[6] = {1, 0, 2, 2, 1, 3};
int *result = thrust::max_element(data, data + 6);
給出的示例代碼返回的內存似乎它返回一個指針數組元素,你不需要刪除它。