【问题标题】:Does Matlab Parallel Computing Toolbox consume other licenses (e.g. image processing)?Matlab Parallel Computing Toolbox 是否使用其他许可证(例如图像处理)?
【发布时间】:2012-01-11 21:53:50
【问题描述】:

考虑以下代码:

matlabpool 10;

parfor i=1:10
    img = imread(foo(i));
end

集群是使用 sge 设置的。我的问题是这段代码是否会为每个工人消耗更多的 matlab 基本和图像处理工具箱许可证?

感谢您的帮助!

【问题讨论】:

    标签: matlab


    【解决方案1】:

    如果您单独使用 Parallel Computing Toolbox,那么 parfor 将在一台机器上运行多达 8 个并行进程,因此每个附加工具箱只消耗一个许可证(因为 Matlab 许可证是在每台机器上签出的)用户;在一台机器上运行两个 Matlab 实例的单个用户只消耗一个许可证)。

    如果您使用分布式计算服务器工具箱,每个工具箱的一个许可证将被签出per person per job,因此如果您想在集群上运行两个作业(每个作业数量不限),您需要两个每个工具箱许可证。

    编辑 @Edric 指出您可以在提交作业后退出客户端,这意味着额外的工具箱许可证被释放。因此,只要您有足够的分布式计算服务器许可证来运行所有工作人员,您就可以运行任意数量的并行作业。

    【讨论】:

    • 这不太对。 (非本地)工作人员仅使用 MDCS 工作人员许可证,没有其他内容。
    • @Edric:所以你是说如果你开始一个 MDCS 工作,你只需要一个 MDCS 许可证给每个工人,但你不需要任何其他许可证来运行整个工作?因为我说的是如果你经营两个工作,你需要每个许可证两个,而不是工人数量的两倍
    • @Jonas:提交客户端只需要 MATLAB+PCT+相关工具箱许可证,工人只需要 MDCS 许可证。因此,如果您在提交后退出您的客户端,则使用中的唯一许可证是 MDCS,即使该作业使用例如工人上的图像处理工具箱。
    • @Edric:感谢您的回答。那实际上会很棒。你有任何参考来支持你的评论吗?
    • @YCAI 此页面mathworks.com/products/distriben/supported/sched/… 声明“您的计算机集群上唯一需要的许可证类型是 MATLAB 分布式计算服务器工作许可证。”
    【解决方案2】:

    Parallel Computing Toolbox 允许您使用 MATLAB 客户端上的集群许可证。在您的情况下,您使用的是 SGE,因此您在工作人员上使用 MDCS 许可证。每个工作进程仅使用一个 MDCS 工作许可证,但允许使用您的客户获得许可的所有产品。

    【讨论】:

    • 你说的是“分布式计算工具箱”,问题是关于“并行计算工具箱”
    • @Ali:据我了解:您发送作业的客户端必须有并行计算工具箱。发送作业的位置必须有分布式计算服务器。所以两者非常相关
    • @Ali:YCHAI 完全正确,在这种情况下,工人使用的是 MDCS 许可证。
    • 我不知道您需要 Par.Comp。使用 Dist 的许可。比较。服务器。我使用它的方式,在 8 核机器上,我有 Par.Comp。我使用 parfor 并行运行 for 循环。
    • @Ali:对,如果你只有PCT,可以使用本地调度器;如果您有 PCT + MDCS,则可以使用其他调度程序,例如 OP 正在使用的 SGE。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 2014-06-01
    相关资源
    最近更新 更多