'Tensorflow: num_intra_threads and num_inter_threads

I'm trying to clarify two parameters: intra_op_parallelism_threads and inter_op_parallelism_threads . I assume intra_op_parallelism_threads means the number of threads tensorflow can use to parallel a single ops and inter_op_parallelism_threads means the number of threads tensorflow can use to parallel multiple ops when those ops can be run concurrently. If so, I have two questions:

  1. Why does each tensorflow process create two seperate threadpools? According to the doc for tf.configproto, two seperate thread pools are created based on two parameters, but I assume only the inter_op_parallelism_thread pool is containing the threads that can run the ops, right?

  2. Why does Intel use the following configuration?

a busy cat
(source: intel.com)

If inter-op consists with inter_op_parallelism_threads, does it mean tensorflow can have 44 threads for a single op but 1/2 for multiple ops?

Could someone please help me clarify these concepts? Thanks!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source