18 #ifndef viskores_cont_cuda_internal_RuntimeDeviceConfigurationCuda_h
19 #define viskores_cont_cuda_internal_RuntimeDeviceConfigurationCuda_h
42 class RuntimeDeviceConfiguration<
viskores::cont::DeviceAdapterTagCuda>
43 :
public viskores::cont::internal::RuntimeDeviceConfigurationBase
46 RuntimeDeviceConfiguration<viskores::cont::DeviceAdapterTagCuda>()
48 this->CudaDeviceCount = 0;
49 this->CudaProp.clear();
57 this->CudaDeviceCount = tmp;
58 this->CudaProp.resize(this->CudaDeviceCount);
59 for (
int i = 0; i < this->CudaDeviceCount; ++i)
67 "Error retrieving CUDA device information. Disabling.");
68 this->CudaDeviceCount = 0;
78 VISKORES_CONT virtual RuntimeDeviceConfigReturnCode SetDeviceInstance(
81 if (value >= this->CudaDeviceCount)
85 "Failed to set CudaDeviceInstance, supplied id exceeds the number of available devices: "
86 << value <<
" >= " << this->CudaDeviceCount);
87 return RuntimeDeviceConfigReturnCode::INVALID_VALUE;
90 return RuntimeDeviceConfigReturnCode::SUCCESS;
93 VISKORES_CONT virtual RuntimeDeviceConfigReturnCode GetDeviceInstance(
99 return RuntimeDeviceConfigReturnCode::SUCCESS;
102 VISKORES_CONT virtual RuntimeDeviceConfigReturnCode GetMaxDevices(
105 value = this->CudaDeviceCount;
106 return RuntimeDeviceConfigReturnCode::SUCCESS;
112 GetCudaDeviceProp(std::vector<cudaDeviceProp>& value)
const
115 return RuntimeDeviceConfigReturnCode::SUCCESS;
119 std::vector<cudaDeviceProp> CudaProp;
126 #endif //viskores_cont_cuda_internal_RuntimeDeviceConfigurationCuda_h