Чтобы повторно повторить то, что сказал Джефф в комментариях, у вас есть хост Xeon с прилагаемым сопроцессором Xeon Phi. Нынешнее поколение Xeon Phi (Knight's Corner) доступно только в качестве сопроцессора, а не как отдельный хост Xeon Phi (который должен быть доступен для следующего поколения с Knight's Landing).
При запуске программы без разгрузки с вашего хоста Xeon, от this website, похоже, что вы будете иметь возможность работать до 16 потоков. Обратите внимание, что скорость каждого из ваших ядер составляет около 2,2 ГГц.
Когда вы запускаете свою программу в собственном режиме выполнения на сопроцессоре Xeon Phi, вы сможете работать с большим количеством потоков. Оптимальное количество используемых нитей зависит от the model of Xeon Phi у вас есть (некоторые работают лучше всего с 56, другие с 60). Но обратите внимание, что каждое ядро Xeon Phi (примерно 1,2 ГГц) заметно слабее, чем одно ядро Xeon (примерно 2,2 ГГц). Преимущество многоядерной технологии Xeon Phi заключается в том, что вы можете столкнуться со многими ядрами.
Последняя очень важная вещь, которую следует учитывать, заключается в том, что Xeon Phi имеет набор инструкций SIMD 512 бит. Таким образом, на сопроцессоре Xeon Phi вы можете поддерживать намного лучшую векторную идентификацию SIMD, чем на хосте. В вашем случае, я считаю, что ваш хост Xeon имеет только 256-битный блок обработки изображений SIMD. Поэтому, если вы еще этого не сделали, вы можете улучшить свою производительность (до x16, если вы имеете дело с одноточечной) на вашем Xeon Phi, используя преимущества SIMD-векторизации. Ваш хост Xeon откажется только от производительности x8. Просто, чтобы запустить вас в google trek, OpenMP 4.0 позволяет писать такие вещи, как #pragma omp simd
, чтобы сообщить компилятору, когда нужно векторизовать петли нижнего уровня по всему вашему коду. Если вам действительно нужна максимальная производительность от Xeon Phi, добавление вексеризации SIMD является необходимостью.
Таким образом, чтобы прямо ответить на ваш вопрос: сравнение результатов производительности между хостом Xeon и сопроцессором Xeon Phi с использованием того же количества ядер бесполезно. Мы уже знаем, что каждое ядро Xeon Phi медленнее, чем каждое ядро Xeon.Вы должны сравнивать результаты, используя максимальное количество ядер, каждый из которых позволяет (60 и 16 соответственно), и, используя максимальную выгоду от блока векторной обработки, если вы хотите прямое сравнение.
Что такое точная модель Phi в ваших машинах? Вы спрашиваете о режимах исполнения (модели) - https://software.intel.com/en-us/articles/intel-xeon-phi-programming-environment - они называются «Разгрузка»/«Сопроцессорный родной»/«Симметричный «? Процессы центрального процессора (а не Phi, но некоторые стандартные Xeon E3/E5) обычно быстрее, чем ядра Phi на скалярном коде; но у Phi много ядер, и они способны выполнять векторный код. – osgx
Хост-процессоров Xeon Phi пока нет. У вас есть хост Xeon и сопроцессор Xeon Phi. Асимметрия производительности для одного и того же количества потоков легко понять, если вы прочтете опубликованный материал на Xeon Phi. Там есть несколько книг, которые вы можете найти в Интернете. – Jeff
@osgx Модель: Intel (R) Xeon (R) CPU E5-2660 0 @ 2.20GHz - Кажется, прогоны были связаны с режимом выполнения. Я знаю, что прогон сопроцессора был в качестве основного режима сопроцессора, но я не уверен в случае с процессором. Считаете ли вы, что это должен быть режим разгрузки? – Amir