code: def test_reset_index_multiindex():
      df = cudf.DataFrame()
      df["id_1"] = ["a", "a", "b"]
      df["id_2"] = [0, 0, 1]
      df["val"] = [1, 2, 3]
  
      df_lookup = cudf.DataFrame()
      df_lookup["id_1"] = ["a", "b"]
      df_lookup["metadata"] = [0, 1]
  
      gddf = dask_cudf.from_cudf(df, npartitions=2)
      gddf_lookup = dask_cudf.from_cudf(df_lookup, npartitions=2)
  
      ddf = dd.from_pandas(df.to_pandas(), npartitions=2)
      ddf_lookup = dd.from_pandas(df_lookup.to_pandas(), npartitions=2)
  
      # Note: 'id_2' has wrong type (object) until after compute
      dd.assert_eq(
          gddf.groupby(by=["id_1", "id_2"])
          .val.sum()
          .reset_index()
          .merge(gddf_lookup, on="id_1")
          .compute(),
          ddf.groupby(by=["id_1", "id_2"])
          .val.sum()
          .reset_index()
          .merge(ddf_lookup, on="id_1"),
      )
  
imports: import numpy
  import pandas
  import pytest
  import dask
  from dask import dataframe
  from dask.utils_test import hlg_layer
  import cudf
  import dask_cudf
  from dask_cudf.groupby import OPTIMIZED_AGGS, _aggs_optimized
label_desc: Use image node_id 8 for calling a global function with example usage: test_reset_index_multiindex() without return types