Ejemplo n.º 1
0
def to_cugraph(edge_index: Tensor,
               edge_weight: Optional[Tensor] = None,
               relabel_nodes: bool = True):
    r"""Converts a graph given by :obj:`edge_index` and optional
    :obj:`edge_weight` into a :obj:`cugraph` graph object.

    Args:
        relabel_nodes (bool, optional): If set to :obj:`True`,
            :obj:`cugraph` will remove any isolated nodes, leading to a
            relabeling of nodes. (default: :obj:`True`)
    """
    import cudf
    import cugraph

    df = cudf.from_dlpack(to_dlpack(edge_index.t()))

    if edge_weight is not None:
        assert edge_weight.dim() == 1
        df[2] = cudf.from_dlpack(to_dlpack(edge_weight))

    return cugraph.from_cudf_edgelist(
        df,
        source=0,
        destination=1,
        edge_attr=2 if edge_weight is not None else None,
        renumber=relabel_nodes)
Ejemplo n.º 2
0
def test_from_dlpack_cupy_2d(data_2d):
    cupy_array = cupy.array(data_2d, order="F")
    cupy_host_array = cupy_array.get().flatten()
    dlt = cupy_array.toDlpack()

    gdf = cudf.from_dlpack(dlt)
    cudf_host_array = np.array(gdf.to_pandas()).flatten()

    assert_eq(cudf_host_array, cupy_host_array)
Ejemplo n.º 3
0
def test_from_dlpack_cupy_1d(data_1d):
    cupy_array = cupy.array(data_1d)
    cupy_host_array = cupy_array.get()
    dlt = cupy_array.toDlpack()

    gs = cudf.from_dlpack(dlt)
    cudf_host_array = gs.to_array(fillna="pandas")

    assert_eq(cudf_host_array, cupy_host_array)
Ejemplo n.º 4
0
def test_from_dlpack_cupy_1d(data_1d):
    cupy_array = cupy.array(data_1d)
    cupy_host_array = cupy_array.get()
    dlt = cupy_array.toDlpack()

    gs = cudf.from_dlpack(dlt)
    cudf_host_array = gs.to_numpy(na_value=np.nan)

    assert_eq(cudf_host_array, cupy_host_array)
Ejemplo n.º 5
0
def KMeans(data, cluster):
    warnings.filterwarnings('ignore')
    data_pack = torch.utils.dlpack.to_dlpack(data)
    data_df = cudf.from_dlpack(data_pack)
    model = cuml.KMeans(n_clusters=cluster)
    result = model.fit(data_df)
    labels = torch.utils.dlpack.from_dlpack(result.labels_.to_dlpack())
    warnings.filterwarnings('once')
    return labels
Ejemplo n.º 6
0
def test_from_dlpack_cupy_2d(data_2d):
    expectation = data_size_expectation_builder(data_2d)

    with expectation:
        cupy_array = cupy.array(data_2d, order="F")
        cupy_host_array = cupy_array.get().flatten()
        dlt = cupy_array.toDlpack()

        gdf = cudf.from_dlpack(dlt)
        cudf_host_array = np.array(gdf.to_pandas()).flatten()

        assert_eq(cudf_host_array, cupy_host_array)
Ejemplo n.º 7
0
def test_from_dlpack_cupy_1d(data_1d):
    expectation = data_size_expectation_builder(data_1d)

    with expectation:
        cupy_array = cupy.array(data_1d)
        cupy_host_array = cupy_array.get()
        dlt = cupy_array.toDlpack()

        gs = cudf.from_dlpack(dlt)
        cudf_host_array = gs.to_array(fillna="pandas")

        assert_eq(cudf_host_array, cupy_host_array)
Ejemplo n.º 8
0
vertex = cp.fromDlpack(vertex.to_dlpack())
partition = cp.fromDlpack(partition.to_dlpack())
vertex = cp.reshape(vertex, XYZ_C.shape[0])
labelRE = cp.reshape(partition, XYZ_C.shape[0])
index = cp.argsort(vertex)
vertex = cp.take_along_axis(vertex, index, axis=0)
labelRE = cp.take_along_axis(labelRE, index, axis=0)
print(result)
print(vertex)
print(labelRE)
print(index)
louvain_endtime = datetime.datetime.now()
print(louvain_endtime - louvain_starttime)
print(labelRE)
labelRE = cp.asfortranarray(labelRE)
labelRE = cd.from_dlpack(labelRE.toDlpack())
#labelRE = cd.DataFrame(labelRE)
print(labelRE)
df = cd.DataFrame({'label': labelRE})
df.to_csv('HW_AI/HW_Final/gpu.csv')

'''
plt.figure(1)
ax = plt.axes(projection='3d')
z = XYZ_C[:,2]
x = XYZ_C[:,0]
y = XYZ_C[:,1]
c = labelRE
ax.scatter(x, y, z, c = c, cmap = plt.get_cmap('jet'))
plt.title('Cluster result by modularity')
ax.view_init(80, 0)
 def f(x):
     return cudf.from_dlpack(x.toDlpack())