CUDA는 장치에 호스트 (또는 호스팅 대상) 동일한 그래픽 카드에서 OpenGL을 사용하여 응용 프로그램 렌더링 그래픽을 사용하여 Memcpy 작업

StackOverflow https://stackoverflow.com/questions/1694549

  •  18-09-2019
  •  | 
  •  

문제

CUDA 포럼에 문제를 게시했지만 두 포럼간에 상당수의 관객이있는 경우 더 많은 아이디어를 위해 링크를 게시하는 것이 적절한 지 확실하지 않습니다. 링크는입니다 여기. 불편을 끼쳐 드려 죄송합니다. 특정 CUDA 메모리 액세스 및 관리 문제의 일부에 대해 아직 들어 보지 못했기 때문에이 질문에 대한 의견에 감사드립니다. 미리 감사드립니다.

도움이 되었습니까?

해결책

더 많은 코드를 보지 않고 이것이 관련이 있는지 확실하지 않지만 Cudaobj의 소멸자는 어디에서 왔습니까?

당신은 말했습니다 :

그러나, 내가 이런 식으로 그렇게한다면, 나는 cudafree ()가 호출되는 Cudaobj의 파괴자 라인에서 응용 프로그램을 종료하는 오류가 발생합니다. 이로 인해 CUDA Context의 정리 코드가 오류로 인해 실행되지 않아 메모리 누출이 혼란을 일으킨 후 메모리 정리 코드가 발생합니다.

CUDA 설정을 어떻게 변경했는지에 대한 설명 후 Thread2의 주요 기능의 시작 부분에 있습니다. Cudaobj에서 다른 스레드에서 Destructor를 호출하는 경우 Cudafree 정리를 수행하는 것은 Cuda 초기화를 스레드 2로 옮기는 것과 같은 이유로 오류가 발생합니다. 프로세스의 단일 스레드에만 해당됩니다. 다른 스레드에서 청소는 문서에 따라 지원되지 않지만 직접 시도한 적이 없습니다. 도움이 되었기를 바랍니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top