1
나는 GPU 메모리에 큰 밀도 벡터 (안 매트릭스)이 있습니다CUDA에서 고밀도 벡터를 희소 벡터로 변환하는 방법은 무엇입니까?
[1,3,0,0,4,0,0]
및 스파 스로 변환 할 형식 :
값 = [1,3,4]; 지수 = [0,1,4]
내가 cuSPARSE
에 cusparse<t>dense2csc()
를 호출 할 수 있습니다 알고 있지만 그 행렬 설계, 및 벡터에 대한 효율적인하지 않을 수 있습니다. 이것을 할 수있는 다른 방법이 있습니까? 아니면 CUDA 커널 일 수도 있습니다. 감사합니다
벡터는 1 열 (또는 1 행)와 매트릭스로 볼 수있다, 그래서 당신은 1로 설정 "열 번호"와'dense2csc'를 호출 할 수 있을까? –
이 변환은 [GPU Gems 3] (http://http.developer.nvidia.com/GPUGems3/gpugems3_ch39.html)에 설명 된 스트림 압축 알고리즘을 약간 수정하여 얻을 수 있습니다. – sgarizvi
수정은 단지 벡터 값을 쓰는 대신 최종 단계에서 값과 인덱스를 쓸 수 있다는 것입니다. – sgarizvi