oop — Intel MIC offload — работает с объектами c ++?

Мой вопрос
Может ли код области разгрузки содержать объекты c ++? или просто STL?

0

Решение

Документация #pragma offload от Intel C ++ Compiler XE 13.1 Не указывайте никаких ограничений для выгруженного оператора.

Добавление #pragma offload_attribute (push, target (mic)) может понадобиться для занятий, как в примерах из ссылка offload_attribute:

Указывает, что все функции и переменные, объявленные после прагмы, доступны в сопроцессоре. Эта прагма относится только к архитектуре Intel® MIC Architecture.

fileB.cpp

#pragma offload_attribute (push,target(mic)) #include "fileA.h"class B : public A {
...
};
#pragma offload_attribute (pop)

Но в то же время книга Высокопроизводительное программирование Intel Xeon Phi Coprocessor (Джим Джефферс и Джеймс Рейндерс, Морган Кауфманн, ISBN 9780124104143) говорит, что в режиме «Pragma Offload»Функции C ++ могут быть вызваны, но классы C ++ не могут быть переданы» а также

Этот акцент на плоских или некомплексных структурах данных позволяет нам точно указать, какие блоки данных необходимо передавать в и из сопроцессора. Конечно, данные, которыми не обмениваются, не имеют ограничений и могут быть произвольно сложными, включая многомерные массивы, классы C ++ любых типов и любую композицию структур данных с использованием указателей, массивов и структур.

В «Модели совместно используемой виртуальной машины» таких ограничений нет, вы можете использовать классы на стороне MIC и получать к ним доступ из MIC.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]