Allow users specify number of threads when running on CPU via the extension to --always-cpu arg #1601
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have changed the
--always-cpu
argument to integer, if in the command line this argument is followed by a number greater than 0 it will be used intorch.set_num_threads()
and override the default value.On my 8 core AMD 7840U which supports 16 threads I noticed I got ~70% CPU utilization while running image generation. As i discovered PyTorch doesn't seem to be benefiting from SMT and sets the number of threads to the number of physical cores.
By increasing the number of threads from default 8 to 15 I received ~5% performance increase and 100% CPU utilization (see screenshots).
8 threads, 78.2 seconds/iteration
15 threads, 72.8% seconds/iteration