我想解决以下有关提交已并行化到特定节点的作业的问题。
让我从解释我的问题的结构开始
我有两个非常简单的 Matlab 脚本
1) main.m
clear
rng default
P=2;
grid=randn(4,3);
jobs=1;
Run Code Online (Sandbox Code Playgroud)
2) 调频
sgetasknum_grid=grid(jobs*(str2double(getenv('SGE_TASK_ID'))-1)+1: str2double(getenv('SGE_TASK_ID'))*jobs,:); %jobsx3
result=sgetasknum_grid+1;
filename = sprintf('result.%d.mat', ID);
save(filename, 'result')
exit
Run Code Online (Sandbox Code Playgroud)
我想做的是:
运行 main.m;
然后,运行 fm 4 次,允许每次并行执行2 个任务
一切都应该在节点A上执行
这是我如何实现上述步骤
1)我保存main.m
并f.m
放入一个名为My_folder
2)我创建如下脚本td.sh
并将其保存到文件夹中My_folder
#!/bin/bash -l
#$ -S /bin/bash
#$ -l h_vmem=5G
#$ -l tmem=5G
#$ -l h_rt=480:0:0
#$ -cwd
#$ -j y
#$ -N try
date
hostname
J=4 #number …
Run Code Online (Sandbox Code Playgroud)