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).