CUDA/Thrust/CUDPP를 사용하고 있습니다. Stream Compaction에서 배열의 특정 항목은 유효하지 않은 것으로 표시되고 "제거됨"으로 표시됩니다.CUDA 스트림 압축 : 개념 이해
이제 "제거"가 실제로 여기서 의미하는 것은 무엇입니까? 원래 배열 A
을 가정하고 두 요소가 무효 (어떤 조건에 의해 우리가 제공 할 수 있습니다) 경우 시스템이를 저장하는 GPU 메모리의 크기 4의 새로운 배열을 만들합니까 다음
길이 6가 유효한 요소를 사용하여 최종 결과를 얻으시겠습니까?
또는 실제로 유효하지 않은 요소를 메모리에서 제거하고 원래 배열을 축소합니다. 유효한 요소 만 유지하는 크기 4로 축소 되었습니까?
두 경우 모두 동적 메모리 할당이 후드에서 발생하고 있다는 뜻이 아닙니까? 그러나 CUDA 세계에서 동적 메모리 할당이 불가능하다는 소식을 들었습니다.
메모리 할당의 크기가 변경되지 않고 첫 번째 4 개 요소가 유효하고 마지막 2 개는 정의되지 않은 또 다른 가능성이 있습니다. 그러나 실제로이 질문은 구현 문제에 관한 것이고, CUDPP 또는 추력이 똑같이 작동한다고 말하는 것은 누구입니까? – talonmies
ArrayFire는 추력보다 더 좋고/더 쉬운 옵션이며 적어도 하나의 GPU 사용에 대해서는 무료입니다. http://accelereyes.com/arrayfire – arrayfire