Hands-On GPU Programming with Python and CUDA
上QQ阅读APP看书,第一时间看更新

Querying your GPU

Before we begin to program our GPU, we should really know something about its technical capacities and limits. We can determine this by doing what is known as a GPU query. A GPU query is a very basic operation that will tell us the specific technical details of our GPU, such as available GPU memory and core count. NVIDIA includes a command-line example written in pure CUDA-C called deviceQuery in the samples directory (for both Windows and Linux) that we can run to perform this operation. Let's take a look at the output that is produced on the author's Windows 10 laptop (which is a Microsoft Surface Book 2 with a GTX 1050 GPU):

Let's look at some of the essentials of all of the technical information displayed here. First, we see that there is only one GPU installed, Device 0—it is possible that a host computer has multiple GPUs and makes use of them, so CUDA will designate each GPU device an individual number. There are some cases where we may have to be specific about the device number, so it is always good to know. We can also see the specific type of device that we have (here, GTX 1050), and which CUDA version we are using. There are two more things we will take note of for now: the total number of cores (here, 640), and the total amount of global memory on the device (in this case, 2,048 megabytes, that is, 2 gigabytes). 

While you can see many other technical details from deviceQuery, the core count and amount of memory are usually the first two things your eyes should zero in on the first time you run this on a new GPU, since they can give you the most immediate idea of the capacity of your new device.