Максимум потоков и оптимальных потоков - PullRequest
0 голосов
/ 08 марта 2019

У меня есть гибридный код MPI + OpenMP с использованием C-программирования.Перед запуском кода я устанавливаю потоки, которые хочу использовать в Linux Bash:

!# /bin/sh
export OMP_NUM_THREADS=1

Однако, если я хочу использовать максимальное количество потоков на этом компьютере, как я могу установить в среде Linux bash, напримервыше?

1 Ответ

0 голосов
/ 08 марта 2019

Как правило, реализации OpenMP достаточно умны, чтобы обеспечить хорошее значение по умолчанию для количества потоков.Например:

  • Если вы запускаете программу OpenMP без каких-либо настроек OMP_NUM_THREADS и MPI вообще не существует, OpenMP обычно определяет количество ядер и использует их все.
  • Если есть MPI и процессы MPI связаны с подмножеством машины посредством закрепления процессов, например, один ранг на сокет процессора, OpenMP унаследует это подмножество, и реализация автоматически будет использовать только это подмножество.

Во всех этих случаях и в большинстве других случаев вам вообще не нужно устанавливать OMP_NUM_THREADS.

Если вы можете поделиться более подробной информацией о том, чего вы пытаетесь достичь, можно предоставить более подробную информацию.подробный ответ о том, что вам нужно сделать.

...