私は、多くのノルム、内積、そして最も重要なことに、行列ベクトルの乗算を実行する必要があるアプリケーションを持っています。
行列とベクトルは巨大です。マトリックスの寸法は100000x100000になる傾向があります
ループ構造は次のとおりです。
while(condition)
/* usually iterations=dimension of matrix, so around 1 million iterations are *at least* required (if not more) */
matrix-vector multiplication
3 dot prods
2 norms
現在、IntelMKLでIntelFortranを使用しています。IntelMKLを使用してIntelCでコードを書き直すことは役に立ちますか?誰かが何らかのベンチマークを実行したことがありますか(特にDGEMVの場合)?コードを書き直すのは大変な苦痛ですが、理由がわかれば書き直してもかまいません。
編集:私は誤解しました:マトリックスの寸法は100万ではなく100000です。かなり深刻なエラー:|
そして、はい、マトリックスは高密度であり、高密度である必要があります。さらに、それは対称的ではなく、正の明確ささえありません。私のアルゴリズムはQMRの修正バージョンです。