다음 코드가 주 끝에 충돌하는 이유는 무엇입니까?전역 변수로 thrust device_vector 사용
#include <thrust/device_vector.h>
thrust::device_vector<float4> v;
int main(){
v.resize(1000);
return 0;
}
오류 :
terminate called after throwing an instance of 'thrust::system::system_error'
what(): unspecified driver error
내가 host_vector
대신 device_vector
코드 실행 벌금을 사용하는 경우.
당신은 이것이 스러스트 버그라고 생각합니까, 아니면 제가 여기서 뭔가 잘못하고 있습니까?
나는 우분투 10.10에서 쿠다 4.0으로, 윈도우 7에서는 쿠다 6.5로 시도했다. 추력 버전은 두 경우 모두 1.7입니다.
감사합니다.
@RobertCrovella : 여기서 일어나는 일이 아닙니다. 이것은 벡터가 범위를 벗어나서 CUDA 컨텍스트가 붕괴 된 후에 파괴되기 때문에 발생합니다. 그래서 효과적으로 cudaFree가 작동중인 런타임 API 연결없이 호출되어 런타임 오류가 발생합니다. – talonmies