1
cuGraphicsSubResourceGetMappedArray()를 통해 OpenGL 컨텍스트에서 얻은 CUarray가 있습니다. cuMemset *()과 함께 사용할 수 있습니까?CUarray에서 cuMemset을 실행할 수 있습니까?
cuGraphicsSubResourceGetMappedArray()를 통해 OpenGL 컨텍스트에서 얻은 CUarray가 있습니다. cuMemset *()과 함께 사용할 수 있습니까?CUarray에서 cuMemset을 실행할 수 있습니까?
아니요. 장치 포인터를 CUDA 배열로 가져올 수 없습니다 (cuMemset *()로 전달). NVIDIA는 CUDA 배열에 대한 memset 함수를 제공하지 않습니다.
일부 호스트 메모리를 제로로 만들고 memcpy (또는 memcpy 's)를 CUDA 어레이에 넣거나 (SM 2.0 이상에서만 앱을 실행하는 경우) 서페이스 저장소로 자신을 굴려야합니다.
감사합니다. 두 번째 제안 인 "표면 가게로 자신 만의 롤"이란 무엇을 의미합니까? surf3Dwrite를 사용하여 어레이를 지우는 커널을 작성한다는 의미입니까? – morph
네, 그게 제가 제안한 것입니다. 그리고 서페이스로드/저장소가 타입이 지정되지 않았기 때문에 모든 크기 피연산자를 저장하는 템플릿 함수를 작성할 수 있습니다. 2D의 예제는 CUDA 핸드북의 텍스처링 장의 10.9.2 절을 참조하십시오. http://www.cudahandbook.com/uploads/Chapter_10._Texturing.pdf – ArchaeaSoftware
감사! 나는 두 가지 방법을 모두 구현했으며, 커널보다 훨씬 빠른 cuMemcpyAtoA 메서드를 선호합니다! – morph