cuda编程入门示例2---CUDA environment initialization

来源:互联网 发布:linux系统如何使用 编辑:程序博客网 时间:2024/05/22 14:19
#include <stdio.h>#include <stdlib.h>#include <cuda_runtime.h>#define BLOCK_SIZE 16static void HandleError(cudaError_t err, const char *file, int line){if (err != cudaSuccess){printf("%s in %s at line %d\n", cudaGetErrorString(err), file, line);exit(EXIT_FAILURE);}}#define HANDLE_ERROR( err ) (HandleError( err, __FILE__, __LINE__ ))#define HANDLE_NULL( a ) {if ((a) == NULL) { \printf("Host memory failed in %s at line %d\n", \__FILE__, __LINE__); \exit(EXIT_FAILURE); }}static bool InitCUDA(){int count;cudaGetDeviceCount(&count);if (count == 0){fprintf(stderr, "There is no device.\n");return false;}int i;for (i = 0; i < count; i++){cudaDeviceProp prop;if (cudaGetDeviceProperties(&prop, i) == cudaSuccess){if (prop.major >= 1){break;}}}if (i >= count){fprintf(stderr, "There is no device supporting CUDA 1.x.\n");return false;}cudaSetDevice(i);return true;}int main(int argc, char *argv[]){if (!InitCUDA()){return -1;}printf("CUDA initialized.\n");//to do your own thing//remember to release the devicecudaDeviceReset();return 0;}

0 0
原创粉丝点击