0

CLAPACK で CBLAS をテストすると、エラーが発生します。テストコードを実行すると

./xblat2d < dblat2.in

エラー出力が表示されます:

「TransA は 111、112、または 113 でなければなりませんが、-1 に設定されています。ルーチン cblas_dgemv のパラメータ 2 が正しくありませんでした」

これがどのような問題を示しているか知っている人はいますか?

詳細

参照 CBLAS を使用せず、代わりに ATLAS CBLAS を使用しようとしています。そこで、ラッパー ライブラリlibcblaswr.aをコンパイルし、make.inc の行を次のように変更しました。

BLASLIB     = ../../libcblaswr.a -L/usr/local/atlas/lib -lcblas -L/usr/local/atlas/lib -latlas

CLAPACKのインストールは、行うことをお勧めします

BLASLIB     = ../../libcblaswr.a -lcblas -latlas

しかし、リンカーは -L オプションを使用しないと cblas と atlas を見つけられないので、含めました。

私のセットアップの詳細:

  • Ubunty Lycid Lynx 10.04
  • CLAPACK-3.2.1
  • ATLAS.3.9.51
4

1 に答える 1

0

これは、間違ったパラメーターを BLAS ルーチンに渡すという点で、CLAPACK テストの問題のようです。dgemv の呼び出しには、111、112、または 113 に対応する行列自体、転置、または共役転置として機能するオプションがあります (cblas.h の 6 行目を参照)。CLAPACK のコードは、パラメーターを正しく設定しません。これがテストだけの問題なのか、それとも問題がさらに深刻なのかを知るのに十分なほど深く調べていません。しかし、CLAPACKコードを使用してこの問題に遭遇したことがないので、それはテストにあると思われます。

1) ATLAS によってインストールされた BLAS ルーチンをテストするために CLAPACK に依存していないため、無視しました。2) より深い問題がある場合は、無効な結果が生成されるのではなく、このようなエラーが発生するため、追跡します。それから。

はい、通常検索される場所にインストールするまで、リンカは -lcblas と -latlas を検出しません。これは正常です。

于 2012-07-02T12:09:16.057 に答える