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

8 visualizaciones (últimos 30 días)
Chang
Chang el 11 de Nov. de 2021
Comentada: Chang el 15 de Nov. de 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 comentarios
Chang
Chang el 12 de Nov. de 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 el 12 de Nov. de 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?

Iniciar sesión para comentar.

Respuesta aceptada

Heiko Weichelt
Heiko Weichelt el 12 de Nov. de 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 comentario
Chang
Chang el 15 de Nov. de 2021
Thank you very much!
According to the solution you provided, the problem has been solved!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre GPU Computing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by