code: def make_2d_config(
      i_partitions: list[int],
      j_partitions: list[int],
      devices: list[list[set[int]]],
  ) -> ArrayConfig:
      shape = (i_partitions[-1], j_partitions[-1])
      index_map = _linalg.make_2d_index_map(
          i_partitions, j_partitions, devices
      )
      return ArrayConfig(shape, index_map)
  
imports: import dataclasses
  import math
  import pytest
  import numpy
  import cupy
  from cupy import testing
  from cupyx.distributed.array import _linalg
  from cupyx.distributed import array
  from cupyx.distributed.array import REPLICA, SUM
label_desc: Use image node_id 2 for calling a global function with example usage: make_2d_config(i_partitions, j_partitions, devices) and returns: ArrayConfig