public static extern cudaError cudaGetDeviceProperties( ref cudaDeviceProp prop, int device );
public void cudaSetDevice_cudaGetDeviceProperties_cudaDriverGetVersion_cudaRuntimeGetVersion_test() { int count = 0; var status = CudaRuntimeApi.cudaGetDeviceCount(ref count); Assert.AreEqual(status, cudaError.cudaSuccess); for (int i = 0; i < count; i++) { status = CudaRuntimeApi.cudaSetDevice(i); Assert.AreEqual(status, cudaError.cudaSuccess); int driverVersion = 0; int runtimeVersion = 0; status = CudaRuntimeApi.cudaDriverGetVersion(ref driverVersion); Assert.AreEqual(status, cudaError.cudaSuccess); status = CudaRuntimeApi.cudaRuntimeGetVersion(ref runtimeVersion); Assert.AreEqual(status, cudaError.cudaSuccess); cudaDeviceProp deviceProp = new cudaDeviceProp(); CudaRuntimeApi.cudaGetDeviceProperties(ref deviceProp, i); Console.WriteLine(" CUDA Driver Version / Runtime Version {0}.{1} / {2}.{3}\n", driverVersion / 1000, (driverVersion % 100) / 10, runtimeVersion / 1000, (runtimeVersion % 100) / 10); Console.WriteLine(" CUDA Capability Major/Minor version number: {0}.{1}\n", deviceProp.major, deviceProp.minor); unsafe { fixed (sbyte* pName = deviceProp.name) { var name = new string(pName); Console.WriteLine(name); } } } }