Разгрузи демон на xeon phi 5110p
Мне известно, что у сопроцессора Intel Xeon phi SE10X есть 61 ядро, и предлагается использовать только 60 ядер, поскольку одно ядро используется для демона разгрузки. Кроме того, так как сопроцессор Intel Xeon Phi 5110P имеет 60 ядер, предлагается ли использовать 59 ядер?
3 ответа
Я оценил производительность моего тестового кода на карте Intel Xeon Phi 7120P. Я заметил, что производительность кода была лучшей, когда нет. потоков было кратно (количество ядер - 1). Это связано с тем, что одно из ядер загружено службами микро-ОС Linux.
В общем:
No. of threads to create >= K * T * (N-1)
K = Positive integer (=2 works fine)
T = No. of thread contexts on hardware(4 in my case)
N = No. of cores present on hardware.
Из этого часто задаваемых вопросов, связанных с MIC:
Разумное сходство
В Intel MPSS многие службы и демоны ядра связаны с "процессором начальной загрузки" (BSP), который является последним физическим ядром. Здесь также демон разгрузки запускает службы, необходимые для поддержки передачи данных для разгрузки. Поэтому обычно разумно избегать использования этого ядра для пользовательского кода. (Действительно, как уже обсуждалось, разгрузочная система делает это автоматически, удаляя логические процессоры на последнем ядре из соответствия по умолчанию выгруженных процессов).
Из этого руководства OpenMP по MIC:
Выгруженные программы наследуют карту сходства, которая скрывает последнее ядро, которое предназначено для разгрузки системных функций. Нативные программы могут использовать все ядра, что делает вычисления, необходимые для балансировки потоков, немного другими.
Ни один из этих источников не относится к какой-либо модели MIC, они касаются архитектуры; поэтому кажется, что если вы разгрузитесь на устройство и не используете привязку по умолчанию, вам действительно следует избегать последнего ядра.
Когда вы выполняете свою рабочую нагрузку в режиме разгрузки (когда приложение работает на ЦП и выгружает некоторые вычисления в Xeon Phi), рекомендуется оставить 1 ядро для времени выполнения разгрузки. На стороне Xeon Phi есть демон COI, который управляет четырьмя сервисными потоками для управления разгрузкой. Имейте в виду, что 1 физическое ядро на Xeon Phi работает с 4 аппаратными потоками. В случае нативной модели исполнения, когда приложение запускается непосредственно на карте Xeon Phi, вы можете использовать все доступные ядра. Так как сейчас есть какие-то разгрузочные работы.