我想对同一程序进行 4 次不同的 mpi 执行,节点数不同。输出应该是 n_out.txt 取决于节点。我尝试了以下 .sh 文件,
#!/bin/bash
#SBATCH --partition=halley
#SBATCH --job-name=deniz
#SBATCH --output=out.txt
#SBATCH --nodes=16
mpicc parallelTournament.c -o parallelTournament -lm
mpiexec -n 16 --output-filename 16_out.txt ./parallelTournament 16
mpiexec -n 8 --output-filename 8_out.txt ./parallelTournament 16
mpiexec -n 4 --output-filename 4_out.txt ./parallelTournament 16
mpiexec -n 1 --output-filename 1_out.txt ./parallelTournament 16
但它给出了一个错误:
A call to mkdir was unable to create the desired directory:
Directory: /home/16_out.txt/1
Error: Not a directory
Please check to ensure you have adequate permissions to perform
the desired operation.
我知道我不能用 --output-filename 指定输出文件名,而是指定它应该位于的目录。
如何将 n_out.txt 作为所有执行的输入?