#include <cuda_runtime.h>
#include <iostream>

int main() {
    int device;
    cudaGetDevice(&device);

    cudaDeviceProp props;
    cudaGetDeviceProperties(&props, device);

    std::cout << "Max threads per block: " << props.maxThreadsPerBlock <<"= 2^10"<< std::endl;
    std::cout << "Max blocks per grid in x: " << props.maxGridSize[0] <<"which is 2^31-1"<<std::endl;
    std::cout << "Max blocks per grid in y: " << props.maxGridSize[1] <<"=2^16-1"<< std::endl;
    std::cout << "Max blocks per grid in z: " << props.maxGridSize[2] <<"=2^16-1"<< std::endl;

    return 0;
}