Работает на нескольких сердечках с использованием MPI

StackOverflow https://stackoverflow.com/questions/6060836

  •  15-11-2019
  •  | 
  •  

Вопрос

Я использую настоящую команду, чтобы отправить MPI Jobs Mindows: MPIRUN -NP No. Номер, файлы имени файла

Мое понимание состоит в том, что вышеуказанная команда позволяет мне представить 4 независимых процессора, которые взаимодействуют через MPI. Однако при нашей установке каждый процессор имеет 4 ядра, которые не используются Отказ Вопросы, которые у меня были следующие:

  1. Возможно ли отправить работу для запуска на нескольких ядрах на одном узле или нескольких узлах из командной строки MPI RUN? Если так, как?

  2. требует ли вышесказанное специальные комментарии / настройки в коде? Из читающей литературы я понимаю, что время связи между ядрами может отличаться от процессоров, поэтому он требует некоторого мышления о том, как проблема распространяется ... Но для этого вопроса? Что еще нужно оценить?

  3. Наконец, есть ли ограничение на то сколько передано количество данных? Есть ли ограничение на то, сколько данных автобус может отправлять / получать? Есть ли ограничение в кеше?

    Спасибо!

Это было полезно?

Решение

So 1 is a question about launching processes, and 2+3 are questions about, basically, performance tuning. Performance tuning can involve substantial work on the underlying code, but you won't need to modify a line of code to do any of this.

What I understand from your first question is that you want to modify the distribution of the MPI processes launched. Doing this is necessarily outside the standard, because it's OS and platform dependant; so each MPI implementation will have a different way to do this. Recent versions of OpenMPI and MPICH2 allow you to specify where the processors end up, so you can specify two processors per socket, etc.

You do not need to modify the code for this to work, but there are performance issues depending on core distributions. It's hard to say much about this in general, because it depends on your communication patterns, but yes, the "closer" the processors are, the faster the communications will be, by and large.

There's no specified limit to the total volume of data that goes back and forth between MPI tasks, but yes, there are bandwidth limits (and there are limits per message). The cache size is whatever it is.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top