кодер. BLASCallback.updateBuildInfo

Класс: кодер. BLASCallback
Пакет: кодер

Обновите информацию о сборке для соединения с определенной библиотекой 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, методами информации о сборке использования.

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

Атрибуты

Abstracttrue
Statictrue

Чтобы узнать об атрибутах методов, смотрите Атрибуты Метода (MATLAB).

Примеры

развернуть все

Этот пример показывает, как записать метод 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, используйте советника по вопросам строки ссылки, чтобы видеть, каким библиотекам и параметрам компилятора рекомендуют для вашего варианта использования.

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

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

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

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

Введенный в R2018b