MATLAB中parfor、parpool的代码及调试过程中可能遇到的几个问题

您所在的位置:网站首页 matlab运行卡住 MATLAB中parfor、parpool的代码及调试过程中可能遇到的几个问题

MATLAB中parfor、parpool的代码及调试过程中可能遇到的几个问题

2023-09-18 17:33| 来源: 网络整理| 查看: 265

用心记录代码生活

本人主要做一些,磁共振图像处理方面的工作,记录一些跑代码的时候遇到的问题,分享给大家,让大家少踩些坑,少掉点头发!!

开启parpool的代码

CoreNum=8; %设定机器CPU核心数量 if isempty(gcp('nocreate')) %如果并行未开启    parpool(CoreNum); end

关闭parpool的代码

delete(gcp) % 关闭并行池

如果不写开启和关闭,可以直接运行parfor ,会按照小于local max 核心 && 小于 Parallel Preference 中设置的number 自动运行。

一次性并行

如若spm软件只支持一次性核心运行(即每次运行完毕之后,并行池中还有数据存在,影响第二次并行)可以每次parfor后关闭并行池一次,到下次parfor自动开启。代码示例如下:

parfor  j = 1:10 Spdcm_Estimate(j,start_path,path,spdcmpath) end  delete(gcp) % 关闭并行池   parfor  j = 11:20 Spdcm_Estimate(j,start_path,path,spdcmpath) end  delete(gcp) % 关闭并行池   parfor  j = 21:30 Spdcm_Estimate(j,start_path,path,spdcmpath) end


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3