PrimeTime中的DMSA

第一次尝试使用PT的DMSA,步骤存在太多的弯弯绕绕了,这里记录一下。

一、什么是DMSA

在PT中,我们将一种operating mode(如FUNC、DFT等)和一种operating condition(如WC、WCZ、AVS等)的组合称成为scenario,显然【scenarios = modes * conditions】。PT为了节省时间,支持并行地对这些scenarios进行分析。这些scenarios通过ssh、lsf等工具被提交到不同的host上进行计算(支持多种通信工具同时工作),因此这种技术被称为Distributed Multi-Scenario Analysis(DMSA)。在计算过程中,由master process控制其它的worker processes,可以简单地认为在每个work_process上对应着一种scenario的分析,PT通过这种并行分析节省了总时间。DMSA模式通过-multi_scenario选项启动,或者将multi_scenario_enable_analysis变量设置为true。

pt_shell -multi_scenario

二、scenario、session和command focus的关系

如下图,scenario的创建由命令create_scenario完成,PT支持两种创建方式。

  • 使用-common_data-specific_data来创建scenario
create_scenario \
-name s1 \
-common_data common_data_scenarios_s1_s3.tcl \
-specific_data specific_data_scenario_s1.tcl

-common_data中指定的是多个scenarios共享的数据,-specific_data中指定的是当前创建的scenario特有的数据。与之对应的还有-common_variables和-specific_data用于指定变量。整个创建的过程类似于我们PT在单场景分析模式下创建一个新的session。

  • 使用-image读取保存的session来创建scenario
create_scenario -name s4 \
-image pre_session_dmsa/s4_pre_eco_session

这里使用的session可以是PT在单场景分析模式下保存的session,也可以是DMSA模式下保存的session。该命令和restore_session比较类似,只不过这里的一个session会被当作一种scenario来进行分析。

显然,我们可以由多条create_scenario命令来创建多种scenarios。为了便于管理,PT又定义了current_sessioncurrent_scenario两条命令,这两条命令提供了更精细化的选择和控制。current_scenario是current_session的子集,只有被current_scenario选中的scenarios,才能被我们的命令所影响(remote_execute,后面会详细介绍)。所幸的是我们一般不用同时指定current_session和current_scenario,因为默认状态下,current_session下所有的scenario都是选中(focus)的状态,所以我们只需要指定current_session就行了。

 三、set_host_options命令

由于DMSA是一种分布式的计算方式,所以我们需要通过set_host_options命令来指定我们需要的计算资源。下图是set_host_options的一个简单例子,如果你有很多不同类型的计算资源,显然可以多次调用set_host_options来设定你准备使用的计算资源。需要注意的是,我们会给每个scenario分配一个process(real or virtual)来进行计算。

  • -local_process:                 用于指定local_host上的计算资源。
  • -num_processes number:用于指定有多少processes使用当前的host_option设定。
  • -max_cores number:        用于指定每个process上最多使用的core。
  • -protocol auto | custom | lsf | netbatch | pbs | rsh | rtda | sge | sh | ssh:用于指定local host和远程计算资源之间通信的协议,选好后还需要指定提交job和kill job的命令,这里就不展开说明了。
  • -load_factor number:        用于指定每个real process可以展开成多少个process(real+virtual)。该选项的意义有两点,一是如果你的计算集群上的机器小于scenerio,可以让一台机器计算多个scenarios;二是同一台机器上的scenarios的计算交互是基于内存的,因此可以减少数据交互的时间。

还有很多其它选项,详细的说明可以参考用户手册,上面的例子还是很详细的:

redirect set_host_options.man {man set_host_options}
sh gvim set_host_options.man &

在指定好计算资源后,我们可以使用report_host_usage来查询host_option的设置。检查OK后,通过start_hosts命令让hosts上线(online)。

report_host_usage
start_hosts

四、remote_execute命令

为了能让部分或者全部的scenarios执行我们的命令,我们首先使用current_sessioncurrent_scenario两条命令将对应的scenarios选中(focus)。然后将需要执行的命令放在remote_execute语句内,remote_execute语句支持两种类型的远程执行。

  • 基于remote上下文的remote_execute(花括号),也就是说变量的值基于remote worker环境
remote_execute {
    # variable all_in evaluated at worker
    report_timing -from $all_in -to [all_outputs]
}
  • 基于master上下文的remote_execute(双引号),也就是说变量的值基于master环境
remote_execute "
    # variable all_out evaluated at master
    report_timing -to $all_out
"

由于这种远程执行是针对于每个被选中的scenario,所以每个scenario都会产生对应的报告。PT同样支持基于这些被选中的scenarios产生一个总的merged的报告,此时只需要将命令放在remote_execute外执行即可。以下的命令支持产生merged的报告。

 这里再补充一张user guide中的流程图帮助加深理解。

谢谢阅读!

### 回答1: primetime 是一个视频编辑软件,用于剪辑、调色和修饰各种视频素材。它的使用手册非常详细,为用户提供了全面的指导和解释,以便更好地使用该软件。 首先,primetime 使用手册介绍了软件的基本概念、界面和基本操作。用户可以从了解primetime的工作流程,掌握软件的核心功能。 其次,手册详细解释了primetime的各种工具和效果,并提供了一些常用的技巧和技术,例如调整对比度、色彩平衡和模糊等效果,以及如何添加和修改文本、图像和声音等素材。 最后,手册还提供了一些实用的建议和技巧,例如如何使用primetime进行视频编码、如何导出成品视频和如何使用特定的格式和分辨率等。 总的来说,primetime 使用手册是一个非常全面、详细和实用的指南,可以帮助用户掌握 primetime 的核心功能和技术,进而将素材剪辑为高质量的视频成品。 ### 回答2: Primetime使用手册是用户学习和使用Primetime软件操作的指南手册。使用手册主要分为三个部分,分别是软件简介、用户教程和功能手册。 软件简介部分介绍了Primetime软件的基本信息以及软件的安装和启动方式。用户教程部分详细介绍了Primetime软件的各项功能操作,包括文件上传、编辑和审核等功能的使用方法。功能手册则列出了Primetime软件的功能菜单和快捷键,方便用户使用。 在使用手册上,用户可以对Primetime软件进行全方位的了解和学习。用户可以通过学习使用手册了解Primetime软件的各项功能,掌握软件的使用技巧和操作方法。在熟悉软件的基本操作后,用户可以快速熟练地进行各项操作,提高工作效率。 此外,使用手册还提供了常见问题解答和技术支持,用户在使用Primetime软件过程,遇到问题可以查看常见问题解答及技术支持,以便及时解决问题。 总之,Primetime使用手册是帮助用户学习和掌握Primetime软件使用的重要工具,让用户能够更加高效、方便地使用Primetime软件,提高工作效率,实现自我价值。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值