我正在使用带有附加工具箱的 MATLAB 2017a,即图像处理、统计、并行处理和集群计算,并获得 300 名工人的许可证。操作系统是 Windows server 2012 R2,每 25 个工作人员有 1 TB 内存。
为了测试,我打开了 10 个 MATLAB 会话,就好像在一个 HPC 中心有 10 位不同的研究人员一样,并且spmd
每个有 25 名工人使用。spmd
在分配 25 个 3-band ortho-rect 之后,语句被策略性地放置。图像到单个 4-dim 数组。第一条spmd...end
语句是为 25 个工作人员创建分布式数组和本地部件,第二条spmd...end
语句用于建模。最后,从复合变量中提取结果并写入磁盘。
问题:这个问题意味着这 10 名研究人员被分配到其他项目,而一名研究人员必须继续。开 10 次 Matlab 会很麻烦,因为每次会话只能打开一个 parpool。使用 createjob,您可以创建一个具有 300 个工作人员的完整大小的 mjs,并且每个工作都可以访问下一个可用的 25 个工作人员。