生成的代码中的 LAPACK 调用
为了提高为某些线性代数函数生成的代码的执行速度,MATLAB® Coder™ 可以生成对 LAPACK 函数的调用,而不是为线性代数函数生成代码。LAPACK 是用于数值线性代数的软件库。MATLAB Coder 使用 LAPACKE C 接口调用 LAPACK。
对于 MEX 生成,如果线性代数函数的输入数组满足特定条件,代码生成器会生成 LAPACK 调用。对于独立代码(库或可执行程序),默认情况下,代码生成器不生成 LAPACK 调用。如果指定要生成 LAPACK 调用,并且线性代数函数的输入数组满足条件,则代码生成器会生成 LAPACK 调用。请参阅Speed Up Linear Algebra in Generated Standalone Code by Using LAPACK Calls。
对于 MEX 函数,代码生成器使用 MATLAB 附带的 LAPACK 库。MATLAB 在一些线性代数函数中使用 LAPACK,例如在 eig 和 svd 函数中。对于独立代码,代码生成器使用您指定的 LAPACK 库。请参阅Specify LAPACK Library。
MathWorks® 提供针对各种平台的 LAPACK 回调类的集合。您可以从 GitHub 存储库下载这些回调类。
有关如何使用这些回调生成代码的详细信息,请参阅Speed Up of Standalone Generated Code Using Preconfigured BLAS and LAPACK Callbacks。