STL ベクトルに格納されたデータをインテル Xeon Phi コプロセッサーにコピーしたいと考えています。私のコードでは、計算に必要なデータを含むベクトルを含むクラスを作成しました。ホストでクラスオブジェクトを作成し、ホストでもデータを初期化してから、このオブジェクトをコプロセッサーに送信したいと考えています。これは、私がやりたいことを示す簡単なコードです。オブジェクトをコプロセッサー・ベクターにコピーした後、空になります。何が問題になる可能性がありますか? どのように正しく行うのですか?
#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;
}