#include #include #include using namespace std; void printProperties(const struct cudaDeviceProp); int main (void) { int gpuNumber, gpuID; cudaError_t errorCode; struct cudaDeviceProp gpuProperties; // number of GPUs errorCode = cudaGetDeviceCount( &gpuNumber ); if (errorCode) cerr << "Error in cudaDeviceCount" << endl; cout << "Available GPUs: " << gpuNumber << endl; for (gpuID = 0; gpuID < gpuNumber; gpuID++) { // GPU spec errorCode = cudaGetDeviceProperties(&gpuProperties, gpuID); cout << "Device ID: " << gpuID << endl; printProperties(gpuProperties); } return 0; } void printProperties(const struct cudaDeviceProp gpuProp) { cout << "GPU name: " << gpuProp.name << endl; cout << "Compute Capability: " << gpuProp.major << "," << gpuProp.minor << endl; cout << "Global Memory: " << (float)gpuProp.totalGlobalMem/1024.0/1024.0/1024.0 << endl; cout << "Shared memory per block: " << (float)gpuProp.sharedMemPerBlock/1024.0 << endl; cout << "Constant memory: " << (float)gpuProp.totalConstMem/1024.0 << endl; cout << "Max threads per block: " << gpuProp.maxThreadsPerBlock << endl; cout << "Register per block: " << gpuProp.regsPerBlock << endl; }