coder.BLASCallback.updateBuildInfo

Класс: coder. BLASCallback
Пакет: coder

Обновите сведения о сборке для соединения с определенной библиотекой BLAS

Синтаксис

coder.BLASCallback.updateBuildInfo(buildInfo, buildctx)

Описание

coder.BLASCallback.updateBuildInfo(buildInfo, buildctx) обновляет информационный объект сборки buildInfo с информацией, необходимой для соединения процесса сборки с определенной библиотекой BLAS.

coder.BLASCallback является абстрактным классом для определения класса коллбэка BLAS. Класс коллбэка BLAS задает библиотеку BLAS, заголовок CBLAS и информацию о типах данных для вызовов BLAS в коде, сгенерированном из MATLAB® код. Во время генерации кода, если вы задаете класс коллбэка BLAS, для определенных векторов и матричных функций генератор кода производит вызовы BLAS в автономном коде.

updateBuildInfo является абстрактным методом. Вы должны реализовать его в определении класса коллбэка, которое происходит от coder.BLASCallback.

Входные параметры

расширить все

После генерации кода этот объект содержит стандартный проект, опцию сборки и информацию о зависимостях. В updateBuildInfo метод, чтобы добавить информацию для связи с библиотекой BLAS, используйте методы build information.

Используйте coder.BuildConfig методы для доступа к настройкам контекста сборки, таким как целевой язык и расширения файлов библиотеки для конкретной платформы.

Признаки

Abstracttrue
Statictrue

Чтобы узнать об атрибутах методов, см. «Атрибуты метода».

Примеры

расширить все

В этом примере показано, как написать updateBuildInfo метод для обновления информационного объекта сборки информацией, необходимой для связи с определенной библиотекой BLAS.

В классе, который происходит от coder.BLASCallback, напишите метод updateBuildInfo. Этот пример является реализацией класса коллбэка mklcallback для интегрирования с библиотекой Intel MKL BLAS в Windows® платформы. Используйте этот пример класса коллбэка BLAS в качестве шаблона.

classdef mklcallback < coder.BLASCallback
    methods (Static)
        function updateBuildInfo(buildInfo, ~)
            libPath = fullfile(pwd,'mkl','WIN','lib','intel64');
            libPriority = '';
            libPreCompiled = true;
            libLinkOnly = true;
            libs = {'mkl_intel_ilp64.lib' 'mkl_intel_thread.lib' 'mkl_core.lib'};
            buildInfo.addLinkObjects(libs, libPath, libPriority, libPreCompiled, libLinkOnly);
            buildInfo.addLinkObjects('libiomp5md.lib',fullfile(matlabroot,'bin','win64'), ...
                libPriority, libPreCompiled, libLinkOnly);
            buildInfo.addIncludePaths(fullfile(pwd,'mkl','WIN','include'));
            buildInfo.addDefines('-DMKL_ILP64');
        end
        function headerName = getHeaderFilename()
            headerName = 'mkl_cblas.h';
        end
        function intTypeName = getBLASIntTypeName()
            intTypeName = 'MKL_INT';
        end
    end
end

Чтобы обновить информацию о сборке с именем и расположением библиотеки BLAS, используйте информацию о сборке addlinkObjects способ. Если вы используете библиотеку Intel MKL BLAS, используйте ссылку линии advisor, чтобы увидеть, какие библиотеки и опции компилятора рекомендованы для использования.

Чтобы обновить информацию о сборке с указанием местоположения заголовочных файлов, используйте информацию о сборке addIncludePaths способ.

Чтобы добавить определения макросов препроцессора к информации о сборке в updateBuildInfo, используйте информацию о сборке addDefines способ.

Чтобы задать опции компилятора в updateBuildInfo, используйте информацию о сборке addCompileFlags способ.

Чтобы задать опции линкера, используйте информацию о сборке addLinkFlags способ.

Введенный в R2018b