예제 #1
0
def test_cupy():
    t1 = mt.ones((100, 50), chunk_size=50, gpu=True)
    t2 = mt.ones(50, chunk_size=50, gpu=True)
    t = (t1 - t2) / mt.sqrt(t2 * (1 - t2) * len(t2))

    graph = TileableGraph([t.data])
    next(TileableGraphBuilder(graph).build())
    context = dict()
    chunk_graph_builder = ChunkGraphBuilder(graph,
                                            fuse_enabled=False,
                                            tile_context=context)
    chunk_graph = next(chunk_graph_builder.build())

    CupyRuntimeOptimizer(chunk_graph).optimize()
    assert any(n.op.__class__.__name__ == 'TensorCpFuseChunk'
               for n in chunk_graph)
예제 #2
0
파일: test_head.py 프로젝트: haijohn/mars
def test_read_csv_head(gen_data1):
    pdf, tempdir = gen_data1
    file_path = os.path.join(tempdir, 'test.csv')
    pdf.to_csv(file_path)

    df1 = md.read_csv(file_path)
    df2 = df1.head(5)
    graph = TileableGraph([df2.data])
    next(TileableGraphBuilder(graph).build())
    context = dict()
    chunk_graph_builder = ChunkGraphBuilder(graph,
                                            fuse_enabled=False,
                                            tile_context=context)
    chunk_graph = next(chunk_graph_builder.build())
    chunk1 = context[df1.data].chunks[0].data
    chunk2 = context[df2.data].chunks[0].data
    records = optimize(chunk_graph)
    assert records.get_optimization_result(chunk1) is None
    opt_chunk2 = records.get_optimization_result(chunk2)
    assert opt_chunk2.op.nrows == 5
    assert len(chunk_graph) == 1
    assert opt_chunk2 in chunk_graph.results
예제 #3
0
def test_groupby_read_csv(gen_data1):
    pdf, tempdir = gen_data1
    file_path = os.path.join(tempdir, 'test.csv')
    pdf.to_csv(file_path)

    df1 = md.read_csv(file_path)
    df2 = df1[['a', 'b']]
    graph = TileableGraph([df2.data])
    next(TileableGraphBuilder(graph).build())
    context = dict()
    chunk_graph_builder = ChunkGraphBuilder(graph,
                                            fuse_enabled=False,
                                            tile_context=context)
    chunk_graph = next(chunk_graph_builder.build())
    chunk1 = context[df1.data].chunks[0].data
    chunk2 = context[df2.data].chunks[0].data
    records = optimize(chunk_graph)
    opt_chunk1 = records.get_optimization_result(chunk1)
    assert opt_chunk1 is None
    opt_chunk2 = records.get_optimization_result(chunk2)
    assert opt_chunk2 is not None
    assert opt_chunk2.op.usecols == ['a', 'b']
    # original tileable should not be modified
    assert chunk2.inputs[0] is chunk1