| version 1.4 | version 1.5 |
|---|
| |
| cudaDeviceProp deviceProp; | cudaDeviceProp deviceProp; |
| cudaCheck(cudaGetDeviceProperties(&deviceProp, dev)); | cudaCheck(cudaGetDeviceProperties(&deviceProp, dev)); |
| if ( deviceProp.computeMode != cudaComputeModeProhibited | if ( deviceProp.computeMode != cudaComputeModeProhibited |
| && (deviceProp.major > 1 || deviceProp.minor >= 1) | && (deviceProp.major >= 3) |
| && deviceProp.canMapHostMemory | && deviceProp.canMapHostMemory |
| && ( (deviceProp.multiProcessorCount > 2) || | && ( (deviceProp.multiProcessorCount > 2) || |
| ((ndevices==0)&&(CkNumNodes()==1)) ) // exclude weak cards | ((ndevices==0)&&(CkNumNodes()==1)) ) // exclude weak cards |
| |
| } | } |
| | |
| if ( ! ndevices ) { | if ( ! ndevices ) { |
| cudaDie("All CUDA devices are in prohibited mode, of compute capability 1.0, unable to map host memory, too small, or otherwise unusable."); | cudaDie("all devices are in prohibited mode, of compute capability < 3.0, unable to map host memory, too small, or otherwise unusable"); |
| } | } |
| | |
| if ( devicesperreplica > 0 ) { | if ( devicesperreplica > 0 ) { |
| |
| cudaCheck(cudaGetDeviceProperties(&deviceProp, dev)); | cudaCheck(cudaGetDeviceProperties(&deviceProp, dev)); |
| if ( deviceProp.computeMode == cudaComputeModeProhibited ) | if ( deviceProp.computeMode == cudaComputeModeProhibited ) |
| cudaDie("device in prohibited mode"); | cudaDie("device in prohibited mode"); |
| if ( deviceProp.major < 2 && deviceProp.minor < 1 ) | if ( deviceProp.major < 3 ) |
| cudaDie("device not of compute capability 1.1 or higher"); | cudaDie("device not of compute capability 3.0 or higher"); |
| if ( ! deviceProp.canMapHostMemory ) | if ( ! deviceProp.canMapHostMemory ) |
| cudaDie("device cannot map host memory"); | cudaDie("device cannot map host memory"); |
| #ifndef DISABLE_CUDA_TEXTURE_OBJECTS | #ifndef DISABLE_CUDA_TEXTURE_OBJECTS |