在一个工作中创建多个任务或创建多个作业每一个任务吗?

4视图(30天)
我想运行多个完全独立的脚本,它只与对方通过1或2参数,同时,所以我把主要部分写成一个函数并传递参数createJob和createTask遵循:
% Run_DMRG_HubbardKondo
UList = (1、2、4、8);
J_UList = [1, 0:0.2:2];
c = parcluster;
c。NumThreads = 3;
j = createJob (c);
国际单位= 1:元素个数(UList)
iJ_U = 1:元素个数(J_UList)
t = createTask (j @DMRG_HubbardKondo 0, {{UList (iU) J_UList (iJ_U)}});
结束
结束
提交(j);
等待(j,“完成”)
删除(j);
清晰的j t
退出
函数DMRG_HubbardKondo (U_Job J_U_Job)
%(跳过)
结束
如果我多次createJob createTask每一个?我知道有一些选项类似于createJob attachedfile。但对 独立性 createJob和createTask之间,有什么区别?我问关于独立性的原因是里面有setenv DMRG_HubbardKondo函数为:
函数DMRG_HubbardKondo (U_Job J_U_Job)
%(跳过)
DirTmp =“/ tmp /天鹅”;
setenv (“LMA”DirTmp)
帕拉。DateStr = DateStr (datetime (“现在”),30);
% RCDir命名参数和datetime
帕拉。RCDir = [DirTmp,' / RCStore '、Para.DateStr sprintf (“U % .4gJ % .4g”(U_Job J_U_Job])];
k = [strfind Para.Symm,“俗”),strfind (Para.Symm,“v”));
如果~ isempty (k)
RC = Para.RCDir
如果存在(RC,“dir”)= = 0
mkdir (RC);如果不存在%创造
流([RC,“。\ n”])
结束
setenv (“RC_STORE”、RC);
setenv (“CG_VERBOSE”,' 0 ');
结束
%(跳过)
结束
主要部分DMRG_HubbardKondo将使用一些mex-compiled功能像 wigner-eckart定理 。具体地说,它将生成和检索数据(cg系数)RCDir在每一个步骤。我想这些 mex-compiled 函数会找到相应的RCDir由“ 采用 “我想知道 createJob / createTask是否正常工作
我知道 sbatch工作 通过编写一个脚本:
函数GenSubmitsh(分区、nodeNo TLim NCore, mem, logName, JobName, ParaName, ScriptName)
如果isnan (nodeNo)
nodeStr =“# # SBATCH——节点列表=汽车\ n ';
其他的
nodeStr = sprintf (“# SBATCH——节点列表=节点% g \ n ',nodeNo);
结束
Submitsh = sprintf ([
“# !/bin/bash - l \ n”,
“# SBATCH——分区= % s \ n ',
nodeStr,
“# SBATCH——排除= node1051 \ n ',
# SBATCH——时间= % s \ n ',
“# SBATCH——节点= 1 \ n”,
“# SBATCH——ntasks = 1 \ n”,
“# SBATCH——cpus-per-task = % g \ n ',
“# SBATCH——mem = % s \ n ',
“# SBATCH——输出= % s \ n ',
“# SBATCH——作业名= % s \ n ',
' \ n ',
“# #不删除或改变这条线在GU_CLUSTER \ n”,
'出口OMP_NUM_THREADS # # = $ SLURM_CPUS_PER_TASK \ n ',
' \ n ',
“回声”工作开始“\ n”,
“日期\ n”,
' \ n ',
“matlab -nodesktop -nojvm -nodisplay - r " ParaName = " % s " % s " \ n ",
' \ n ',
“回声”工作完成“\ n”,
“日期\ n”),
分区,TLim NCore, mem、logName JobName, ParaName, ScriptName);
文件标识= fopen (“Submit.sh”,' w ');
流(文件标识,' % s ',Submitsh);
文件关闭(文件标识);
结束
我希望createJob将等同于工作(即。完全独立的)。
总之,我的问题是:
  1. 区别在一个工作中创建多个任务,每个都有一个任务创建多个工作。
  2. createJob / createTask工作为我的函数吗?

答案(0)

下载188bet金宝搏


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!