OpenCL 查看设备信息
好久没搞OpenCL了。可是这是个好东西。不能不学,之前发了篇设置OpenCL的文章。看的人还真多,看来大家都知道这个好东西了,都想把OpenCL搞起。只是学习难度还是相当高的。
之前忙搞算法,所以非常多其它知识就暂且搁置了。只是告诉大家一个秘密:自从用了靖心博客之后。腰不酸,腿不疼了……啊,不好意思,谁插播了广告,我是说自从学好算法之后。看OpenCL。OpenGL, DirectX头不疼,脑不涨了。
一个全新的境地就此诞生了。
以下是凝视程序,目的就是查看自己计算机上全部支持OpenCL的设备,并信息打印。
主函数调用run()就能够执行了。要设置请看我还有一篇OpenCl设置文章。
#include <stdio.h>
#include <stdlib.h>
#include <string.h> #ifdef MAC
#include <OpenCL/cl.h>
#else
#include <CL/cl.h>
#endif namespace device_ext_test
{ int run() {
/* Host/device data structures */
cl_platform_id *platforms;
cl_device_id *devices;
cl_uint num_platforms;
cl_uint num_devices, addr_data;
cl_int i, err; /* Extension data */
char name_data[48], ext_data[4096]; err = clGetPlatformIDs(5, NULL, &num_platforms);
if(err < 0) {
perror("Couldn't find any platforms.");
exit(1);
} /* 选取全部的platforms*/
platforms = (cl_platform_id*)
malloc(sizeof(cl_platform_id) * num_platforms);
err = clGetPlatformIDs(num_platforms, platforms, NULL);
if(err < 0) {
perror("Couldn't find any platforms");
exit(1);
} //循环查看全部platforms的devices信息,一般intel和AMD的都能够有两个devices:CPU和显卡
//假设是nvidia的就一般仅仅有一个显卡device了。
for (int j = 0; j < (int)num_platforms; j++)
{
printf("\nplatform %d\n", j+1);
/* 步骤和platforms的一样 */
err = clGetDeviceIDs(platforms[j], CL_DEVICE_TYPE_ALL, 1, NULL, &num_devices);
if(err < 0) {
perror("Couldn't find any devices");
exit(1);
} /* Access connected devices */
devices = (cl_device_id*)
malloc(sizeof(cl_device_id) * num_devices);
clGetDeviceIDs(platforms[j], CL_DEVICE_TYPE_ALL,
num_devices, devices, NULL); /*循环显示platform的全部device(CPU和显卡)信息。*/
for(i=0; i<(int)num_devices; i++) { err = clGetDeviceInfo(devices[i], CL_DEVICE_NAME,
sizeof(name_data), name_data, NULL);
if(err < 0) {
perror("Couldn't read extension data");
exit(1);
}
clGetDeviceInfo(devices[i], CL_DEVICE_ADDRESS_BITS,
sizeof(ext_data), &addr_data, NULL); clGetDeviceInfo(devices[i], CL_DEVICE_EXTENSIONS,
sizeof(ext_data), ext_data, NULL); printf("NAME: %s\nADDRESS_WIDTH: %u\nEXTENSIONS: %s\n\n",
name_data, addr_data, ext_data);
}
} free(platforms);
free(devices);
printf("\n");
system("pause");
return 0;
} }
OpenCL 查看设备信息的更多相关文章
- 【MonkeyRunner】[技术博客]用python编写脚本查看设备信息
[MonkeyRunner]用python编写脚本查看设备信息 原以为是个简单的操作,在实践的时候发现了一些问题. python脚本 test.py: from com.android.monkeyr ...
- GPGPU OpenCL 获取设备信息
在使用OpenCL编程中,需要对GPU设备的底层理解,这样才能更好的进行代码优化. 比如计算单元CU数量,每个CU的执行单元PE数量,每个CU中的共享内存大小等等.只有了解了这些才能更好的使用共享内存 ...
- Linux查看设备信息命令
系统 #查看内核/操作系统/CPU信息 uname -a #查看操作系统版本 head -n 1 /etc/issue #查看CPU信息 cat /proc/cpuinfo #查看计算机名 hostn ...
- Android 查看设备信息
借助getprop.dumpsys来了解一些系统相关信息. 一.getprop adb shell cat /system/build.prop 文件中存放的是用于启动系统时需要的配置文件,通常可以通 ...
- ADB——查看手机设备信息
查看设备信息 查看手机型号 adb shell getprop ro.product.model 查看电池状况 adb shell dumpsys battery ''' Current Batter ...
- iOS开发的另类神器:libimobiledevice开源包【类似android adb 方便获取iOS设备信息】
简介 libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备.由于苹果官方并不支持Linux系统,但是Linux上 ...
- linux常用查看硬件设备信息命令
转载:http://blog.chinaunix.net/uid-26782198-id-3242120.html # uname -a # 查看内核/操作系统/CPU信息 ...
- dmidecode查看设备硬件信息
在bash里输入:dmidecode -s system-product-name 或者lshw -class system 在Linux系统环境下(CentOS .4和Ubuntu .04已确认), ...
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-serialno 查看连接计算机的设备: adb devices 重启机器: adb reboot 重启到bootl ...
随机推荐
- 基于visual Studio2013解决C语言竞赛题之1064互质数差1验证
题目 解决代码及点评 /* 64. 任意两个互质的自然数, 经过若干次加减后,总可获得结果为1的数值. 所谓互质数(即互素的数),是指这两个数除 1外再没有其它公因数. 如14,9为 ...
- bonjour
首先bonjour并非必须的,可是它的确非常方便,假设没有它我们须要指定ip地址进行局域网的传输,有了它就能够依据服务的详细的名称来选择服务,能够这样来理解bonjour就相当于hostname,我们 ...
- Linux账号管理(二)
再次声明,整理此系列Linux博客,主要目的不是介绍各种命令,而是去探索命令背后的理论. 本篇主要介绍用户的创建与删除. 创建用户主要用到useradd命令,在用此命令时可以指定各种参数.一般默认就可 ...
- Delphi 设置文件属性
复制代码uses FileCtrl; procedure TForm1.BitBtn1Click(Sender: TObject);begin with OpenDialog1 do if Execu ...
- Problem E: Erratic Ants
这个题没过……!题意:小蚂蚁向四周走,让你在他走过的路中寻找最短路,其中可以反向主要思路:建立想对应的图,寻找最短路径,其中错了好多次,到最后时间没过(1.没有考录反向2.没有考虑走过的路要标记……! ...
- NFS服务器端配置
服务器端配置1 创建共享目录# mkdir /home/share# chown nobody.nogroup /home/share2 创建或修改/etc/exports 配置文件这个文件的内容非常 ...
- tomcat path设置
zjtest7-app:/usr/local/apache-tomcat-7.0.55_8082/logs# netstat -nap | grep 8082 tcp 0 0 :::8082 :::* ...
- KVM 实现机制
1.1. KVM简介 KVM是一个基于Linux内核的虚拟机,它属于完全虚拟化范畴,从Linux-2.6.20开始被包含在Linux内核中.KVM基于x86硬件虚拟化技术,它的运行要求Intel ...
- Linux搭建Tomcat环境
安装Tomcat 1)下载apache-tomcat-7.0.42.tar.gz http://tomcat.apache.org/download-70.cgi 2)#tar -zxv ...
- html浏览器兼容性的 JavaScript语法
1. 在FireFox中能够使用与HTML节点对象ID属性值同样的JS变量名称.可是IE中不行. 解决的方法:在命名上区分HTML节点对象ID属性值和JS变量 2. IE不支持JS ...