Example #1
0
        public void Test()
        {
            IntPtr pInputDesc  = IntPtr.Zero;
            IntPtr pOutputDesc = IntPtr.Zero;
            IntPtr pFilterDesc = IntPtr.Zero;
            IntPtr pConvDesc   = IntPtr.Zero;

            cudnnDataType dataType = cudnnDataType.CUDNN_DATA_FLOAT;
            int           n_in     = 64;  // Number of images - originally 128
            int           c_in     = 96;  // Number of feature maps per image - originally 96
            int           h_in     = 221; // Height of each feature map - originally 221
            int           w_in     = 221; // Width of each feature map - originally 221

            cuDNN6 dnn = new cuDNN6();

            pInputDesc  = dnn.CreateTensorDescriptor();
            pOutputDesc = dnn.CreateTensorDescriptor();
            pFilterDesc = dnn.CreateFilterDescriptor();
            pConvDesc   = dnn.CreateConvolutionDescriptor();

            dnn.SetTensor4dDescriptor(pInputDesc, cudnnTensorFormat.CUDNN_TENSOR_NCHW, dataType, n_in, c_in, h_in, w_in);
            //dnn.Getten

            Console.WriteLine(pInputDesc);
            dnn.DestroyConvolutionDescriptor(pConvDesc);
            dnn.DestroyFilterDescriptor(pFilterDesc);
            dnn.DestroyTensorDescriptor(pOutputDesc);
            dnn.DestroyTensorDescriptor(pInputDesc);
        }
Example #2
0
        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();
        }