/// <summary>
        /// Returns a node's dependent nodes
        /// </summary>
        public CUgraphNode[] GetDependentNodes()
        {
            SizeT    numNodes = new SizeT();
            CUResult res      = DriverAPINativeMethods.GraphManagment.cuGraphNodeGetDependentNodes(this, null, ref numNodes);

            Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuGraphNodeGetDependentNodes", res));
            if (res != CUResult.Success)
            {
                throw new CudaException(res);
            }

            if (numNodes > 0)
            {
                CUgraphNode[] nodes = new CUgraphNode[numNodes];
                res = DriverAPINativeMethods.GraphManagment.cuGraphNodeGetDependentNodes(this, nodes, ref numNodes);
                Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuGraphNodeGetDependentNodes", res));
                if (res != CUResult.Success)
                {
                    throw new CudaException(res);
                }

                return(nodes);
            }

            return(null);
        }
        /// <summary>
        /// Copies attributes from source node to destination node.<para/>
        /// Copies attributes from source node \p src to destination node \p dst. Both node must have the same context.
        /// </summary>
        /// <param name="dst">Destination node</param>
        public void cuGraphKernelNodeCopyAttributes(CUgraphNode dst)
        {
            CUResult res = DriverAPINativeMethods.GraphManagment.cuGraphKernelNodeCopyAttributes(dst, this);

            Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuGraphKernelNodeCopyAttributes", res));
            if (res != CUResult.Success)
            {
                throw new CudaException(res);
            }
        }