it-swarm-ja.com

AWSのSlurmはslurmstepdを返します:エラー:execve()::そのようなファイルまたはディレクトリはありません

このチュートリアル に従って Slurm を使用して、バースト可能でイベント駆動型のHPCクラスターをAWSにインストールしました。

このインストールにより、EC2のSlurm環境でインスタンスをバーストしてジョブを実行できます。実行後:

#!/bin/bash
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=2
#SBATCH --cpus-per-task=1
#SBATCH --constraint=[us-east-1a]

$sinfo 戻り値:

PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
all*         up   infinite      2   idle ip-10-0-1-[6-7]
gpu          up   infinite      2   idle ip-10-0-1-[6-7]

hostnameのようなシステムコマンドを実行しようとすると、ノードから応答が返されますが、helloworldCのような単純なカスタム実行可能ファイルを実行しようとすると次のようになります。

$srun --export=ALL -N 2 -n 2 ./helloworld

それは戻ります:

Exited with exit code 2
slurmstepd: error: execve(): /home/centos/./helloworld: No such file or directory.

カスタムジョブを適切に送信するには、何を設定する必要がありますか?

1
Serialchiller

以前に作業したクラスターのように、実行可能ファイルがすべてのノードに自動的にコピーされるわけではありません。 srunにそのように明示的に指示する必要がありました。

srun --export=ALL --bcast=/home/centos/helloworld -N 2 -n 2 helloworld

実行可能ファイルをコピーして、ノードで実行します。または、Bashでsbcastを使用することもできます。

1
Serialchiller