code: def test_nccl_pushpull():
      for shape, key in zip(shapes, keys):
          for n_gpus in gpus:
              kv_nccl = mx.kv.create("nccl")
              a = mx.nd.ones(shape, mx.gpu(0))
              cur_key = str(key * max(gpus) + n_gpus)
              kv_nccl.init(cur_key, a)
              arr_list = [
                  mx.nd.ones(shape, mx.gpu(x)) for x in range(n_gpus)
              ]
              res = [
                  mx.nd.zeros(shape, mx.gpu(x)) for x in range(n_gpus)
              ]
              kv_nccl.push(cur_key, arr_list)
              kv_nccl.pull(cur_key, res)
              for x in range(n_gpus):
                  assert (
                      np.sum(np.abs((res[x] - n_gpus).asnumpy())) == 0
                  )
  
      print("Passed")
  
imports: import mxnet
  import numpy
  import os
  import pytest
label_desc: Use image node_id 1 for calling a global function with example usage: test_nccl_pushpull() without return types