/// <summary> see CUDA doc; </summary> public static void CtxCreate(out CUcontext pctx, CUdevice dev, params CUctx_flags_enum[] flags) { uint _flags = 0; foreach (CUctx_flags_enum x in flags) { _flags |= (uint)x; } testResult(my.cuCtxCreate(out pctx, _flags, dev)); }
/// <summary> see CUDA doc; </summary> public static void DeviceGetName(out string name, CUdevice dev) { int maxlen = 1024; IntPtr mem = Marshal.AllocHGlobal(maxlen); CUresult res; res = my.cuDeviceGetName(mem, maxlen, dev); name = Marshal.PtrToStringAnsi(mem); Marshal.FreeHGlobal(mem); testResult(res); }
/// <summary> see CUDA doc; </summary> public static void DeviceTotalMem(out uint bytes, CUdevice dev) { testResult(my.cuDeviceTotalMem(out bytes, dev)); }
/// <summary> see CUDA doc; </summary> public static void DeviceComputeCapability(out int major, out int minor, CUdevice device) { testResult(my.cuDeviceComputeCapability(out major, out minor, device)); }
/// <summary> see CUDA doc; </summary> public static void DeviceGet(out CUdevice device, int ordinal) { testResult(my.cuDeviceGet(out device, ordinal)); }
/// <summary> see CUDA doc; </summary> public static void DeviceGetAttribute(out int pi, CUdevice_attribute attrib, CUdevice dev) { testResult(my.cuDeviceGetAttribute(out pi, attrib, dev)); }