MATLAB编码器
MATLABコードからのCコードとc++コードの生成
MATLAB编码器™は,デスクトップシステムから組み込みハードウェアまで,さまざまなハードウェアプラットフォームに対応したCコードとc++コードをMATLAB®コードから生成します。また,MATLAB言語の大部分とさまざまなツールボックスをサポートしています。生成されたコードをソースコード,スタティックライブラリまたはダイナミックライブラリとしてプロジェクトに統合できます。生成コードは可読性および移植性が良好です。既存のCコードやライブラリと統合して,アルゴリズムの重要な部分で非常に高い効率を実現したり,信頼性の高いコードを再利用したりすることができます。また,検証または高速化のためMATLAB環境で使用できるように,生成したコードを墨西哥人関数としてパッケージ化することも可能です。
嵌入式编码器®は,量産向けコード生成のため,MATLAB编码器にコードカスタマイズ,ターゲット固有の最適化,コードトレーサビリティ,ソフトウェアインザループ(SIL)とプロセッサインザループ(公益诉讼)の検証サポートを追加して拡張します。
ユーザーインターフェイスを含む完全なアプリケーションの配布には,MATLAB编译器SDK™を使用します。
詳細を見る:
アルゴリズムの配布が無償
任意のCコンパイラを使用して,生成したコードをコンパイルし,デスクトップシステムからモバイルデバイス,組み込みハードウェアまであらゆるハードウェアで実行できます。生成したコードはロイヤリティフリーなので,商用アプリケーションで顧客に無料配布しすることができます。
MATLAB编码器のユーザ事例
さまざまな産業分野のエンジニアや研究者がアプリケーションのCコードの生成にMATLAB编码器を使用しています。その一部をご紹介します。
サポートされているツールボックスと関数
MATLAB言語の幅広い機能を使用してMATLAB编码器で生成されるコードにより,設計エンジニアは大規模システムのコンポーネントとして使用するアルゴリズムを開発することができます.MATLABおよび関連ツールボックスから1900以上の演算子と関数を利用できます。
デスクトップおよびクラウドプラットフォームでのプロトタイピング
MATLAB编码器アプリまたは同等のコマンドライン関数を使用すると,簡単にコードを生成し,使用するハードウェア用にコンパイルできます。信号処理,コンピュータービジョン,ディープラーニング,制御システムをはじめ,幅広いアプリケーションに対応します。
組み込みおよびモバイルプラットフォームでのプロトタイピング
生成したコードとアプリケーションを手動で統合すれば,すべてのデバイスをターゲットにできます.Raspberryπ用のMATLABサポートパッケージを使用すれば,覆盆子π™のプロセスを自動化できます。
プロトタイピングから量産への移行
MATLAB编码器と嵌入式编码器®を併用すると,標準的なANSI / ISO C / c++コードよりも実行速度に優れた,プロセッサ固有の機能を利用したコードも生成できます。
簡単に統合できるシンプルなインターフェイスでコードを生成
生成されるコードは自動的にC型を使用するため,外部コードとの統合が容易です。生成したコードをソースコードやライブラリとして統合することができます。信頼できるCライブラリやコンポーネントをMATLABに統合すれば,より忠実度の高いテストを実施できるようになるだけでなく,生成したコードから自動的に呼び出すことも可能です。
生成されたコードのパフォーマンスの最適化
最適化を適用することで,実行速度,メモリ使用的量,可読性,移植性のトレードオフを調整できます。ボトルネックの特定にはプロファイリングツールを使用します。パフォーマンスをさらに高めるには,マルチコア対応のOpenMPコードを生成し,LAPACK, bla, FFTWなどの最適化済みライブラリを呼び出します。
統合の前に生成したコードでMATLABテストを再利用
対話型のMATLAB環境で,既存のMATLABテストを再利用して生成コードの動作を検証します.MATLABユニットテストフレームワークを使用すると,生成したCコードの検証に使用できる多種多様な回帰テストを簡単に開発できます。
CPUでのアルゴリズムの高速化
生成したコードを墨西哥人関数としてMATLABコードから呼び出すと実行速度が向上しますが,実際のパフォーマンスはMATLABコードの性質によって異なります。生成した墨西哥人関数をプロファイリングし,ボトルネックを特定して最適化の対象を絞り込むことができます。
GPUを使用したアルゴリズムの高速化
并行计算工具箱™を使用すると,MATLABでのアルゴリズムの実行を高速化できます。最新のNVIDIA®GPUでの高速化や配布に対応したCUDAコードを生成するにはGPU编码器™を使用します。
从原型转向生产
使用MATLAB编码器和嵌入式编码器来生成代码,利用处理器特有的内部特性,可以比标准的ANSI/ISO C/ c++代码执行得更快。
使用易于集成的简单接口生成代码
生成的代码以一种自然的方式使用C/ c++类型,简化了与外部代码的集成。您可以将生成的代码集成为源代码或库。可以将受信任的C/ c++库或组件引入MATLAB中进行高保真度测试,并从生成的代码中自动调用它们。
优化生成代码的性能
应用优化来调整执行速度、内存使用、可读性和可移植性之间的权衡。使用分析工具来识别瓶颈。为了进一步提高性能,生成多核OpenMP代码,并在可用时调用优化的库,如LAPACK、BLAS和FFTW。
在集成之前对生成的代码重用MATLAB测试
重用现有的MATLAB测试,以验证在交互式MATLAB环境中生成的代码的行为。使用MATLAB单元测试框架快速开发一组丰富的回归测试,这些测试可用于验证生成的C/ c++代码。
在cpu上加速算法
您可以将生成的代码作为MEX函数从MATLAB代码中调用,以加快执行速度,尽管性能会根据MATLAB代码的性质而有所不同。您可以对生成的MEX函数进行概要分析,以确定瓶颈并集中优化工作。
これらの機能および対応する関数の詳細については,リリースノートを参照してください。
MATLABからCコードを簡単に生成するには
MATLAB编码器の使用に関するヒントとベストプラクティスをご紹介します叠慧,贝克休斯,iSonea, dorsaViなど,各社の生成コードの事例もご覧いただけます。