code: def test_sparse_nd_storage_fallback():
      def check_output_fallback(shape):
          ones = mx.nd.ones(shape)
          out = mx.nd.zeros(shape=shape, stype="csr")
          mx.nd.broadcast_add(ones, ones * 2, out=out)
          assert np.sum(out.asnumpy() - 3) == 0
  
      def check_input_fallback(shape):
          ones = mx.nd.ones(shape)
          out = mx.nd.broadcast_add(
              ones.tostype("csr"), ones.tostype("row_sparse")
          )
          assert np.sum(out.asnumpy() - 2) == 0
  
      def check_fallback_with_temp_resource(shape):
          ones = mx.nd.ones(shape)
          out = mx.nd.sum(ones)
          assert out.asscalar() == np.prod(shape)
  
      shape = rand_shape_2d()
      check_output_fallback(shape)
      check_input_fallback(shape)
      check_fallback_with_temp_resource(shape)
  
imports: import pickle
  from mxnet.ndarray import NDArray
  import mxnet
  from mxnet.test_utils import *
  from common import random_seed
  from mxnet.base import mx_real_t
  from numpy.testing import assert_allclose
  import numpy.random
  import numpy
  import scipy.sparse
  from common import assertRaises, xfail_when_nonstandard_decimal_separator
  from mxnet.ndarray.sparse import RowSparseNDArray, CSRNDArray
  import pytest
label_desc: Use image node_id 20 for calling a global function with example usage: test_sparse_nd_storage_fallback() without return types