Example #1
0
 public static extern cudaError cudaGetDeviceProperties(
     ref cudaDeviceProp prop,
     int device
     );
Example #2
0
 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);
                    }
                }
            }
        }