将参数传递给 slurm 脚本(matlab)

Passing a parameter into a slurm script (matlab)

我正在使用 slurm 向大学超级计算机提交作业。我的 matlab 函数有一个参数:

功能测试(variable_1)

我的slurm文件是(我不确定它是否正确。我知道如何在slurm文件中定义参数的值,但我想根据需要将值传递给slurm文件运行 matlab 函数多次使用不同的参数值):

#!/bin/bash -l

#SBATCH --time=2-00:00:00

#SBATCH --job-name="test"

#SBATCH --nodes=1

#SBATCH --ntasks=1

#SBATCH --mem=4gb

#SBATCH -p small

module load matlab/R2021a

matlab -nodisplay -nodesktop -nosplash -r "test variable_1"

我尝试使用以下代码(例如,我想设置variable_1=12)来提交作业,但没有成功。

sbatch  test.slurm 12

谁能帮我解决这个问题?谢谢!

Bash 脚本的第一个参数存储在名为 </code> 的环境变量中。所以脚本的最后一行应该是</p> <pre><code>matlab -nodisplay -nodesktop -nosplash -r "test "

请注意,如果参数是数字,您可能需要先在 Matlab 脚本中使用 str2num 将其从字符串转换为整数。