code: def test_shared_memory_dynamic(self):
      @jit.rawkernel()
      def f(x, y):
          tid = jit.threadIdx.x
          ntid = jit.blockDim.x
          bid = jit.blockIdx.x
          i = tid + bid * ntid
  
          smem = jit.shared_memory(numpy.int32, None)
          smem[tid] = x[i]
          jit.syncthreads()
          y[i] = smem[ntid - tid - 1]
  
      x = testing.shaped_random((1024,), dtype=numpy.int32, seed=0)
      y = testing.shaped_random((1024,), dtype=numpy.int32, seed=1)
      f((32,), (32,), (x, y), shared_mem=128)
      expected = x.reshape(32, 32)[:, ::-1].ravel()
      assert bool((y == expected).all())
  
imports: import numpy
  import pytest
  import cupy
  from cupyx import jit
  from cupy import testing
  from cupy.cuda import device
  from cupy.cuda import runtime
label_desc: Use image node_id 25 for calling the TestRaw obj's underlying member method code with example usage: obj.test_shared_memory_dynamic() without return types