private void TestCuDNN() { cuDNN6 cudnn = new cuDNN6(); Console.WriteLine("cudnnGetVersion: {0}", cuDNN6.GetVersion()); Console.WriteLine("cudnnGetCudartVersion: {0}", cuDNN6.GetCudartVersion()); Console.WriteLine("cudnnGetErrorString: {0}", cuDNN6.GetErrorString(cudnnStatus.CUDNN_STATUS_SUCCESS)); var config = Runtime.DeviceGetCacheConfig(); Console.WriteLine(config); Console.WriteLine(Runtime.DeviceGetPCIBusId(0)); Console.WriteLine(Driver.DeviceGetPCIBusId(0)); int totalDevices = Runtime.GetDeviceCount(); for (int i = 0; i < totalDevices; i++) { cudaDeviceProp prop = Runtime.GetDeviceProperties(i); Console.WriteLine("device {0}, {1}", i, prop.name); Console.WriteLine("sms {0}", prop.multiProcessorCount); Console.WriteLine("Capabilities {0}.{1}", prop.major, prop.minor); Console.WriteLine("SmClock {0} Mhz", (float)prop.clockRate * 1e-3); Console.WriteLine("MemSize (Mb) {0}", (int)(prop.totalGlobalMem / (1024 * 1024))); Console.WriteLine("MemClock {0} Mhz", (float)prop.memoryClockRate * 1e-3); } //DNNTest test = new DNNTest(); //test.Test(); }
public void cudaSetDevice_cudaGetDeviceProperties_cudaDriverGetVersion_cudaRuntimeGetVersion_test() { int deviceCount = 0; var status = CudaRuntimeApi.cudaGetDeviceCount(ref deviceCount); Assert.AreEqual(status, cudaError.cudaSuccess); // This function call returns 0 if there are no CUDA capable devices. if (deviceCount == 0) { Console.WriteLine("There are no available device(s) that support CUDA"); } else { Console.WriteLine("Detected {0} CUDA Capable device(s)", deviceCount); } for (int i = 0; i < deviceCount; 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); var deviceProp = new cudaDeviceProp(); CudaRuntimeApi.cudaGetDeviceProperties(ref deviceProp, i); var uuid = HexStringFromByteArray(UnsignedBytesFromSignedBytes(deviceProp.uuid.bytes)); var devName = Encoding.Default.GetString(UnsignedBytesFromSignedBytes(deviceProp.name)).TrimEnd('\0'); Console.WriteLine("\nDevice {0}: \"{1}\", uuid = {2}", i, devName, uuid); Console.WriteLine(" CUDA Driver Version / Runtime Version {0}.{1} / {2}.{3}", driverVersion / 1000, (driverVersion % 100) / 10, runtimeVersion / 1000, (runtimeVersion % 100) / 10); Console.WriteLine(" CUDA Capability Major/Minor version number: {0}.{1}", deviceProp.major, deviceProp.minor); Console.WriteLine( " Total amount of global memory: {0:0} MBytes ({1} bytes)", Convert.ToSingle(deviceProp.totalGlobalMem / 1048576.0f), deviceProp.totalGlobalMem); } }
public void GetDeviceProperties() { cudaDeviceProp prop = Runtime.GetDeviceProperties(0); Console.WriteLine(ObjectDumper.Dump(prop)); }