Есть ли способ просмотреть содержимое PBS_NODEFILE с помощью пакетных сценариев PBS?

#mpi #pbs

#mpi #pbs

Вопрос:

Я прочитал на qsub странице руководства, что PBS_NODEFILE создается, как только mpirun, mpiexec, aprun, что угодно, начинает выполняться. Есть ли способ просмотреть его содержимое? Я попробовал следующее:

C code catfile.c:

 #include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv) {
  char command[256];
  MPI_Init(amp;argc, amp;argv);
  sprintf(command, "%s %sn", "cat", argv[1]);
  printf("%sn", command);
  system(command);
  MPI_Finalize();
}
  

В моем пакетном скрипте я запускаю с

 cc -o catfile catfile.c
aprun -n 1 ./catfile $PBS_NODEFILE
  

Вывод

 cat /var/spool/PBS/aux/1894.pbs01

cat: /var/spool/PBS/aux/1894.pbs01: No such file or directory
  

Это все, что у меня есть. Есть ли другой способ? Спасибо.

Комментарии:

1. Я думаю, вы неправильно поняли эту часть. Просто отправьте параллельное задание и cat $PBS_NODEFILE в вашем скрипте.

2. Расширение переменной $PBS_NODEFILE происходит в сеансе оболочки, в котором вы написали aprun -n 1 ./catfile $PBS_NODEFILE , и, таким образом, вы уже исправили аргумент catfile . При catfile запуске он выполняет это на другом хосте, отличном от того, на котором вы ввели команду, и пытается получить доступ к несуществующему файлу, поскольку /var он не является общим для разных узлов.