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

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.
主站蜘蛛池模板: 获嘉县| 丹巴县| 龙州县| 唐山市| 嘉义县| 抚顺县| 普格县| 衡阳市| 麟游县| 长丰县| 沁水县| 凤庆县| 黄山市| 治多县| 仁化县| 乡城县| 长沙市| 台安县| 德保县| 泊头市| 梧州市| 木里| 建平县| 通辽市| 玛曲县| 进贤县| 丰顺县| 县级市| 常山县| 苍南县| 永德县| 奎屯市| 新建县| 韶山市| 扎赉特旗| 夹江县| 洛川县| 河北区| 平乡县| 龙游县| 吉木萨尔县|