質問

CRSマトリックスとベクトル(SPMV)を掛けるアプリケーションをすでに完了しており、今やるべきことは、アプリケーションが行ったフロップをカウントすることです。私の意見では、1つの行のマルチプレイの数が本当に「びくびく」または流fluentであるため、スパースマトリックスの乗算の場合に浮動小数点操作の数を推定することは非常に困難です。

「cudaprof」(./cuda/binディレクトリで入手可能)を使用して時間を測定しようとしました。正常に動作します。

あらゆる監督と指導ペーストが高く評価されています!

役に立ちましたか?

解決

それはあなたの意見だけではありません。スパースマトリックスの場合の操作の数がデータ依存性であるため、データについて何かを知らずに合理的な答えを得ることができないというのは簡単な事実です。これにより、1つのデータを1枚の義理の推定値にすることが不可能になります。

これはおそらく、何時間もそれについて一生懸命に考えることができるような状況の1つです(そして、多くの研究を行うことができます)、おそらくaccurateの推定を行うか、既存の実装のバリアントを刻む数分を書くことができます。操作を行うたびにカウンター。確かに、それは実行にかなりの時間がかかります(特にあなたがCUDA対応の形でそれをしない場合)が、おそらくそれが思考をするのにかかるよりもはるかに短い時間、そして答えが出てきたとき、あなたはそれが正しいと自分自身を納得させるために多くの仕事をする必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top