Сопроцессорные ускорители по сравнению с графическими процессорами

Предполагается ли, что сопроцессоры, такие как Intel Xeon-Phi, используются так же, как и графические процессоры, поэтому необходимо разгрузить большое количество блоков, выполняющих одно ядро, чтобы только общая пропускная способность, которую обрабатывает сопроцессор, приводит к увеличению скорости, ИЛИ разгрузка независимых потоков (задач) также повысит эффективность?


person Marc Andreson    schedule 04.02.2015    source источник
comment
Как правило, оба требуют значительной степени параллелизма. Для чего-то более значимого ваш вопрос чрезвычайно широк.   -  person void_ptr    schedule 05.02.2015
comment
Неверно предполагать, что эти модели использования являются взаимоисключающими. Intel Xeon Phi поддерживает их обоих. Для более подробного ответа задайте более точный вопрос.   -  person Jeff Hammond    schedule 14.05.2015


Ответы (1)


Xeon Phi требует высокой степени как функционального параллелизма (разные потоки), так и векторного параллелизма (SIMD). Поскольку ядра по существу представляют собой улучшенные процессоры Pentium, последовательный код выполняется медленно. Это несколько изменится со следующим поколением, поскольку оно будет использовать более быстрые и современные ядра. Нынешний процессор Xeon Phi, как и любой другой сопроцессор, также страдает от узкого места ввода-вывода, поскольку ему приходится обмениваться данными через шину PCIe.

Таким образом, хотя вы можете разгрузить ядро ​​на каждый процессор и использовать 512-битную векторизацию (аналогично GPGPU), вы также можете разделить свой код на множество различных функциональных блоков (т. е. разные коды/ядра) и запускать их на разных наборах процессоров Intel. Ядра Xeon Phi. Опять же, различные блоки кода также должны использовать 512-битные векторы SIMD.

Xeon Phi также работает как собственный процессор, поэтому вы можете получить доступ к другим ресурсам, монтируя деревья каталогов NFS, обмениваясь данными между платами и другими процессорами в кластере с помощью TCP/IP, используя MPI и т. д. Обратите внимание, что это не «разгрузка», а родное исполнение. Но шина PCIe по-прежнему остается серьезным узким местом, ограничивающим ввод-вывод.

Обобщить,

  • Вы можете использовать модель разгрузки, аналогичную той, что используется GPGPU,
  • Сам Xeon Phi также может поддерживать функциональный параллелизм (более одного ядра), но каждое ядро ​​также должно использовать 512-битный SIMD.
  • Вы также можете написать собственный код и использовать MPI, рассматривая Xeon Phi как обычный (без разгрузки) узел (всегда помня об узком месте ввода-вывода PCIe).
person Taylor Kidd    schedule 05.02.2015
comment
Спасибо. Меня больше всего интересует использование OpenMP/OpenACC для разгрузки задач. Вы случайно не знаете, как threadblocks назначаются ядрам? Планируются ли блоки как-то так же, как в модели программирования CUDA (случайно)? Или всегда есть только один блок потоков, который распределяет потоки по всем доступным ядрам? - person Marc Andreson; 05.02.2015
comment
В OpenMP Intel предоставляет переменные среды, которые позволяют вам указать, где и как вы хотите назначать потоки. KMP_PLACE_THREADS позволяет указать количество ядер, которые вы хотели бы использовать, и количество потоков, которые вы хотели бы использовать для каждого ядра. KMP_AFFINITY позволяет вам указать, как вы хотите назначать потоки. Компактное сходство будет назначать потоки по порядку. Scatter affinity попытается разместить нить на ядрах в циклическом режиме. Кстати, эти переменные работают и на других процессорах Intel. - person froth; 05.02.2015
comment
@froth, где я могу найти больше информации об этом? (т.е. эти переменные среды, а также модель программирования для Intel Xeon Phi?) - person Marc Andreson; 06.02.2015
comment
@MarcAndreson Вы можете перейти на software.intel.com/en-us/xeonphi. На вкладке «Программирование» есть статьи по программированию, блоги и форум, где люди задавали подобные вопросы. Кроме того, есть справочные руководства по компилятору и инструментам, а также руководства пользователя, которые вы можете найти в разделе Инструменты->Документация в самом верху страницы. Отказ от ответственности — этот сайт, как следует из URL-адреса, принадлежит Intel, и ответы, которые вы найдете на нем, будут посвящены продуктам Intel. Есть также несколько книг (мертвое дерево и электронные) от обычных продавцов книг в Интернете. - person froth; 06.02.2015