Main Content

coder.BLASCallback.updateBuildInfo

クラス: coder.BLASCallback
名前空間: coder

特定の BLAS ライブラリにリンクするためのビルド情報の更新

構文

coder.BLASCallback.updateBuildInfo(buildInfo, buildctx)

説明

coder.BLASCallback.updateBuildInfo(buildInfo, buildctx) は、ビルド情報オブジェクト buildInfo を、特定の BLAS ライブラリにリンクするためのビルド プロセスに必要な情報で更新します。

coder.BLASCallback は BLAS コールバック クラスを定義するための抽象クラスです。BLAS コールバック クラスは、MATLAB® コードから生成されるコードで BLAS 呼び出しに使用する BLAS ライブラリと CBLAS ヘッダーおよびデータ型情報を指定します。コード生成時に、BLAS コールバック クラスを指定すると、特定のベクトルおよび行列関数の呼び出しで、コード ジェネレーターはスタンドアロン コードで BLAS 呼び出しを生成します。

updateBuildInfo は、抽象メソッドです。これを、coder.BLASCallback から派生するコールバック クラスの定義で実装しなければなりません。

入力引数

すべて展開する

コードの生成後、このオブジェクトには標準プロジェクト、ビルド オプションおよび依存関係情報が含まれます。updateBuildInfo メソッドで、BLAS ライブラリにリンクするための情報を追加するために、ビルド情報メソッドを使用します。

coder.BuildConfig メソッドを使用して、ターゲット言語やプラットフォームに固有のライブラリ ファイル拡張子などのビルド コンテキスト設定にアクセスします。

属性

Abstracttrue
Statictrue

メソッドの属性の詳細については、メソッドの属性を参照してください。

すべて展開する

この例では、updateBuildInfo メソッドを記述して、特定の BLAS ライブラリへのリンクに必要な情報でビルド情報オブジェクトを更新する方法を説明します。

coder.BLASCallback から派生するクラスで、メソッド updateBuildInfo を記述します。以下に、Windows® プラットフォームで Intel MKL BLAS ライブラリと統合するためのコールバック クラス mklcallback の実装例を示します。この 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 で導入