Установка nprocs () с помощью файла ./startup.jl - PullRequest
3 голосов
/ 02 марта 2020

Почему настройки ENV[JULIA_CPU_THREADS]=5 и ENV[JULIA_NUM_THREADS]=5 не влияют на nprocs()? Вот что я получаю при запуске:

julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
  JULIA_CPU_THREADS = 5
  JULIA_NUM_THREADS = 5
julia> nprocs()
1

То есть переменные среды устанавливаются, а процессы не распределяются?

1 Ответ

4 голосов
/ 02 марта 2020

Причина в том, что потоки не являются процессами. Существуют разные виды «параллелизма». Процессы используются для распределенных (многоядерных) вычислений, потоки - для многопоточности (на одном компьютере / узле). Дополнительную информацию смотрите в разделе Параллельные вычисления документации Julia.

Для запуска Julia с несколькими процессами используйте флаг командной строки -p N, где N - количество рабочих процессов. , Кроме того, вы можете addprocs, чтобы программно добавлять процессы в скрипт (например, startup.jl).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...