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

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.
主站蜘蛛池模板: 比如县| 凤山县| 岢岚县| 枞阳县| 通城县| 阳山县| 祥云县| 五常市| 青州市| 温泉县| 宁蒗| 抚松县| 阳泉市| 平阴县| 盐城市| 峨边| 华容县| 太仓市| 澄迈县| 兴城市| 白玉县| 阜城县| 华宁县| 沈阳市| 红原县| 公主岭市| 隆尧县| 龙门县| 镇雄县| 江华| 义乌市| 彭泽县| 平顶山市| 那曲县| 金沙县| 怀仁县| 梨树县| 抚远县| 宝清县| 肥西县| 赤壁市|