Effacer les filtres
Effacer les filtres

The problem of 'conv2' with 'BLAS loading error.

5 vues (au cours des 30 derniers jours)
Chang
Chang le 11 Nov 2021
Commenté : Chang le 15 Nov 2021
When I using a compilied matconvnet to apply 'conv2(a, h, 'valid')', a 'BLAS loading error' occurs if the first dimension of 'a' is larger than 16.
If the first dimension of 'a' is less than 16, it works.
  3 commentaires
Chang
Chang le 12 Nov 2021
Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-38-generic x86_64)
CPU: Hygon C86 7151 16-core Processor
GPU: NVIDIA RTX A5000
Image Analyst
Image Analyst le 12 Nov 2021
Works for me
out = conv2(rand(16, 1), rand(1,1))
out = conv2(rand(17, 1), rand(1,1))
The above code runs with no error. Does it only happen if you've compiled the code? Like into a standalone executable?
I don't know what a "matconvnet" is. What is that?

Connectez-vous pour commenter.

Réponse acceptée

Heiko Weichelt
Heiko Weichelt le 12 Nov 2021
The problem occurs from the fact that this particular processor is not correctly detected by MATLAB, and hence, not the right BLAS and LAPACK library gets loaded.
This is a bug and we are already working on fixing that for the future.
A workaround you can try consists of telling MATLAB explicitly which BLAS/LAPACK library to use.
Your MATLAB installation should contain the BLAS/LAPACK library mkl.so for glnxa64 systems. Please locate the installation path by running the following inside MATLAB:
>> matlabroot
ans =
/some/path/to/MATLAB
Use this path to set the following two environment variables before starting MATLAB:
BLAS_VERSION = /some/path/to/MATLAB/glnxa64/bin/mkl.so
LAPACK_VERSION = /some/path/to/MATLAB/glnxa64/bin/mkl.so
It depends on the console you're using in Ubuntu on how to set those variables. If you are using 'bash', e.g., it would look as following:
$ export BLAS_VERSION=/some/path/to/MATLAB/glnxa64/bin/mkl.so
$ export LAPACK_VERSION=/some/path/to/MATLAB/glnxa64/bin/mkl.so
Other consoles have similar syntaxes.
Once those variables are set, start MATLAB from the same console. Afterwards, you can verify that MKL was loaded correctly by running the following inside MATLAB:
>> version -blas
>> version -lapack
If both comments return the MKL version of your MATLAB version, you should all be set and your initial computation should work as expected.
If this does not work, please get in touch via Customer Support so we can discuss further steps more directly.
Please notice that MathWorks has not qualified MATLAB on this particular platform and, hence, cannot guarantee anything.
  1 commentaire
Chang
Chang le 15 Nov 2021
Thank you very much!
According to the solution you provided, the problem has been solved!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Introduction to Installation and Licensing dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by