通过使用外部模式参数调优和信号监测
您可以使用外部模式模拟的快速原型技术。外部模式模拟建立一个仿真软件之间的通信通道金宝app®在您的开发计算机(主机)和目标硬件运行的可执行文件创建的代码生成和构建过程。
通过通信通道,您可以:
修改或调整块实时参数。当你改变模型参数,仿真软件下载执行目标应用程序的新值。金宝app
监控并保存信号的数据执行目标应用程序。
底层传输层的通道处理消息的传播。金宝app模型和生成的模型代码独立于这一层。传输层及其接口代码隔离在单独的模块,格式,发送和接收消息的数据包。
建立和运行一个外部模式模拟使用TCP / IP通信通道。
创建和配置一个简单的模型。
构建目标可执行文件。
目标应用程序运行。
调优参数。
例子:了曼德尔勃特集合
描述
了曼德尔勃特集合中该地区复平面组成的值z0的定义的轨迹方程仍然有限k→∞。
曼德尔勃特集合的整体几何图所示。这种观点没有边缘的分辨率显示丰富详细的结构的边界外。在不断的放大,一个精心设计的边界,揭示了曼德尔勃特集合展品逐步精细递归的细节。
算法
对于本教程,选择一组限制,指定一个高度放大了曼德尔勃特集合的一部分主心形和之间的山谷p / q灯泡了。1000 - 1000年电网的实际部分(x)和虚部(y这两个极限之间创建)。曼德布洛特然后在每个迭代算法网格的位置。迭代500全部呈现图像分辨率。
maxIterations = 500;gridSize = 1000;xlim = [-0.748766713922161, -0.748766707771757];ylim = [0.123640844894862, 0.123640851045266];
本教程使用了曼德尔勃特集合的实现通过使用标准的MATLAB®在CPU上运行的命令。这个计算是每个位置矢量化,同时更新。
创建曼德布洛特模型
创建一个仿真软件模金宝app型和插入MATLAB函数块的用户定义函数图书馆。
双击MATLAB函数块。一个默认的函数签名出现在MATLAB函数块编辑器。
定义一个函数调用
mandelbrot_count
,实现了曼德布洛特算法。函数头声明maxIterations
,xGrid
,yGrid
作为一个参数mandelbrot_count
函数,数
的返回值。函数数= mandelbrot_count (maxIterations xGrid yGrid)曼德布洛特百分比计算z0 = xGrid + 1我* yGrid;数= 1(大小(z0));%计算映射到GPUcoder.gpu.kernelfun;z = z0;为n = 0: maxIterations z z =。* z + z0;在= abs (z) < = 2;数=数+内部;结束数=日志(数);
打开块参数MATLAB函数块。在代码生成选项卡上,选择
可重用的功能
为函数包装参数。如果函数包装参数设置为其它值,采用CUDA技术的地方®内核可能不会得到生成。
连接这些块如图表所示。保存模型
mandelbrot_top.slx
。
构建目标可执行
设置外部所需的模型和代码生成参数模式目标应用程序。然后,生成代码并构建目标应用程序。
从应用程序选项卡上的仿真软件将来金宝app发布的设置硬件上运行部分中,点击运行在硬件板。
在硬件板的部分,硬件板列表中,选择
英伟达杰森
。在准备部分中,点击硬件设置。配置参数对话框打开时,显示硬件实现设置是由选定的董事会决定的。
在解算器面板:
在类型字段中,选择
固定步
。在解算器字段中,选择
离散(没有连续状态)
。点击解算器的细节。在固定的大小字段中,指定
0.1
。(否则,生成代码时,GPU编码器™构建过程会产生一个警告和物资价值。)点击应用。
在数据导入/导出窗格中,清除时间和输出复选框。在本例中,数据没有记录到工作区或者MAT-file。点击应用。
在代码生成>优化窗格中,确保默认参数的行为被设置为
可调
。如果你想要改变什么,点击应用。在代码生成>接口窗格中,在数据交换接口部分中,选择外部模式。
在硬件实现>目标硬件资源>外部模式部分,确保您选择默认值
tcpip
为通信接口参数。点击应用保存外部模式设置。
保存模型。
选择代码生成窗格。确保只生成代码清除。
目标应用程序来生成代码并创建,在模型窗口中,出版社Ctrl + B。或者,在硬件选项卡,在硬件上运行部分中,点击监视和优化。然后,在一步一步的命令,点击构建监测。
该软件创建
mandelbrot_top
可执行文件在您的工作目录中。
目标应用程序运行
运行mandelbrot_top
目标可执行和使用仿真软件作为一个交互式运行目标应用程金宝app序的前端。可执行文件在您的工作目录中。目标应用程序运行,建立模型和目标之间的通信。金宝app
目标应用程序运行:
在硬件选项卡,在硬件上运行部分:
在停止时间字段中,指定
正
,这使得该模型运行直到目标应用程序接收一个阻止消息模型金宝app点击监视和优化。然后,在监视信号&优化参数,点击监视和优化。
目标应用程序开始执行目标和与仿真软件建立了沟通。金宝app仿真软件和金宝app目标连接时,连接按钮更改断开连接
在硬件选项卡,在硬件上运行部分中,点击监视和优化。然后,在一步一步的命令,点击断开连接这断开仿真软件的运行目标应用程序断开金宝app选择改变连接一次。
在连接与应用程序一步一步的命令,点击连接。这再次建立仿真软件和应用程序之间的连接目标和持续的外部模式。金宝app
终止应用程序在目标,一步一步的命令,点击停止。这终止应用程序在目标与动态仿真模块断开。金宝app
请注意
当执行外部模式模拟仿真软件模型包含深度学习网络,超时错误可能发生在模型初始化目标。金宝app这超时可能是因为可执行的初始化时间超过300秒的默认最大加载时间。你可以增加超时使用NVIDIA_XCP_EXTMODE_INIT_TIME
环境变量。例如,在MATLAB命令窗口中,输入:
setenv (“NVIDIA_XCP_EXTMODE_INIT_TIME”,“500”);
停止目标应用程序
同时断开模型从主机/目标通信和最终目标应用程序的执行,在金宝app硬件选项卡,在硬件上运行部分中,点击停止。
另请参阅
功能
open_system
(金宝app模型)|load_system
(金宝app模型)|save_system
(金宝app模型)|close_system
(金宝app模型)|bdclose
(金宝app模型)|get_param
(金宝app模型)|set_param
(金宝app模型)|sim卡
(金宝app模型)|slbuild
(金宝app模型)