CUDA Device Properties

GPU’nun özelliklerini sorgulamak istiyorsak bunu kullanıyoruz. Böylece üstünde çalıştığımız sistem hakkında daha fazla bilgi edinebiliriz.

Çok fazla sayıda özellik var. Bir kısmı aşağıda listelenmiştir.

int main(){

    // Kaç tane CUDA uyumlu gpu muz var diye kontrol ediyoruz
    int physicalDeviceCount = 0;
    cudaGetDeviceCount(&physicalDeviceCount);

    if(!physicalDeviceCount){
        printf("There is no physical cuda device in this system");
        return 0; 
    }

    // ilk device'ın propertylerini alıyoruz
    cudaDeviceProp prop;
    cudaGetDeviceProperties(&prop, 0); 
    
    printf("GPU: %s\n", prop.name);
    printf("Compute Capability: %d.%d\n", prop.major, prop.minor);

    printf("Total global memory: %d\n", prop.totalGlobalMem/1024/1024);

    printf("Max threads/block: %d\n", prop.maxThreadsPerBlock);

    printf("Max block dimensions: %d x %d x %d\n",
        prop.maxThreadsDim[0],
        prop.maxThreadsDim[1],
        prop.maxThreadsDim[2]);

    printf("Max grid dimensions: %d x %d x %d\n",
        prop.maxGridSize[0],
        prop.maxGridSize[1],
        prop.maxGridSize[2]);

    printf("Warpsize: %d\n",prop.warpSize);
    printf("Shader mem per block: %d", prop.sharedMemPerBlock);
    printf("SM count: %d\n", prop.multiProcessorCount);

    return 0; 
}
C++
GPU: NVIDIA GeForce GTX 950M
Compute Capability: 5.0
Total global memory: 4037
Max threads/block: 1024
Max block dimensions: 1024 x 1024 x 64
Max grid dimensions: 2147483647 x 65535 x 65535
Warpsize: 32
Shader mem per block: 49152SM count: 5

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *