我想将存储在 STL 矢量中的数据复制到英特尔至强融核协处理器。在我的代码中,我创建了包含计算所需数据的向量的类。我想在主机上创建类对象,也在主机上初始化数据,然后我想将此对象发送到协处理器。这是一个简单的代码,它说明了我想要做什么。将对象复制到协处理器后,向量为空。有什么问题?如何正确执行?
#pragma offload_attribute (push, target(mic))
#include <vector>
#include "offload.h"
#include <stdio.h>
#pragma offload_attribute (pop)
class A
{
public:
A() {}
std::vector<int> V;
};
int main()
{
A* wsk = new A();
wsk->V.push_back(1);
#pragma offload target(mic) in(wsk)
{
printf("%d", wsk->V.size());
printf("END OFFLOAD");
}
return 0;
}