OpenBLAS callback does not work well
24 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Semih Furkan Kilic
el 28 de Dic. de 2021
Comentada: Raghu Boggavarapu
el 16 de Dic. de 2025 a las 11:30
Hello everyone,
I am trying BLAS calls in my C code generated from the Simulink model. For this I use Intel MKL BLAS and OpenBLAS. MKL BLAS works well. But OpenBLAS is not called correctly. In order to get BLAS-Calls I'm using the templates which are in the following link:
My Intel MKL BLAS-Callback:
classdef IntelMKLBLAS < coder.BLASCallback
methods (Static)
function updateBuildInfo(buildInfo, ~)
libPath = fullfile('C:\','Program Files (x86)','Intel', ...
'oneAPI','mkl','2021.4.0','lib','intel64');
libPriority = '';
libPreCompiled = true;
libLinkOnly = true;
libs = {'mkl_intel_ilp64.lib' ...
'mkl_sequential.lib' ...
'mkl_core.lib'};
buildInfo.addLinkObjects(libs, libPath, libPriority, libPreCompiled, ...
libLinkOnly);
buildInfo.addIncludePaths(fullfile('C:\','Program Files (x86)', ...
'Intel','oneAPI','mkl','2021.4.0','include'));
buildInfo.addDefines('-DMKL_ILP64');
end
function headerName = getHeaderFilename()
headerName = 'mkl_cblas.h';
end
function intTypeName = getBLASIntTypeName()
intTypeName = 'MKL_INT';
end
end
end
and OpenBLAS-Callback:
classdef OpenBLAS < coder.BLASCallback
methods (Static)
function updateBuildInfo(buildInfo, ~)
buildInfo.addIncludePaths(fullfile('C:\','OpenBLAS-0.3.19','include'));
buildInfo.addLinkFlags('-lpthread');
libPriority = '';
libPreCompiled = true;
libLinkOnly = true;
libName = 'libopenblas.lib';
libPath = fullfile('C:\','OpenBLAS-0.3.19','lib');
buildInfo.addLinkObjects(libName, libPath, ...
libPriority, libPreCompiled, libLinkOnly);
end
function headerName = getHeaderFilename()
headerName = 'cblas.h';
end
function intTypeName = getBLASIntTypeName()
intTypeName = 'blasint';
end
end
end
I can not get any solution from OpenBLAS-Calls. I think there is a problem with the .lib file I am using in OpenBLAS. But unlike Intel MKL, OpenBLAS does not have any extra .lib files. I use the the latest version of OpenBLAS in following link:
Should I use same .lib files like in Intel MKL?
Or I would be pleased for any advice how to complete the OpenBLAS calls.
Thanks
1 comentario
Raghu Boggavarapu
el 16 de Dic. de 2025 a las 11:30
Could you check LAPACK/BLAS callbacks we have published here: GitHub - mathworks/MATLAB-Coder-integration-for-BLAS-LAPACK: A collection of MATLAB callback classes for interfacing with external BLAS and LAPACK libraries, such as OpenBLAS and MKL, to enhance performance in standalone code generation.
Respuestas (0)
Ver también
Categorías
Más información sobre Execution Speed en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!