def METHOD_NAME():
    env: cy.CylonEnv = cy.CylonEnv(config=cy.MPIConfig(), distributed=True)
    print("CylonContext Initialized: My rank: ", env.rank)
    input_file = "data/mpiops/sales_nulls_nunascii_" + str(env.rank) + ".csv"
    initial_sizes = [[0,0,0,0],
                     [1,1,1,1],
                     [10,0,0,0],
                     [10,10,10,10],]
    initial_offsets = [0,1,10,0]
    gather_roots = [3,1,0,2]
    df = gcy.DataFrame.from_cudf(cudf.read_csv(input_file))
    for init_sizes, init_offset, gather_root in zip(initial_sizes, initial_offsets, gather_roots):
        df1 = df[init_offset:(init_offset + init_sizes[env.rank])]
        gathered_df = gcy.comms.gather(df1, env=env, gather_root=gather_root)
        assert len(gathered_df) == sum(init_sizes) if env.rank == gather_root else True, \
            "Gathered DataFrame row count does not match the sum of row counts of gathered DataFrames"