主要内容

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

为并行计算配置系统

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

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

parpool (MyProfile);

MyProfile集群配置文件的名称。

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

模型的依赖性

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

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

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

通过指定以下之一,并行池工作者可以访问这些依赖项:

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

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

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

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

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

  1. 确保软件可以访问使用适当集群概要文件的并行池工作者。

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

  2. 打开灵敏度分析仪用于Simuli金宝appnk模型。

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

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

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

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

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

    请注意

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

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

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

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

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

    请注意

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

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

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

  9. 点击好吧

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

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

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

  1. 确保软件可以访问使用适当集群概要文件的并行池工作者。

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

  2. 打开模型。

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

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

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

    [dirs,files] = 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,samples,opt);

故障排除

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

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

另请参阅

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

相关的话题