要获得GPU设备的数量,在cuda中是通过cudaGetDeviceCount(int*)来实现的。
对于每个GPU设备。cuda使用cudaDeviceProp类型来保存设备信息。cudaDeviceProp的详细内容如下
我们通过cudaGetDeviceProperties(cudaDeviceProp* prop,int i)来获取第i块设备属性。具体参考代码如下
#include<cuda_runtime.h> #include<windows.h> #include<iostream> using namespace std; int main(){ int count; cudaDeviceProp prop; cudaGetDeviceCount(&count); cout <<"当前计算机包含GPU数为"<< count << endl; for (int i = 0; i < count; i++){ cudaGetDeviceProperties(&prop, i); cout << "当前访问的是第" << i << "块GPU属性" << endl; cout << "当前设备名字为" << prop.name << endl; cout << "GPU全局内存总量为" << prop.totalGlobalMem << endl; cout << "单个线程块中包含的线程数最多为" << prop.maxThreadsPerBlock << endl; } getchar(); return 0; }
在cuda中一般使用cudaChooseDevice()来选取符合标准的硬件cudaChooseDevice()返回距离给定硬件标准值最近的硬件编号。我们把这个编号传递给cudaSetDevice(),然后所有的设备操作都在这个设备上进行。
#include<cuda_runtime.h> #include<windows.h> #include<iostream> using namespace std; int main(){ int count; cudaDeviceProp prop; cudaGetDeviceCount(&count); cout <<"当前计算机包含GPU数为"<< count << endl; for (int i = 0; i < count; i++){ cudaGetDeviceProperties(&prop, i); cout << "当前访问的是第" << i << "块GPU属性" << endl; cout << "当前设备名字为" << prop.name << endl; cout << "GPU全局内存总量为" << prop.totalGlobalMem << endl; cout << "单个线程块中包含的线程数最多为" << prop.maxThreadsPerBlock << endl; } int dev; memset(&prop, 0, sizeof(prop)); prop.major = 1; prop.minor = 3; cudaChooseDevice(&dev, &prop); cout << "距离设备版本1.3最接近的设备编号为" << dev << endl; cudaSetDevice(dev); getchar(); return 0; }
相关推荐
cuda gpu thrust cuda gpu thrust cuda gpu thrust cuda gpu thrust
cuda安装和GPU使用
cuda GPU实例
sift cuda gpu
GPU和CUDA介绍 PPT
第2章 使用GPU理解并行计算 第3章 CUDA硬件概述 第4章 CUDA环境搭建 第5章 线程网格、线程块以及线程 第6章 CUDA内存处理 第7章 CUDA实践之道 第8章 多CPU和多GPU解决方案 第9章 应用程序性能优化 第10章 ...
检测CPU和GPU处理图片的时间对比,需要拥有支持CUDA的硬件设备
NVIDIA提供的 CUDA计算统一设备架构编程指南 针对于GPU的基础学习
python cuda gpu 高性能运算 代码
python cuda gpu 高性能运算 代码2
开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。 将来还会支持其它语言,包括FORTRAN以及C++。
初步介绍GPU和CUDA,以矩阵乘法的具体实现为例,分析基于CUDA架构的数据并行计算。
文章介绍如何使用CUDA实现神经网络,并把他应用在GPU图像处理单元上。
使用GPU程序,找不到cuda
然后通过矢量求和运算、矢量点积运算、光线跟踪、热传导模拟等示例详细介绍了CUDA C的基本语法和使用模式。通过学习本书,读者可以清楚了解CUDA C中每个功能的适用场合,并编写出高性能的CUDA软件。, 《GPU高性能...
GPU高性能编程CUDA实战中文版.pdf
给出了GPU的最新快照,详细描述了当今最新的GPU的内部架构,以及如何利用GPU的编程技巧。另外额外探讨了如何利用GPU的计算能力完成其他计算任务(CUDA)。
CUDA by example代码实例