code: public static int cuGraphAddEmptyNode(CUgraphNode phGraphNode, CUgraph hGraph, CUgraphNode dependencies[], long numDependencies) 
      {
          return checkResult(cuGraphAddEmptyNodeNative(phGraphNode, hGraph, dependencies, numDependencies));
      }
docs: Creates an empty node and adds it to a graph.<br>
  <br>
  Creates a new node which performs no operation, and adds it to \p hGraph with
  \p numDependencies dependencies specified via \p dependencies.
  It is possible for \p numDependencies to be 0, in which case the node will be placed
  at the root of the graph. \p dependencies may not have any duplicate entries.
  A handle to the new node will be returned in \p phGraphNode.
  
  An empty node performs no operation during execution, but can be used for
  transitive ordering. For example, a phased execution graph with 2 groups of n
  nodes with a barrier between them can be represented using an empty node and
  2*n dependency edges, rather than no empty node and n^2 dependency edges.
  
  @param phGraphNode     - Returns newly created node
  @param hGraph          - Graph to which to add the node
  @param dependencies    - Dependencies of the node
  @param numDependencies - Number of dependencies
  
  @return
  CUDA_SUCCESS,
  CUDA_ERROR_DEINITIALIZED,
  CUDA_ERROR_NOT_INITIALIZED,
  CUDA_ERROR_INVALID_VALUE,
  
  @see
  JCudaDriver#cuGraphCreate
  JCudaDriver#cuGraphDestroyNode
  JCudaDriver#cuGraphAddChildGraphNode
  JCudaDriver#cuGraphAddKernelNode
  JCudaDriver#cuGraphAddHostNode
  JCudaDriver#cuGraphAddMemcpyNode
  JCudaDriver#cuGraphAddMemsetNode