官术网_书友最值得收藏!

Accessing GPU device properties from CUDA programs

CUDA provides a simple interface to find the information such as determining which CUDA-enabled GPU devices (if any) are present and what capabilities each device supports. First, it is important to get a count of how many CUDA-enabled devices are present on the system, as a system may contain more than one GPU-enabled device. This count can be determined by the CUDA API cudaGetDeviceCount(). The program for getting a number of CUDA enabled devices on the system is shown here:

#include <memory>
#include <iostream>
#include <cuda_runtime.h>
// Main Program
int main(void)
{
int device_Count = 0;
cudaGetDeviceCount(&device_Count);
// This function returns count of number of CUDA enable devices and 0 if there are no CUDA capable devices.
if (device_Count == 0)
{
printf("There are no available device(s) that support CUDA\n");
}
else
{
printf("Detected %d CUDA Capable device(s)\n", device_Count);
}
}

The relevant information about each device can be found by querying the cudaDeviceProp structure, which returns all the device properties. If you have more than one CUDA-capable device, then you can start a for loop to iterate over all device properties. The following section contains the list of device properties divided into different sets and small code snippets used to access them from CUDA programs. These properties are provided by the cudaDeviceProp structure in CUDA 9 runtime. 

For more details about properties in the different versions of CUDA, you can check the programming guide for a particular version.
主站蜘蛛池模板: 榆中县| 喀喇沁旗| 宜昌市| 呼玛县| 奎屯市| 大埔区| 乐业县| 凌云县| 东至县| 静安区| 敖汉旗| 双桥区| 金华市| 苍南县| 重庆市| 宝山区| 甘洛县| 伊春市| 金坛市| 潮安县| 中宁县| 民和| 浦江县| 泰安市| 称多县| 长宁区| 勃利县| 巴东县| 遵义市| 班玛县| 磐石市| 理塘县| 施秉县| 平潭县| 湖北省| 邓州市| 沙湾县| 盘锦市| 江山市| 武邑县| 沁阳市|