несколько процессоров, несколько ядер и количество потоков - PullRequest
2 голосов
/ 12 ноября 2011

Конфигурация системы: Win 7 64bit, visual Studio 2010 Premium, dell t7500 с 2 чипами xeon 5690, 48 гигабайт оперативной памяти. Каждый xeon имеет 6 ядер, поэтому существует 12 физических ядер. При гиперпоточности должно быть 24 логических ядра.

В моем приложении C:

Session.coresAvailable  =    omp_get_num_procs ( );
Session.threadsAvailable    =    omp_get_max_threads ( ) ;

Система возвращается и сообщает, что 12 ядер и 12 потоков. Разве это не должно быть 24 темы?

Ответы [ 2 ]

3 голосов
/ 12 ноября 2011

Преобразование комментария в ответ:

Вам нужно включить HyperThreading в BIOS, чтобы увидеть все 24 потока.

0 голосов
/ 12 ноября 2011

Гиперпоточность чертовски полезна для многозадачности, не столько для однородных параллельных алгоритмов, где все потоки выполняют одинаковые инструкции и нуждаются в одинаковых внутренних подразделениях. Так что omp может просто игнорировать виртуальные потоки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...