Parallel processing 限制Matlab';s并行工具箱,避免使用所有内核
是否有可能拒绝Matlab访问所有内核?目前机器上有8个,但我想将Matlab的使用量减少到每个用户3个,这样一个用户就不会在所有8个上开始一项工作,从而减慢其他用户的速度Parallel processing 限制Matlab';s并行工具箱,避免使用所有内核,parallel-processing,matlab,Parallel Processing,Matlab,是否有可能拒绝Matlab访问所有内核?目前机器上有8个,但我想将Matlab的使用量减少到每个用户3个,这样一个用户就不会在所有8个上开始一项工作,从而减慢其他用户的速度 我没有分布式计算服务器许可证。。。只需普通的旧并行程序工具箱在提交作业对象之前,通过设置作业对象的MaximumNumberOfWorkers属性,您可以自愿限制作业使用的工人数量 jobMgr = findResource(...appropriate parameters for your job manager her
我没有分布式计算服务器许可证。。。只需普通的旧并行程序工具箱在提交作业对象之前,通过设置作业对象的
MaximumNumberOfWorkers
属性,您可以自愿限制作业使用的工人数量
jobMgr = findResource(...appropriate parameters for your job manager here...);
job = createJob(jobMgr);
set(job, 'MaximumNumberOfWorkers', 3);
% create some tasks and add them to the job here
submit(job);
waitForState(job, 'finished');
results = getAllOutputArguments(job);
当你说每个用户时,你是在暗示多个用户可以同时提交到这台机器上吗?这肯定会使事情复杂化,因为我有一些示例代码,可能会显示一些您不熟悉的命令,这些命令将帮助您实现目标 这是一些代码,我使用尽可能多的核心,最多8个 ncores=特征(“numCores”);
nworkers=最小值(8,ncores) 在MATLAB中无法强制执行严格的限制,但您可以设置本地调度器的“”属性。不幸的是,这必须由每个用户完成。除此之外,您还需要使用操作系统功能,但我不确定是否存在这样的功能。是的。。。没有运行系统范围的作业管理器。它只是一个为所有用户安装了matlab的服务器。因此,在本地调度器允许的情况下,每个用户都可以启动自己的matlab实例并请求最多8个内核。当不止一个用户开始这样做时,这就成了一个问题。