указание конкретного процессора с помощью openMP - PullRequest
1 голос
/ 29 февраля 2012

Привет! Я использую Linux в системе, в которой каждый узел имеет 64 ядра с 4 процессорами по 16 ядер в каждом. Я пытаюсь запустить программу C ++ на одном конкретном процессоре (на 16 ядрах), когда для OMP_NUM_THREADS установлено значение16 и запустите мою программу. Результаты, просмотренные в HTOP, показывают, что работа распределена по 4 процессорам. Как настроить OpenMP для работы только на одном процессоре

1 Ответ

1 голос
/ 29 февраля 2012

Я думаю, что ответ на этот вопрос довольно хорошо его охватывает.Ответ в том, что в OpenMP нет конструкции уровня языка для настройки процессоров;Только недавно в OpenMP (3.1) появился механизм, обеспечивающий даже то, что поток останется на данном процессоре после его запуска (это называется «привязкой к процессору»).

Однако большинство реализаций OpenMP выходят за рамки стандарта и позволяют связывать поток с конкретным ядром или сокетом.Кроме того, в вашей среде могут быть механизмы запуска (например, numactl для Linux), которые позволяют вам устанавливать привязку во время запуска.

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