MIC offload.h
来源:互联网 发布:美工零基础带薪真的吗 编辑:程序博客网 时间:2024/05/17 23:32
Intel编译器include文件夹下有MIC的头文件:offload.h
列举几个常用的函数说明:
_Offload_number_of_devices() //获取MIC数目
_Offload_get_device_number() //获取MIC编号
omp_get_max_threads_target(TARGET_MIC, 0) //获取MIC上可以最多支持的线程数
omp_get_num_procs_target(TARGET_MIC, 0) //获取MIC上的处理器数目
测试代码:
#include <stdio.h>
#include "offload.h"
int main(int argc, char **argv)
{
printf("_Offload_number_of_devices()=%d\n",_Offload_number_of_devices());
printf("host: _Offload_get_device_number()=%d\n",_Offload_get_device_number());
printf("host: _Offload_get_physical_device_number()=%d\n\n",_Offload_get_physical_device_number());
if(_Offload_number_of_devices()>=1)
{
#pragma offload target(mic:0)
{
printf("mic0: _Offload_get_device_number()=%d\n",_Offload_get_device_number());
printf("mic0: _Offload_get_physical_device_number()=%d\n\n",_Offload_get_physical_device_number());
}
}
if(_Offload_number_of_devices()>=2)
{
#pragma offload target(mic:1)
{
printf("mic1: _Offload_get_device_number()=%d\n",_Offload_get_device_number());
printf("mic1: _Offload_get_physical_device_number()=%d\n\n",_Offload_get_physical_device_number());
}
}
printf("omp_get_max_threads_target(TARGET_MIC, 0)=%d\n",omp_get_max_threads_target(TARGET_MIC, 0));
printf("omp_get_num_procs_target(TARGET_MIC, 0)=%d\n\n",omp_get_num_procs_target(TARGET_MIC, 0));
return 0;
}
运行结果:
_Offload_number_of_devices()=2
host: _Offload_get_device_number()=-1
host: _Offload_get_physical_device_number()=-1
omp_get_default_device()=0
omp_get_num_devices()=2
omp_get_max_threads_target(TARGET_MIC, 0)=240 //7110P上运行的结果,7110P有61个核,1个运行uos,其它每个核上可以运行4个线程,所以这里显示的是240
omp_get_num_procs_target(TARGET_MIC, 0)=240
mic1: _Offload_get_device_number()=1
mic1: _Offload_get_physical_device_number()=1
mic0: _Offload_get_device_number()=0
mic0: _Offload_get_physical_device_number()=0
设置环境变量:
export MIC_ENV_PREFIX=MIC
export MIC_OMP_NUM_THREADS=180
再次运行结果:
_Offload_number_of_devices()=2
host: _Offload_get_device_number()=-1
host: _Offload_get_physical_device_number()=-1
omp_get_default_device()=0
omp_get_num_devices()=2
omp_get_max_threads_target(TARGET_MIC, 0)=180 //环境变量MIC_OMP_NUM_THREADS改变omp_get_max_threads_target的值
omp_get_num_procs_target(TARGET_MIC, 0)=240
mic1: _Offload_get_device_number()=1
mic1: _Offload_get_physical_device_number()=1
mic0: _Offload_get_device_number()=0
mic0: _Offload_get_physical_device_number()=0
- MIC offload.h
- MIC C编程(offload模式)
- MIC编程(7 )——offload语法
- MIC编程(8)——offload语句内调用的函数声明方式
- <MIC> offload error :process on the device 0 was terminated by signal 11
- 简介Intel MIC上的分布式开发以及Offload模式下的各种限制
- offload error: cannot find offload entry解决办法
- MIC简介
- MIC编程
- MIC学习
- TCP checksum offload
- TCP checksum offload
- TCP segmentation offload
- WireShark 出现 Checksum Offload
- Generic receive offload
- offload 优化技术-浅谈
- 4.2 TCP Segmentation Offload(TSO)
- 5.1 GRO(Generic Receive Offload)
- 手把手教你在CoreOS部署一个WordPress程序
- C/C++内存分配方式
- 实时streamlining GPU应用---通过运行时的线程数据重匹配减少线程分支[1]
- opencv实战-图片变文本(1)
- media queries的书写顺序问题
- MIC offload.h
- 委托构造函数
- Java程序员面试中的多线程问题
- 2014.03.16 网易游戏TTT计划实习生笔试题
- SQL指令 数据库表数据的操作
- HTML制作细线表格
- HTTP和FTP的区别
- CSS 中如何把 Span 标签设置为固定宽度
- 扯扯密码安全