1
Iは、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)で説明されているStream Compactionアルゴリズムのわずかな変更で実現できます。 – sgarizvi
変更は、ベクトル値を書き込むだけでなく、最終段階でインデックスと同様にインデックスを書き込むことができるということです。 – sgarizvi