とマトリックスの行をスケーリング、Iは行列の行を拡張する必要がある指定された行和のすべての要素に対して1がGPU上でいくつかの計算でCUDA
| a1,1 a1,2 ... a1,N | | alpha1*a1,1 alpha1*a1,2 ... alpha1*a1,N | | a2,1 a2,2 ... a2,N | => | alpha2*a2,1 alpha2*a2,2 ... alpha2*a2,N | | . . | | . . | | aN,1 aN,2 ... aN,N | | alphaN*aN,1 alphaN*aN,2 ... alphaN*aN,N |
そう
alphai = 1.0/(ai,1 + ai,2 + ... + ai,N)
私はalpha
のベクトルが必要です。スケーリングされた行列と私は可能な限り少数のblas呼び出しでこれをしたいと思います。このコードは、nvidia CUDAハードウェア上で動作する予定です。誰でもこれを行うためのスマートな方法を知っていますか?
これは私が自分で結論したものでした。(全行対colについては、他のものよりも優れていれば、私のデータを並べ替えることになります - ここで転置してください:) –
@MartinKristiansen:Theren 'これは本当に「より良い」順序です。ただし、純粋な行指向のスケーリング操作(行 'scal'による行)は、行項目のストライドのために列のメジャー順序データではうまく機能しません(少なくとも行列の高さ)。しかし、賢明に設計されたスキームは、列メジャーデータと同様に列メジャーでも同様に機能します。 – talonmies