public static int cuDeviceGetAttribute(CUdevice_attribute attrib, CUdevice dev) { return(Wrap(() => { try { int i; var error = nativeDeviceGetAttribute(out i, attrib, dev); if (error != CUresult.CUDA_SUCCESS) { throw new CudaException(error); } return i; } catch (CudaException) { throw; } catch (DllNotFoundException dnfe) { throw new CudaException(CudaError.NoDriver, dnfe); } catch (Exception e) { throw new CudaException(CudaError.Unknown, e); } })); }
public static bool cuDeviceGetFlag(CUdevice_attribute attrib, CUdevice dev) { var value = cuDeviceGetAttribute(attrib, dev); if (value == 0) { return(false); } else if (value == 1) { return(true); } else { var fex = new FormatException(String.Format("Attribute \"{0}\" has value \"{1}\" which isn't convertible to bool.", attrib, value)); throw new CudaException(CudaError.InvalidValue, fex); } }
public static bool cuDeviceGetFlag(CUdevice_attribute attrib, CUdevice dev) { var value = cuDeviceGetAttribute(attrib, dev); if (value == 0) { return false; } else if (value == 1) { return true; } else { var fex = new FormatException(String.Format("Attribute \"{0}\" has value \"{1}\" which isn't convertible to bool.", attrib, value)); throw new CudaException(CudaError.InvalidValue, fex); } }
public static int cuDeviceGetAttribute(CUdevice_attribute attrib, CUdevice dev) { return Wrap(() => { try { int i; var error = nativeDeviceGetAttribute(out i, attrib, dev); if (error != CUresult.CUDA_SUCCESS) throw new CudaException(error); return i; } catch (CudaException) { throw; } catch (DllNotFoundException dnfe) { throw new CudaException(CudaError.NoDriver, dnfe); } catch (Exception e) { throw new CudaException(CudaError.Unknown, e); } }); }
// http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/online/group__CUDEVICE_ge283d0251a80fe5a82ec8f6e552eb248.html private static extern CUresult nativeDeviceGetAttribute(out int pi, CUdevice_attribute attrib, CUdevice dev);
public int GetAttribute(CUdevice_attribute attrib) { return(Driver.DeviceGetAttribute(attrib, device)); }
/// <summary> see CUDA doc; </summary> public static void DeviceGetAttribute(out int pi, CUdevice_attribute attrib, CUdevice dev) { testResult(my.cuDeviceGetAttribute(out pi, attrib, dev)); }