大佬教程收集整理的这篇文章主要介绍了如何在Xeon Phi中将struct传递给offload,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我可能不能做#pragma offload target(mic:0)inout(A){} …,但是怎么样
的#pragma卸载目标(MIC:0)(A-> firsTint,A-> secondint)INOUT(A-> intPointer:长度(A-> firsTint * A-> secondint)){}
但是当我尝试这个时,我得到了错误:在编译时响应中的offload子句中此变量列表的实体无效
struct S { int firsTint; int secondInt; int *intPointer; };
假设您有上述结构的实例A,则可以执行以下操作.
int first = A.firsTint; int second = A.secondInt; int *pointer = A.intPointer;
之后,您可以使用卸载区域内的各个变量.
#pragma offload target(mic: 0) in(first,second) inout(pointer:length(first*second)) { /* Use individual variables here. */ }
确保在复制指针引用的数据之前在设备上分配内存.
或者,您可以从结构中排除指针并将其作为单独的变量传递.这样,您可以单独复制整个结构(现在可以按位复制)和指针.
#pragma offload target(mic: 0) in(A) inout(pointer:length(A.first*A.second))
以上是大佬教程为你收集整理的如何在Xeon Phi中将struct传递给offload全部内容,希望文章能够帮你解决如何在Xeon Phi中将struct传递给offload所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。