coder.BLASCallback.updateBuildInfo

Класс: coder.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 методы, чтобы получить доступ к настройкам контекста сборки, таким как выходной язык и специфичные для платформы расширения файла библиотеки.

Примеры

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

В этом примере показано, как записать 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