2012年1月13日金曜日

PageRank

G君とN君にPageRankの計算部分を聞き、ようやくうまく収束するものができた。
GPUへの最適化はU君の助けも借り、そこそこ動作するものが完成した。

PageRankの計算では、全ての要素は列に対して正規化されており、
各列の要素は全て同じ数値で和が1でなくてはならない。
もし、全ての値が0の列がある場合、その列の対角要素を1にする。

初期ベクトルも同様に正規化したものを使い、収束するまで行列ベクトル積を行う。

n=65536でもうまく計算できているので、次は収束判定と分割した行列への対応だ。
これさえできれば後は実験結果を取るのみだ。
収束判定部分は、ブロックを跨いだ同期で躓いたが正しいやり方はわかっているので大丈夫だ。

0 件のコメント:

コメントを投稿