Когда я использую ray для создания актеров и учеников в A2C, должен ли я установить inter_op_parallelism_threads
и intra_op_parallelism_threads
на 1
или оставить его по умолчанию?
Должен ли я установить для `inter_op_parallelism_threads` и `intra_op_parallelism_threads` значение 1, когда я использую луч для создания актера?
Ответы (1)
Это зависит от того, сколько ресурсов вы хотите, чтобы актер использовал. Если для данного актера есть выделенная машина, и актор может использовать все ресурсы на этой машине, тогда используйте настройки TensorFlow по умолчанию. Если вы создаете больше одного актера на ядро, хорошей идеей будет установить для inter_op_parallelism_threads
и intra_op_parallelism_threads
небольшие значения, например 1 или 2.
В общем, вы можете попробовать оба подхода и посмотреть, какой из них быстрее.
person
Robert Nishihara
schedule
24.03.2019
Спасибо, значит, если я создам актора на ядро, то оба должны быть установлены на 1?
- person Maybe; 25.03.2019
Да, хотя стоит также попробовать установить
inter_op_parallelism_threads
на 2, чтобы посмотреть, как это работает. В зависимости от того, что на самом деле делают актеры (например, некоторые из них бездействуют какое-то время), это может работать лучше. Однако, если все они все время заняты, то 1 предотвратит слишком много разногласий между актерами.
- person Robert Nishihara; 26.03.2019
Спасибо тебе за твое терпение. Теперь я понимаю большую часть вашего ответа, за исключением того, что 1 предотвратит слишком много разногласий между актерами
. If I've clearly set
num_cpus=1`, будут ли все еще какие-либо разногласия между актерами?
- person Maybe; 26.03.2019
Да, конфликт все еще может быть, когда вы укажете
num_cpus=1
в удаленном декораторе, планировщик Ray позаботится о том, чтобы не создавать более одного такого актера на ядро. Однако актор по-прежнему может быть сильно многопоточным и по-прежнему может использовать все доступные ядра ЦП. Рэй на самом деле не мешает актеру использовать все ресурсы машины. Имеет ли это смысл?
- person Robert Nishihara; 26.03.2019
Я понимаю. Пожалуйста, позвольте мне повторить и посмотреть, правильно ли я понимаю. Если я украшаю всех актеров
num_cpus=1
, максимальное количество актеров, которое можно создать, равно количеству процессоров, указанному в ray.init
. Но ничего не говорится о том, сколько ресурсов процессора разрешено использовать актеру.
- person Maybe; 26.03.2019