These are commonly used in workflows and downstream libraries. We may be able to reuse code in from_networkx to do most of the heavy lifting.
To make this most usable, we should be able to do:
>>> G = nxcg.Graph()
>>> G.add_edges_from(edges) # Still on GPU; not on CPU
Related functions (should be separate issues if they need tracked): to_edgelist and from_dict_of_dicts.