【发布时间】:2012-01-11 21:53:50
【问题描述】:
考虑以下代码:
matlabpool 10;
parfor i=1:10
img = imread(foo(i));
end
集群是使用 sge 设置的。我的问题是这段代码是否会为每个工人消耗更多的 matlab 基本和图像处理工具箱许可证?
感谢您的帮助!
【问题讨论】:
标签: matlab
考虑以下代码:
matlabpool 10;
parfor i=1:10
img = imread(foo(i));
end
集群是使用 sge 设置的。我的问题是这段代码是否会为每个工人消耗更多的 matlab 基本和图像处理工具箱许可证?
感谢您的帮助!
【问题讨论】:
标签: matlab
如果您单独使用 Parallel Computing Toolbox,那么 parfor 将在一台机器上运行多达 8 个并行进程,因此每个附加工具箱只消耗一个许可证(因为 Matlab 许可证是在每台机器上签出的)用户;在一台机器上运行两个 Matlab 实例的单个用户只消耗一个许可证)。
如果您使用分布式计算服务器工具箱,每个工具箱的一个许可证将被签出per person per job,因此如果您想在集群上运行两个作业(每个作业数量不限),您需要两个每个工具箱许可证。
编辑 @Edric 指出您可以在提交作业后退出客户端,这意味着额外的工具箱许可证被释放。因此,只要您有足够的分布式计算服务器许可证来运行所有工作人员,您就可以运行任意数量的并行作业。
【讨论】:
Parallel Computing Toolbox 允许您使用 MATLAB 客户端上的集群许可证。在您的情况下,您使用的是 SGE,因此您在工作人员上使用 MDCS 许可证。每个工作进程仅使用一个 MDCS 工作许可证,但允许使用您的客户获得许可的所有产品。
【讨论】: