В последней (v1.8.3
) документации OpenMPI указывается, что в файлах рейтингов теперь должны использоваться логические идентификаторы процессора, сообщаемые hwloc
, а не физические идентификаторы, см. последнее предложение в разделе Rankfiles
документа mpirun
документация здесь:
Начиная с Open MPI v1.7, расположение всех слотов сокетов/ядер указывается как логические индексы (в серии Open MPI v1.6 использовались физические индексы). Вы можете использовать такие инструменты, как «lstopo» HWLOC, чтобы найти логические индексы сокетов и ядер.
Я заметил несколько вопросов на этом сайте (особенно этот вопрос и ответ на этот вопрос), которые указывают, что можно указать физический идентификаторы процессора в ранжированном файле openMPI, добавив к идентификатору префикс p
. Например:
rank 0=localhost slot=p0
rank 1=localhost slot=p8
rank 2=localhost slot=p1
rank 3=localhost slot=p9
Чтобы запросить идентификатор физического процессора 0
для ранга 0
, идентификатор физического процессора 8
для ранга 1
и т. д.
Я пытался найти этот синтаксис в документах OpenMPI безрезультатно. Я также пытался найти кого-нибудь, кто на самом деле попытался построить файл ранжирования таким образом в OpenMPI 1.6.4
, который, как он сообщил, также не работает.
С какими версиями OpenMPI работает этот синтаксис? Это где-нибудь задокументировано? Каков формальный синтаксис?
lstopo -l
для получения логических идентификаторов. Затем поместите в Rankfileslot=logicalID
. - person Hristo Iliev   schedule 13.11.2014lstopo
для каждого хоста, указанного в файле рейтинга. Это просто неприемлемо для нашего варианта использования. Вот почему мне любопытны версии openmpi, которые поддерживают нотациюp
для указания физических идентификаторов, и конкретный синтаксис этой нотации. - person Squirrel   schedule 13.11.2014