2015-07-12 6 views
0

Если программа скомпилирована на сопроцессоре Xeon-Phi и содержит инструкции из расширения набора инструкций IMCI, можно ли запустить ее на пользовательской машине с помощью нет сопроцессора Xeon-Phi?Расширение набора инструкций Intel и пользовательская машина (AVX, IMCI ...)

Если возможно, улучшится ли производительность на пользовательском компьютере по сравнению с тем же приложением без инструкций IMCI, скомпилированных, например, на процессоре i7 Core?

Другими словами, чтобы повысить производительность при использовании расширения набора инструкций Intel, необходимо ли, чтобы на пользовательском компьютере был процессор, поддерживающий это расширение?

+1

Вы спрашиваете, должен ли ЦП поддерживать инструкции, которые вы отправляете? –

ответ

1

Если программа составлена ​​на сопроцессор Xeon Phi-, и содержит инструкции из набора инструкций расширения IMCI, можно запустить его на компьютере пользователя, без сопроцессора Xeon Phi-?

Если программа использовать КВБДВ вам нужен процессор (или сопроцессор, это относительное), которые подтверждают, что инструкции.
Это верно для каждой инструкции, которую вы используете.

На самом деле я знаю только сопроцессоров Intel Xeon Phi, которые поддерживают IMCI, поэтому ответ Нет.

Если возможно, улучшится ли производительность на пользовательском компьютере по сравнению с тем же приложением без инструкций IMCI, скомпилированных, например, на процессоре i7 Core?

Другими словами, чтобы повысить производительность при использовании расширения набора инструкций Intel, необходимо ли, чтобы на пользовательском компьютере был процессор, поддерживающий это расширение?

Я не уверен, что вы здесь задаете, вы не можете использовать расширение набора инструкций, не поддерживаемое целевым процессором, это очевидно, поскольку вы не можете говорить по-русски с кем-то, кто не может понимать русский.

Если попытаться использовать НЕПОДДЕРЖИВАЕМЫЕ инструкции процессор поднимет #UD ​​ исключения сигнализации не признанные инструкции, государственная программа не может заранее, так как вы не можете пропустить инструкции в потоке программы и приложения будут вынуждены остановиться.

KNL microarch из Xeon Phi будет поддерживать AVX512 который также поддерживаемый "основной" CPU.

Этот вопрос может быть полезным: Are there SIMD(SSE/AVX) instructions in the x86-compatible accelerators Intel Xeon Phi?

Также обратите внимание, что вы должны увидеть Xeon Phi (как сейчас) в качестве сопроцессора, совместимый с архитектурой IA32e, а не в качестве члена семьи IA32e.

+0

, то, если я скомпилирую программное приложение на Xeon + Xeon-phi, используя AVX2 и IMCI и отправлю его конечным пользователям, конечные пользователи не смогут запустить его без архитектуры Xeon-Xeon-phi, верно? то можно ли написать код с помощью переключателя на поддерживаемом конечным пользователем расширением набора инструкций, чтобы предложить оптимизацию тем пользователям, поддерживающим расширение? – octoback

+1

@octoback Да, коммутатор обычно как это делается. Фактически вы проверяете, доступно ли расширение набора инструкций, если вы используете его, в противном случае какой-то резервный код, который использует стандартные инструкции. –

+0

Спасибо за подробную информацию! – octoback