小编use*_*148的帖子

替代 wait -n (因为服务器有旧版本的 bash)

我想解决以下有关提交已并行化到特定节点的作业的问题。


让我从解释我的问题的结构开始

我有两个非常简单的 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.mf.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)

shell bash matlab parallelism

5
推荐指数
1
解决办法
1452
查看次数

标签 统计

bash ×1

matlab ×1

parallelism ×1

shell ×1