主要内容

通过使用外部模式参数调优和信号监测

您可以使用外部模式模拟的快速原型技术。外部模式模拟建立一个仿真软件之间的通信通道金宝app®在您的开发计算机(主机)和目标硬件运行的可执行文件创建的代码生成和构建过程。

通过通信通道,您可以:

  • 修改或调整块实时参数。当你改变模型参数,仿真软件下载执行目标应用程序的新值。金宝app

  • 监控并保存信号的数据执行目标应用程序。

底层传输层的通道处理消息的传播。金宝app模型和生成的模型代码独立于这一层。传输层及其接口代码隔离在单独的模块,格式,发送和接收消息的数据包。

建立和运行一个外部模式模拟使用TCP / IP通信通道。

  1. 创建和配置一个简单的模型。

  2. 构建目标可执行文件。

  3. 目标应用程序运行。

  4. 调优参数。

例子:了曼德尔勃特集合

描述

了曼德尔勃特集合中该地区复平面组成的值z0的定义的轨迹方程仍然有限k→∞

z k + 1 = z k 2 + z 0 , k = 0 , 1 ,

曼德尔勃特集合的整体几何图所示。这种观点没有边缘的分辨率显示丰富详细的结构的边界外。在不断的放大,一个精心设计的边界,揭示了曼德尔勃特集合展品逐步精细递归的细节。

曼德尔勃特集合的几何

算法

对于本教程,选择一组限制,指定一个高度放大了曼德尔勃特集合的一部分主心形和之间的山谷p / q灯泡了。1000 - 1000年电网的实际部分(x)和虚部(y这两个极限之间创建)。曼德布洛特然后在每个迭代算法网格的位置。迭代500全部呈现图像分辨率。

maxIterations = 500;gridSize = 1000;xlim = [-0.748766713922161, -0.748766707771757];ylim = [0.123640844894862, 0.123640851045266];

本教程使用了曼德尔勃特集合的实现通过使用标准的MATLAB®在CPU上运行的命令。这个计算是每个位置矢量化,同时更新。

创建曼德布洛特模型

  1. 创建一个仿真软件模金宝app型和插入MATLAB函数块的用户定义函数图书馆。

  2. 双击MATLAB函数块。一个默认的函数签名出现在MATLAB函数块编辑器。

  3. 定义一个函数调用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;数=数+内部;结束数=日志(数);

  4. 打开块参数MATLAB函数块。在代码生成选项卡上,选择可重用的功能函数包装参数。

    如果函数包装参数设置为其它值,采用CUDA技术的地方®内核可能不会得到生成。

  5. 添加轮廓尺寸(金宝app模型)块和外港(金宝app模型)块的来源图书馆。

  6. 连接这些块如图表所示。保存模型mandelbrot_top.slx

    金宝app仿真软件模型显示模块之间的连接。

构建目标可执行

设置外部所需的模型和代码生成参数模式目标应用程序。然后,生成代码并构建目标应用程序。

  1. 应用程序选项卡上的仿真软件将来金宝app发布的设置硬件上运行部分中,点击运行在硬件板

  2. 硬件板的部分,硬件板列表中,选择英伟达杰森

  3. 准备部分中,点击硬件设置。配置参数对话框打开时,显示硬件实现设置是由选定的董事会决定的。

  4. 解算器面板:

    1. 类型字段中,选择固定步

    2. 解算器字段中,选择离散(没有连续状态)

    3. 点击解算器的细节。在固定的大小字段中,指定0.1。(否则,生成代码时,GPU编码器™构建过程会产生一个警告和物资价值。)

    4. 点击应用

  5. 数据导入/导出窗格中,清除时间输出复选框。在本例中,数据没有记录到工作区或者MAT-file。点击应用

  6. 代码生成>优化窗格中,确保默认参数的行为被设置为可调。如果你想要改变什么,点击应用

  7. 代码生成>接口窗格中,在数据交换接口部分中,选择外部模式

  8. 硬件实现>目标硬件资源>外部模式部分,确保您选择默认值tcpip通信接口参数。

    目标硬件资源部分配置参数

  9. 点击应用保存外部模式设置。

  10. 保存模型。

  11. 选择代码生成窗格。确保只生成代码清除。

  12. 目标应用程序来生成代码并创建,在模型窗口中,出版社Ctrl + B。或者,在硬件选项卡,在硬件上运行部分中,点击监视和优化。然后,在一步一步的命令,点击构建监测

    该软件创建mandelbrot_top可执行文件在您的工作目录中。

目标应用程序运行

运行mandelbrot_top目标可执行和使用仿真软件作为一个交互式运行目标应用程金宝app序的前端。可执行文件在您的工作目录中。目标应用程序运行,建立模型和目标之间的通信。金宝app

目标应用程序运行:

  1. 硬件选项卡,在硬件上运行部分:

    1. 停止时间字段中,指定,这使得该模型运行直到目标应用程序接收一个阻止消息模型金宝app

    2. 点击监视和优化。然后,在监视信号&优化参数,点击监视和优化

    目标应用程序开始执行目标和与仿真软件建立了沟通。金宝app仿真软件和金宝app目标连接时,连接按钮更改断开连接

  2. 硬件选项卡,在硬件上运行部分中,点击监视和优化。然后,在一步一步的命令,点击断开连接这断开仿真软件的运行目标应用程序断开金宝app选择改变连接一次。

  3. 在连接与应用程序一步一步的命令,点击连接。这再次建立仿真软件和应用程序之间的连接目标和持续的外部模式。金宝app

  4. 终止应用程序在目标,一步一步的命令,点击停止。这终止应用程序在目标与动态仿真模块断开。金宝app

请注意

当执行外部模式模拟仿真软件模型包含深度学习网络,超时错误可能发生在模型初始化目标。金宝app这超时可能是因为可执行的初始化时间超过300秒的默认最大加载时间。你可以增加超时使用NVIDIA_XCP_EXTMODE_INIT_TIME环境变量。例如,在MATLAB命令窗口中,输入:

setenv (“NVIDIA_XCP_EXTMODE_INIT_TIME”,“500”);

停止目标应用程序

同时断开模型从主机/目标通信和最终目标应用程序的执行,在金宝app硬件选项卡,在硬件上运行部分中,点击停止

另请参阅

功能

相关的话题