std :: thread :: hardware_concurrency()在VS调试器中返回不同的值

时间:2017-05-05 14:37:47

标签: c++ openmp

如果我使用Visual 2015调试器启动程序,它将使用所有可用的逻辑核心(32)。 如果我在没有调试器的情况下启动程序,它只使用3个内核(6个线程)。 我只在程序中调用omp_set_num_threads一次,qInfo的输出在两种情况下都是32。 我不使用编译器标志来改变线程数。有人有快速提示,链中可能存在问题吗?

omp_set_num_threads(std::thread::hardware_concurrency());
qInfo() << "Number of threads" << std::thread::hardware_concurrency();

0 个答案:

没有答案