#include #include #include static __global__ void DetermineIfValidCudaDevice() { } struct PACKED_DEFINE result_type { bool valid; int value; #if defined(NDEBUG) && !defined(DEFREL) #error missing DEFREL flag #endif }; result_type can_launch_kernel() { result_type r; DetermineIfValidCudaDevice <<<1,1>>> (); r.valid = (cudaSuccess == cudaGetLastError()); if(r.valid) { r.value = 1; } else { r.value = -1; } return r; } int main(int argc, char **argv) { cudaError_t err; int nDevices = 0; err = cudaGetDeviceCount(&nDevices); if(err != cudaSuccess) { return 1; } return 0; }