123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- //===============================================================================================================================================================================================================200
- // INCLUDE/DEFINE
- //===============================================================================================================================================================================================================200
- #include "cuda.h" // (in library path specified to compiler)
- //===============================================================================================================================================================================================================200
- // SET DEVICE FUNCTION
- //===============================================================================================================================================================================================================200
- void setdevice(void)
- {
- // variables
- int num_devices;
- int device;
- // work
- cudaGetDeviceCount(&num_devices);
- if (num_devices > 1) {
-
- // variables
- int max_multiprocessors;
- int max_device;
- cudaDeviceProp properties;
- // initialize variables
- max_multiprocessors = 0;
- max_device = 0;
-
- for (device = 0; device < num_devices; device++) {
- cudaGetDeviceProperties(&properties, device);
- if (max_multiprocessors < properties.multiProcessorCount) {
- max_multiprocessors = properties.multiProcessorCount;
- max_device = device;
- }
- }
- cudaSetDevice(max_device);
- }
- }
- //===============================================================================================================================================================================================================200
- // GET LAST ERROR FUNCTION
- //===============================================================================================================================================================================================================200
- void checkCUDAError(const char *msg)
- {
- cudaError_t err = cudaGetLastError();
- if( cudaSuccess != err) {
- // fprintf(stderr, "Cuda error: %s: %s.\n", msg, cudaGetErrorString( err) );
- printf("Cuda error: %s: %s.\n", msg, cudaGetErrorString( err) );
- fflush(NULL);
- exit(EXIT_FAILURE);
- }
- }
- //===============================================================================================================================================================================================================200
- // END
- //===============================================================================================================================================================================================================200
|