code: def test_reduce_large_data():
      np.random.seed(12344)
      for device in ["cpu", "gpu"]:
          for rank in [1, 2, 3]:
              for axis_mask in range(1, 2**rank):
                  layout = np.random.choice([None, "DALI"[:rank]])
                  axes = tuple(
                      filter(
                          lambda x: x >= 0,
                          (
                              i if axis_mask & (1 << i) else -1
                              for i in range(rank)
                          ),
                      )
                  )
                  yield _test_reduce_large_data, rank, axes, device, layout
  
imports: import nvidia.dali.fn
  from nvidia.dali.pipeline import Pipeline
  from nose.tools import nottest
  import numpy
  from test_utils import np_type_to_dali
  from nose_utils import assert_raises
label_desc: Use image node_id 23 for calling a global function with example usage: test_reduce_large_data() without return types