私の計画は、ピアソンの相関を使用して距離行列を計算し、距離行列から各ノード (q=ln(n)) の q-最近傍を取得し、それらを結果ベクトルに入れることです。相関関数のループ内で STL プライオリティ キューを使用して C++ で実行しました。
しかし、GPUでそれを行う方法はあると思いますか?
- GPUで同じことを行うにはどうすればよいですか(おそらくThrustの方が簡単です!)
- GPU でプライオリティ キューを実装する方法は?
これが私のCPU(C ++ STL)コードです:
例えば、
距離行列
-----------------------
0 3 2 4
3 0 4 5
2 4 0 6
.....
オブジェクト ベクトルでの出力
=================
ソース ターゲット ウェイト
--------------------------------
0 2 2
0 1 3 .... (エッジの重みでソート)
1 0 3
1 2 4
2 0 2
.....
calculatePearsonCorrelation(float vector1[], float vector2[], int m) {
// float distancePearson(ベクトル vector1, ベクトル vector2){
int i;
float a=0,b=0,c=0,d=0, e = 0, sumX=0, sumY=0;
//m = vector1.size();
for(i=0;iq){
MIN=pqx.top().get_corr();
if(corr::iterator it = qNNVector.begin(); it!=qNNVector.end(); ++it) {
ファウト