使用并行计算中的敏感性分析

为并行计算配置系统

要执行全局敏感性分析,您需要对模型参数和状态进行抽样,通过对模型信号创建设计需求来定义成本函数,并对每个样本的成本函数进行评估。评估多个样本的模型可能非常耗时。使用多核处理器或多处理器网络上的并行计算,您可以在敏感性分析工具或命令行中加速评估。

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

parpool(我的资料);

MyProfile是集群配置文件的名称。

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

模型的依赖性

模型的依赖性任何引用的模型,如模型变量,S-功能,或其他文件运行模型所需的数据。开始并行模型评估之前,验证模型的依赖是完整的。否则,你可能会得到意想不到的效果。

使远程工作人员可以访问模型依赖项

当您使用并行计算时,金宝app®优化设计™软件帮助您识别模型依赖项。为此,软件使用Simulink清单工具。金宝app依赖项分析可能无法找到模型所需的所有文件。想了解更多,请看依赖分析范围(金宝appSIMULINK)。如果模型是由平行的泳池工作人员漏检或无法访问的依赖关系,然后将它们添加到模型依赖的列表。

通过指定下列其中一项,并行池工作人员可以访问这些依赖项:

  • 文件的依赖性:模型相关文件复制到并行池的工人。

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

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

使用并行计算(GUI)执行敏感性分析

使用灵敏度分析工具中的并行计算进行灵敏度分析:

  1. 确保软件可以访问使用适当的群集配置文件并行池的工人。

    欲了解更多信息,请参阅为并行计算配置系统

  2. 打开Simulink模型的灵敏度分析工具。金宝app

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

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

  5. 选择并行选项选项卡。

  6. 选择评估过程中使用并行池复选框。

    此选项将检查您的Simulink模型的依赖。金宝app该文件相关显示在模型文件的依赖关系列表框,以及对应的文件路径模式路径依赖。列于模型文件的依赖关系复制到远程工作者。

    请注意

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

    欲了解更多信息,请参阅模型的依赖性。在这种情况下,手动添加未检测到的依赖项。

  7. 添加任何文件相关的自动检查不检测。

    指定的文件模型文件的依赖关系列表框,用分号分隔或在单独的行上分隔。

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

    请注意

    如果你不希望将文件复制到远程工作人员,删除所有条目模型文件的依赖关系列表框。填充模式路径依赖列表框,单击同步路径从依赖关系模型,并添加任何未被发现的路径依赖。另外,在列表框中,更新本地驱动器的路径,使他们远程工作人员访问。例如,更改C: \\ \ \ \主机名\ \ \ \加元

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

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

  9. 点击

  10. 在敏感性分析工具,单击评估使用并行计算来执行灵敏度分析。设计要求是在你的参数设置参数值的每个组合进行评估。

进行敏感性分析中的应用并行计算(代码)

使用并行计算评估模型:

  1. 确保软件可以访问使用适当的群集配置文件并行池的工人。

    欲了解更多信息,请参阅为并行计算配置系统

  2. 打开模型。

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

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

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

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

    请注意

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

  6. 修改包括任何文件的依赖关系sdo.getModelDependencies不检测。

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

    请注意

    如果你不希望将文件复制到远程工作人员,添加任何未被发现的路径依赖到迪尔斯并更新本地驱动器的路径,使他们远程工作人员访问。看到sdo.getModelDependencies更多细节。

  7. 添加文件相关性进行评估。

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

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

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

故障排除

为什么我没有看到我所期望的使用并行计算的计算速度?

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

另请参阅

|||

相关话题