def METHOD_NAME(
    self, compute_kernel: EmbeddingComputeKernel
) -> GroupedEmbeddingConfig:
    num_embedding_tables = 2
    embedding_tables = []
    for i in range(num_embedding_tables):
        rows = (i + 1) * 10
        cols = 16
        local_metadata = ShardMetadata(
            shard_offsets=[0, 0],
            shard_sizes=[rows, cols],
            placement=torch.distributed._remote_device("rank:0/cuda:0"),
        )
        embedding_tables.append(
            ShardedEmbeddingTable(
                num_embeddings=rows,
                embedding_dim=cols,
                name="table_" + str(i),
                feature_names=["feature_" + str(i)],
                pooling=PoolingType.MEAN,
                is_weighted=False,
                has_feature_processor=False,
                local_rows=rows,
                local_cols=cols,
                compute_kernel=compute_kernel,
                local_metadata=local_metadata,
                global_metadata=ShardedTensorMetadata(
                    shards_metadata=[local_metadata],
                    size=torch.Size([rows, cols]),
                ),
                weight_init_max=1.0,
                weight_init_min=0.0,
            )
        )
    return GroupedEmbeddingConfig(
        data_type=DataType.FP32,
        pooling=PoolingType.MEAN,
        is_weighted=False,
        has_feature_processor=False,
        compute_kernel=compute_kernel,
        embedding_tables=embedding_tables,
    )