LSF: о запросе узлов, исключительном выборе узлов и запуске mpirun

Меня очень смущает отправка задания в многопользовательской кластерной среде. Я использую сценарий со следующей головой

#BSUB -L /bin/bash
#BSUB -n 10
#BSUB -J jobname
#BSUB -oo log/output.%J
#BSUB -eo log/error.%J
#BSUB -q queue_name
#BSUB -P project_name
#BSUB -R "span[ptile=12]"
#BSUB -W 2:0

mpirun ./someexecutable

В моем намерении эти задания должны выполняться на 10 процессорах (ядрах) и охватывать 1 весь узел (потому что каждый узел на машине имеет 12 ядер), поэтому узел полностью принадлежит мне, и никакой другой пользователь не вмешивается в мой узел. Я явно проверил, и похоже, что мой код использует 10 ядер во время выполнения.

Сейчас я с кем-то разговариваю, и они говорят мне, что таким образом я на самом деле прошу 120 ядер. Я думаю, что это неправильно, но, возможно, я неправильно понял инструкцию

https://www.ibm.com/support/knowledgecenter/en/SSWRJV_10.1.0/lsf_admin/span_string.html

Могу я использовать вместо этого?

#BSUB -R "span[hosts=1]" 

person simona    schedule 25.02.2018    source источник
comment
В вашем описании говорится, что вам нужно эксклюзивное планирование. Обратите внимание, что если ваша библиотека MPI не имеет специальной поддержки LSF, вы можете в конечном итоге работать только на одном узле, независимо от того, сколько узлов было действительно выделено или сколько ядер было выделено этому узлу.   -  person Gilles Gouaillardet    schedule 25.02.2018
comment
на самом деле я работаю на 10 ядрах, потому что я проверил. кто-то сказал мне, что если я использую mpirun -np 10 ./someexecutable, я буду работать на 10 виртуальных ядрах для каждого ядра, верно?   -  person simona    schedule 25.02.2018
comment
а как насчет #BSUB -R "span[hosts=1]" вместо этого?   -  person simona    schedule 25.02.2018
comment
что ты проверял? количество выделенных ядер? или количество задач MPI? mpirun -np 10 a.out будет выполнять 10 задач MPI. это независимо от того, сколько узлов и сколько ядер было выделено на узел. кстати, почему бы вам не спросить этого кого-нибудь напрямую?   -  person Gilles Gouaillardet    schedule 25.02.2018
comment
Я проверил во время выполнения, используя mpi_comm_size. ‹< почему бы вам не спросить кого-нибудь напрямую? ›› потому что у меня нет их поблизости, чтобы спросить, иначе я бы   -  person simona    schedule 25.02.2018
comment
имейте в виду, что вы проверили, сколько задач MPI было запущено, что может отличаться от количества выделенных ядер.   -  person Gilles Gouaillardet    schedule 25.02.2018


Ответы (1)


В моем намерении эти задания должны выполняться на 10 процессорах (ядрах) и охватывать 1 весь узел.

Да, вы хотите использовать

#BSUB -n 10
#BSUB -R "span[hosts=1]"

Это означает, что нужно поставить работу только на 1 хост.

и никакой другой пользователь не вмешивается в мой узел

Вы можете получить эксклюзивный доступ к хосту с

#BSUB -x

К вашему сведению. Вы можете думать о

#BSUB -R "span[ptile=x]"

as, поместите не более x слотов на один хост.

person Michael Closson    schedule 26.02.2018