void acc_set_device_num( int, acc_device_t );

描述
在指定类型的所有设备中, acc_set_device_num 告诉运行时库环境用哪一个设备。如果 devicenum 的值为负,运行时环境将恢复到编译器自行定义的默认行为。如果第二个
参数是零,选定的设备编号将应用到所有的加速器类型。

int acc_get_device_num( acc_device_t );

描述
acc_get_device_num 例程返回一个与指定类型设备编号相对应的整数,该设备将执行下一个加速器 parallel 区域或 kernels 区域。

setgetdevicenum.c代码

 /* 文件名: setgetdevicenum.c
* 功能 : 测试函数acc_get_device_num(.)和acc_get_num_devices(.).
*/
#include<stdio.h>
#include"openacc.h"
int main()
{
int num = -, cdev;
int i;
num = acc_get_num_devices(acc_device_default);
printf(" nothing set, #device_dafault = %d\n", num);
num = acc_get_num_devices(acc_device_nvidia);
printf(" nothing set, #device_nvidia = %d\n", num);
num = acc_get_num_devices(acc_device_xeonphi);
printf(" nothing set, #device_xeonphi = %d\n", num);
cdev = acc_get_device_num(acc_device_xeonphi);
printf(" nothing set, device_xeonphi = %d\n", cdev);
acc_set_device_num(, acc_device_default);
cdev = acc_get_device_num(acc_device_default);
printf("default 1 set, device_dafault = %d\n", cdev);
acc_set_device_num(, acc_device_default);
cdev = acc_get_device_num(acc_device_nvidia);
printf("default 1 set, device_nvidia = %d\n", cdev);
acc_set_device_num(, acc_device_nvidia);
cdev = acc_get_device_num(acc_device_default);
printf(" nvidia 1 set, device_default = %d\n", cdev);
acc_set_device_num(, acc_device_nvidia);
cdev = acc_get_device_num(acc_device_nvidia);
printf(" nvidia 1 set, device_nvidia = %d\n", cdev);
num = acc_get_num_devices(acc_device_nvidia);
for(i = -num; i< *num; i++)
{
acc_set_device_num(i, acc_device_nvidia);
cdev = acc_get_device_num(acc_device_nvidia);
printf("i =%2d, cdev = %d\n",i, cdev);
}
return ;
}

编译信息

acc_set_device_num && acc_get_device_num例程的更多相关文章

  1. (转)linux下和云端通讯的例程, ubuntu和openwrt实验成功(一)

    一.  HTTP请求的数据流总结#上传数据, yeelink的数据流如下POST /v1.0/device/4420/sensor/9089/datapoints HTTP/1.1Host: api. ...

  2. Socket编程实践(3) 多连接服务器实现与简单P2P聊天程序例程

    SO_REUSEADDR选项 在上一篇文章的最后我们贴出了一个简单的C/S通信的例程.在该例程序中,使用"Ctrl+c"结束通信后,服务器是无法立即重启的,如果尝试重启服务器,将被 ...

  3. Socket编程实践(2) Socket API 与 简单例程

    在本篇文章中,先介绍一下Socket编程的一些API,然后利用这些API实现一个客户端-服务器模型的一个简单通信例程.该例子中,服务器接收到客户端的信息后,将信息重新发送给客户端. socket()函 ...

  4. C#做有模和非模式化窗体 传值例程

    有模窗体:指的是一定要在第二个窗体上操作之后 才能去操作前者窗体 :例如,如果一个对话框,在可以切换到其它窗体或对话框之前要求先单击"确定"或"取消",则它就是 ...

  5. Delphi容器类之---TList、TStringList、TObjectList,以及一个例程的代码分析

    转载自:http://blog.csdn.net/jqandjq/article/details/5429137 看了这里标题,大家可能以为我会谈TListBox控件,那就错了.我要谈的是Delphi ...

  6. IRP完成例程返回值理解

    第一,完成例程里面直接返回STATUS_SUCCESS,这时候IRP已经继续向上回卷,失去了对IRP的控制. 第二,完成例程里面返回STATUS_MORE_PROCESSING_REQUIRED,仍具 ...

  7. [汇编与C语言关系]2. main函数与启动例程

    为什么汇编程序的入口是_start,而C程序的入口是main函数呢?以下就来解释这个问题 在<x86汇编程序基础(AT&T语法)>一文中我们汇编和链接的步骤是: $ as hell ...

  8. ORA-12523: TNS: 监听程序无法找到适用于客户机连接的例程

    今天使用PL/SQL Developer连接到一台新的测试服务器时,遇到ORA错误:ORA-12523: TNS: 监听程序无法找到适用于客户机连接的例程.对应的监听日志文件里面错误为TNS-1252 ...

  9. Qt 之 入门例程 (一)

    以 “Hello Qt” 为例,介绍如何建立一个 Qt 工程 . 1  QLabel 例程 QLabel 继承自 QFrame (继承自 QWidget),主要用来显示文本和图片. 1.1  Hell ...

随机推荐

  1. css 断行省略号,隐藏,fixed定位

    text-overflow(clip | elipsis)(显示省略号| 不显示省略号) white-space:nowrap    强制文字不断行 word-break:break-all;     ...

  2. ztree 获取最下级的子节点内容

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 查询pthread库的函数

    首先需要先安装pthread看的手册文档,然后用如下命令查询: man -k pthread

  4. iscroll.js文档

    iScroll是高性能的.小尺寸的.无依赖关系的.支持多平台的滑动JavaScript库. 当然,不只是scroll,还有滚动.缩放.平移.无限滚动.视差滚动等. 为了达到更好的新能,所以iScrol ...

  5. Apache Beam的特点

    不多说,直接上干货! Apache Beam 有两大特点: 1.统一了数据批处理(batch)和流处理(stream)编程范式: 2.能在任何执行引擎上运行. 它不仅为模型设计.更为执行一系列数据导向 ...

  6. Spring Boot实战(2) Spring常用配置

    1. Bean的Scope scope描述Spring容器如何新建Bean的实例.通过注解@Scope实现,取值有: a. Singleton:一个Spring容器中只有一个Bean的实例.此为Spr ...

  7. hbase常识及habse适合什么场景

    当我们对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用使用什么数据库?答案是什么,如果我们使用的传统数据库,肯定留有多余的字段,10个不行,20个,但是这个严重影响了质量.并且如 ...

  8. HDU 5351——MZL's Border——————【高精度+找规律】

    MZL's Border Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  9. C# 图像快速转化成byte[]和计算像素值

    public static unsafe byte[] ConvertTo8Byte(Bitmap img) { byte[] result = new byte[img.Width * img.He ...

  10. Swift-取消传统For循环

    1.取消传统的For循环 传统的for,在swift 3.0 被取消 i++/++i在swift 3.0 被取消 i += 1代替 for var i = 0;i<10;i +=1 { } 2. ...