主要内容

このページの翻訳は最新ではありませ。

生成コードの正确性の検证

GPU编码器™には,コードの生成后,ソースコードを検证て生成コードの正确をテストのオプションがささていいていいいいいいいいますいますいますますますいますますますい

  • コード生成レポートレポート,生成されたた®,コード生成レポートを参照してください。

  • GPU编码器アプリアプリ,生成されたMEX关关をします。

  • コマンドラインで,生成されmex关关を検证ます。

  • 马铃薯草®编码器™金宝app支持NVIDIA的支持包®Jetson和Nvidia Drive Platformsでは,プロセッサインザループ(pil)実行をしmatlab关节生成したcudaコードコード详细は,从命令行的处理器循环执行(MATLAB编码器支持包为金宝appNVIDIA Jetson和NVIDIA Drive Platforms)使用GPU编码器应用程序的处理器 - 循环执行(MATLAB编码器支持包为金宝appNVIDIA Jetson和NVIDIA Drive Platforms)を参照してください。

  • 嵌入式编码器®がが综合性,ソフトウェアインザループ(SIL)実行ををを,生成されたたコードコードコードコード検证検证できでき

GPU编码器アプリでのmex关节

GPU编码器アプリアプリは,MEX关关を生成した后,关关节元のテスト対象关键词同じますががあるあるテスト検证ををがするあることテストテストベクトルをするするテストファイルをを指定てて,元元matlabエントリポイント关键词をファイルはmatlab关键词关键词

  • GPU编码器アプリアプリ[コード生成]ページで[コードコードの]をクリックします。

  • たとえば,myfunction_test.のようにします。

  • 元のmatlab关节のをmex关键词呼び出しと置き换えずにファイルを実行[次次使使用しし行走]オプションに対して[matlabコード]を选択します。[生成さされたコードの行をクリックします。

  • 元のmatlab关节のをmex关键词呼び出し呼び出しとてテストファイル実行[次次使使用しし行走]オプションに対して[生成コード]を选択します。[生成さされたコードの行をクリックします。

  • 元のmatlab关节を実と结果结果と,生成されたcuda关键词

コマンドラインでのmex关键词検证

关节有关部编码器.RULEST.をを用して,生成されたcuda mexファイルをコマンドラインで検证ます。关键词编码器.RULEST.は,元のmatlab关节数のとmex关键词呼び出しを置き换えて,myfunction_test.テストファイルを使使用して关联myfunction.をテストするには,MATLABコマンドウィンドウに次のコードを入力します。

编码器.Runtest('myfunction_test''myfunction'的)

结果をmatlab关关を実しますまたはした场またはまたはがが提供れれ実情た提供れれまたはの提供されれ実または提供されれまたはを実実ししまたは比较実実実またはまたは実実実しまたはまたはまたは场実れまたはまたはを実実実またはまたはを実実実実実実実実実実実実実実実実実実実実実実実ししたたと比较比较比较実比较た比较比较比较比较比较比较比较比较比较比较比较比较比较比较场场场场またはまたは场场场场场またはまたは场场场场场またはまたは场またはまたはまたはまたはまたはまたはまたはさされれまたはまたはまたはまたは场さされまたはまたはまたはまたはさされれまたはまたはまたは提供さされれまたはまたはまたはまたはささされまたはまたはl-测试オプションを指定してCodegen.を使使でき。

codegen myfunding -test'myfunction_test'

テストファイルには,MATLAB关数,スクリプト,またはクラスベースのユニットテストを指定できます。

ソフトウェアインザループによるコード検证

GPU编码器は,ソフトウェアインザループ(SIL)実これ,ソースコードしさますたコードコードコンパイルコンパイルれオブジェクトコードをできます.matlab silインターフェイスを介し.MATLAB SILインターフェイスを介したSILの実行中,ソフトウェア実开关用コンピューター上でライブラリコードをコンパイルし,指定したテストベクトルを使してコードを実実ます.MATLAB关键词ししたテストベクトルを再たテストベクトルを再してを再なしでき。

メモ

  • 微软®视窗®システムでは,窗户ファイアウォールによってsil実行がされる可性ありますます。

  • SIL実行を使使用する料,GPU编码器设定设定基准测试オプションが错误的になっていることを确认してください。ベンチマークを使用してSILを実行するとコンパイルエラーになります。

GPU编码器アプリによるsil実行

ソフトウェアインザループ(SIL)実行[スタティックスタティック]および[ダイナミックダイナミック]出力タイプでのみサポートれ.mex关节生成したた合成,[ビルドタイプ][スタティックライブラリ]または[ダイナミックライブラリ]を使用するようにプロジェクト设定を変更し,[コード生成]を再度実行しなければなりません。

  1. GPU编码器アプリを开放にに,matlabツールストリップの[アプリ]タブにある[コード生成]で,アプリアイコンをクリックします。

  2. プロジェクトを开くに,をクリックし,[既存のプロジェクトを开放]ををクリックしますmyproject.prj.を选択します。[コード生成]ページで,[生成]矢印をクリックします。

  3. [生成]ダイアログダイアログボックス,以下を行い

    • [ビルドタイプ][スタティックライブラリ]または[ダイナミックライブラリ]に设定します。

    • [コード生成のみ]チェックボックスをオフにします。

    • 他の设定は既定値をそのまま使用できます。

  4. CUDAコードを生成するには,[生成]をクリックします。[コードコードの]をクリックします。

  5. コマンドコマンドフィールド,元元matlab关节(例:myfunction.)を呼び出すテストファイル(例:myfunction_test.m.)を指定します。

  6. SIL実行を开启するには,[生成さされたコードの行をクリックします.GPU编码器アプリアプリは以をいい

    • Codegen \ lib \ myfunctionににスタンドアロンライブラリをを生ししし

    • Codegen \ lib \ myfunction \ silにsilインターフェイスコードを生成します。

    • テストファイルを実行し,matlab关关の呼び出しライブラリ内生成コードの呼び出し置き换えます。

    • SIL実行からからのメッセージ[テストテスト力]タブに表示します。

  7. SIL実行の结果と元MATLAB关有关部用。

  8. SIL実行プロセスプロセスを终了终了するにはにににに[SIL検证を停止]またはをクリックししまたは,[テストテスト力]タブで,[実行を终了するには]の后ろにあるリンクをクリックします。

コマンドラインからのsil実行

コマンドラインからsil実行を设定开启するには,ライブラリコード生成用途のgpu编码器构成オブジェクトを作用成,config_obj.verificationmode ='SIL'を有效にします。次次,关节Codegen.をを用してライブラリコードコードsilインターフェイスインターフェイス生成し,关联编码器.RULEST.MATLAB问题关键词以は,SIL実行しうの一连のうですののは。

%%为静态库创建配置对象。config = coder.gpuconfig('lib');config.generateReport = true;config.verificationMode =.'SIL';%%定义入门点'mandelbrot_count'的参数类型。args = cell(1,1);args {1} = cell(3,1);args {1} {1} = coder.typeof(0);args {1} {2} = coder.typeof(0,[1000 1000]);args {1} {3} = coder.typeof(0,[1000 1000]);%%调用GPU编码器。Codegen.-Config.配置myfunction.-  args.args {1}%%使用SIL接口运行测试文件编码器.Runtest('myfunction_test',['myfunction_sil。'Mexext]);%%终止SIL执行清除myfunction_sil.;

CPUとGPUの数号の

CPUとgpuではアーキテクチャがためため,数码検证が常に一致するはは。单身的データ型をmatlabコードコード使用し,これらの单身的データデータ型の値に対してに対して演算を実するするするに,特に当てはます。ただし,マンデルマンデルブロの例のようよう,双倍的データ型が数码误差のにになるなるもありありありありありありありありますますます原因がは原因原因ははははははははははは浮ののののの小小和和和は融浮浮小点积和命令,CUDAコンパイラにより,计算结果の精密に影响するでで命令レベル最适こと重要重要での実されることも重要ででの命令コンパイラはこと重要重要でのの命令コンパイラ最适ため重要重要でののコンパイラコンパイラないれですですでのの命令コンパイラためためれですですでの命令コンパイラないないれれですですで加算命令を融しし単一の命令に変えますこの动机小数和演算(fmad)操作业は,2つの単一,命令にて2结果关にコンパイラをすること,coder.gpuconfigを参照してください.Cuda内部パラメーターをを合并するは,レガシコードの结合を参照してください。

参考

アプリ

关节有关部

オブジェクト

关键词する