エラーを解決します: `cublasSgemmStridedBatched( handle, opa, opb, m... を呼び出すときの CUBLAS_STATUS_INVALID_VALUE)

CUBLAS_STATUS_INVALID_VALUE

完全なエラー レポート:

CUBLAS_STATUS_INVALID_VALUE when calling `cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches)`

現時点では、次の 3 つの可能性があります。

1. バッチサイズ

バッチサイズを減らす 私のバッチサイズは元々 1 なので、これは問題ありません。

2. バージョンの不一致

CUDAのバージョンとcudnnのバージョンが一致しません。

3. 寸法の不一致

それらの多くは、nn.Linner 層の Tensor サイズ マッチングの問題によるものです。Tensor の寸法形状属性を出力してください。明らかに、私のサイズは乗算演算とも一致しています。

3. LD_LIBRARY_PATH のデフォルト設定を復元する

unset LD_LIBRARY_PATH

次に、コードを再実行します。完璧な解決策!

unset LD_LIBRARY_PATHLD_LIBRARY_PATH環境変数の設定を解除するコマンドです。通常、LD_LIBRARY_PATH共有ライブラリ ファイル (ダイナミック リンク ライブラリなど) の検索パスを指定するために使用されます。この環境変数を設定すると、実行時に共有ライブラリをロードできるように、共有ライブラリを探す場所をシステムに指示できます。

unset LD_LIBRARY_PATHこのコマンドを使用してLD_LIBRARY_PATH環境変数の値を削除します。これは、システムがデフォルトのライブラリ検索パスを使用して共有ライブラリ ファイルを検索することを意味します。これは、ライブラリ パス設定に関連するいくつかの問題のトラブルシューティングやデフォルト設定の復元に役立ちます。

の設定を解除するとLD_LIBRARY_PATH、システムはデフォルトの共有ライブラリ検索パスを使用することに注意してください。以前にLD_LIBRARY_PATH特定のパスを指定するように設定していた場合、設定を解除すると、そのパス内の共有ライブラリは検索されなくなります。システムが必要な共有ライブラリ ファイルを見つけられるかどうかを確認してください。そうしないと、アプリケーションが正しく動作しない可能性があります。

おすすめ

転載: blog.csdn.net/qq_44824148/article/details/133307138