首页 > 代码库 > MIC中函数和变量的声明
MIC中函数和变量的声明
c++/c使用
__declspec(target(mic))函数或变量声明
或
__attribute__((target(mic)))函数或变量声明
举例如下:
__attribute__((target(mic))) int a;__attribute__((target(mic))) void func();
这里注意attribute前后均是两个下划线,示例代码如下:
#include<stdlib.h>#include<stdio.h>#include<string.h>#define LEN 5__attribute__((target(mic))) void funcheck(int h){ #ifdef __MIC__ printf("Index on MIC: %d \n",h); #else printf("Index on CPU: %d \n",h); #endif }int main(int argc,int** argv){ int i; #pragma offload target(mic) for(i=0;i<LEN;i++){ funcheck(i); } return 0;}
MIC前后也均是两个下划线,这段代码中__MIC__是MIC提供的一个宏定义,这个宏定义用来检查程序是否运行在设备端,也就是MIC端,需要注意的是,这个定义不能在offload代码段内检查!
编译 icc -o demo demo.c
执行 ./demo
结果如下:
Index on MIC: 0
Index on MIC: 1
Index on MIC: 2
Index on MIC: 3
Index on MIC: 4
MIC中函数和变量的声明
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。