主要内容

使用并行计算进行灵敏度分析

为并行计算配置您的系统

要执行全局敏感性分析,需要对模型参数和状态进行采样,通过对模型信号创建设计需求来定义代价函数,并为每个样本评估代价函数。对许多样本评估模型是很费时的。您可以加快评估灵敏度分析仪,或在命令行中使用多核处理器或多处理器网络上的并行计算。

当您在启用并行计算选项的情况下评估成本函数时,软件会使用可用的并行池。如果没有可用的,并且自动创建并行池在您的Parallel Computing Toolbox™首选项中选择,该软件使用这些首选项中的设置启动一个并行池。要打开一个使用特定集群配置文件的并行池,请使用:

parpool (MyProfile);

MyProfile集群配置文件的名称。

有关创建集群概要文件的信息,请参见添加和修改集群配置文件(并行计算工具箱)

模型的依赖性

模型的依赖性是任何引用的模型、数据(如模型变量、s -函数)或运行模型所需的附加文件。在开始并行模型评估之前,确认模型依赖项已经完成。否则,您可能会得到意想不到的结果。

使远程工作者可以访问模型依赖关系

当您使用并行计算时,金宝app®优化设计™软件可以帮助您识别模型依赖关系。为此,该软件使用依赖分析程序。依赖分析可能无法找到模型所需的所有文件。欲知更多,见依赖分析器范围和限制.如果您的模型具有并行池工作器无法检测或无法访问的依赖项,则将它们添加到模型依赖项列表中。

通过指定以下任意一个,并行池工作线程就可以访问这些依赖项:

  • 文件依赖:模型依赖文件被复制到并行池工作器中。

  • 路径依赖项:模型依赖项的路径被添加到并行池工作器的路径中。如果您是在一个多平台的场景中工作,请确保路径是跨平台兼容的。

建议使用文件依赖,但是,在某些情况下,最好选择路径依赖。例如,如果在本地多核计算机上设置并行计算,那么首选使用路径依赖,因为使用文件依赖会在本地计算机上创建依赖文件的多个副本。

使用并行计算(GUI)执行灵敏度分析

使用并行计算来执行灵敏度分析灵敏度分析仪

  1. 确保软件能够访问使用适当集群配置文件的并行池工作器。

    有关更多信息,请参见为并行计算配置您的系统

  2. 打开灵敏度分析仪为Simulin金宝appk模型。

  3. 指定参数集,生成参数样本,并指定灵敏度分析的要求。例如,请参见使用参数采样(GUI)进行设计探索识别评估的关键参数(GUI)

  4. 敏感性分析选项卡上,单击选项打开评估选择对话框。

  5. 选择平行的选项选项卡。

  6. 选择在评估期间使用并行池复选框。

    此选项检查Simulink模型中的依赖项。金宝app文件中显示的文件依赖项模型文件的依赖关系列表框中,以及文件对应的路径模型的路径依赖.中列出的文件模型文件的依赖关系复制到远程工作人员。

    请注意

    自动依赖项检查可能无法检测模型中的所有依赖项。

    有关更多信息,请参见模型的依赖性.在这种情况下,手动添加未检测到的依赖项。

  7. 添加自动检查没有检测到的任何文件依赖项。

    中指定的文件模型文件的依赖关系列表框由分号分隔或在不同的行上。

    或者,单击添加文件的依赖打开对话框,并选择要添加的文件。

    请注意

    如果不希望将文件复制到远程工作者,请删除模型文件的依赖关系列表框。填充模型的路径依赖列表框中,单击从模型同步路径依赖,并添加任何未检测到的路径依赖项。此外,在列表框中,更新本地驱动器上的路径,使远程工作人员可以访问它们。例如,改变C: \\ \ \ \主机名\ \ \ \加元

  8. 如果您修改了Simulink模型,请金宝app重新同步依赖项以确保检测到任何新的依赖项。点击从模型同步文件依赖关系平行的选项选项卡以重新运行模型的自动依赖项检查。

    此操作更新模型文件的依赖关系在模型中找到的任何新的文件依赖项的列表框。

  9. 点击好吧

  10. 灵敏度分析仪,点击评估使用并行计算进行灵敏度分析。将针对参数集中的每个参数值组合评估设计需求。

不支持此功能金宝app金宝app仿真软件在线™

使用并行计算(代码)执行灵敏度分析

使用并行计算评估一个模型:

  1. 确保软件能够访问使用适当集群配置文件的并行池工作器。

    有关更多信息,请参见为并行计算配置您的系统

  2. 打开模型。

  3. 指定代价函数并生成用于敏感性分析的参数样本。例如,请参见使用参数采样(代码)进行设计探索

  4. 使用计算选项集启用并行计算。

    选择= sdo.EvaluateOptions;opt.UseParallel = true;
  5. 找到模型依赖项。

    [dirs、文件]= sdo.getModelDependencies (modelname)

    请注意

    sdo.getModelDependencies可能无法检测模型中的所有依赖项。有关更多信息,请参见模型的依赖性.在这种情况下,手动添加未检测到的依赖项。

  6. 修改文件来包含任何文件依赖项sdo.getModelDependencies不检测。

    文件= vertcat(文件、“C: \ matlab \ \ filename.m工作”

    请注意

    如果不想将文件复制到远程工作人员,请将未检测到的路径依赖项添加到dirs并更新本地驱动器上的路径,使远程工作人员可以访问它们。看到sdo.getModelDependencies为更多的细节。

  7. 添加要评估的文件依赖项。

    opt.ParallelFileDependencies =文件;
  8. 指定要并行计算的模型的名称。

    opt.EvaluatedModel = modelname;
  9. 评估模型。

    [pOpt, opt_info] = sdo.evaluate (fcn,样本,选择);

故障排除

为什么我在使用并行计算时没有看到预期的计算速度?

当您评估一个不需要大量评估或不需要很长时间来模拟的模型时,您可能不会看到评估时间的加速。在这种情况下,与创建和分发并行任务相关的开销超过了并行运行评估的好处。

另请参阅

|||(并行计算工具箱)

相关的话题