text: #ifndef CAFFE2_UTILS_THREAD_POOL_H_
  #define CAFFE2_UTILS_THREAD_POOL_H_
  
  #include "ATen/core/thread_pool.h"
  #include "caffe2/core/numa.h"
  #include "caffe2/utils/thread_name.h"
  
  namespace caffe2 {
  
  class CAFFE2_API TaskThreadPool : public c10::ThreadPool {
   public:
    explicit TaskThreadPool(std::size_t pool_size, int numa_node_id = -1)
        : ThreadPool(pool_size, numa_node_id) {}
  
    // TODO move this to ATen/core/thread_pool.h
    void init_thread() override {
      setThreadName("CaffeTaskThread");
      NUMABind(numa_node_id_);
    }
  };
  
  } // namespace caffe2
  
  #endif // CAFFE2_UTILS_THREAD_POOL_H_
  