通过cuda获取GPU的信息

#include 
#include 
#include
__global__ void outputAAAAA(){
	printf("thread %d,%d output : AAAAA\n",threadIdx.x,threadIdx.y);
}
int main(){
	outputAAAAA<<<1,32>>>();
	cudaError_t cudaStatus;
	int num;
	cudaDeviceProp prop;
	cudaStatus = cudaGetDeviceCount(&num);
	printf("deviceCount := %d\n",num);
	for(int i=0;i<num;i++){
		cudaGetDeviceProperties(&prop,i);
		printf("name:%s\n",prop.name);
		printf("totalGlobalMem:%d\n",prop.totalGlobalMem);
		printf("totalGlobalMem:%d\n",prop.totalGlobalMem/1024);
		printf("totalGlobalMem:%d\n",prop.totalGlobalMem/1024/1024);
		printf("totalGlobalMem:%d\n",prop.totalGlobalMem/1024/1024/1024);
		printf("multiProcessorCount:%d\n",prop.multiProcessorCount);
		printf("maxThreadsPerBlock:%d\n",prop.maxThreadsPerBlock);
		printf("major:%d,minor:%d\n",prop.major,prop.minor);
	}

	return 0;
}

代码运行结果

deviceCount := 1
name:GeForce 610M
totalGlobalMem:1073741824
totalGlobalMem:1048576
totalGlobalMem:1024
totalGlobalMem:1
multiProcessorCount:1
maxThreadsPerBlock:1024
major:2,minor:1
thread 0,0 output : AAAAA
thread 16,0 output : AAAAA
thread 1,0 output : AAAAA
thread 2,0 output : AAAAA
thread 17,0 output : AAAAA
thread 3,0 output : AAAAA
thread 4,0 output : AAAAA
thread 18,0 output : AAAAA
thread 5,0 output : AAAAA
thread 6,0 output : AAAAA
thread 19,0 output : AAAAA
thread 7,0 output : AAAAA
thread 8,0 output : AAAAA
thread 20,0 output : AAAAA
thread 9,0 output : AAAAA
thread 10,0 output : AAAAA
thread 21,0 output : AAAAA
thread 11,0 output : AAAAA
thread 12,0 output : AAAAA
thread 22,0 output : AAAAA
thread 13,0 output : AAAAA
thread 14,0 output : AAAAA
thread 23,0 output : AAAAA
thread 15,0 output : AAAAA
thread 24,0 output : AAAAA
thread 25,0 output : AAAAA
thread 26,0 output : AAAAA
thread 27,0 output : AAAAA
thread 28,0 output : AAAAA
thread 29,0 output : AAAAA
thread 30,0 output : AAAAA
thread 31,0 output : AAAAA

你可能感兴趣的:(随笔)