code: def test_mempool(ctx_factory):
      from pyopencl.tools import MemoryPool, ImmediateAllocator
  
      context = ctx_factory()
      queue = cl.CommandQueue(context)
  
      pool = MemoryPool(ImmediateAllocator(queue))
      alloc_queue = []
  
      e0 = 12
  
      for e in range(e0 - 6, e0 - 4):
          for _i in range(100):
              alloc_queue.append(pool.allocate(1 << e))
              if len(alloc_queue) > 10:
                  alloc_queue.pop(0)
      del alloc_queue
      pool.stop_holding()
  
imports: import numpy
  import numpy.linalg
  import pytest
  import pyopencl
  import pyopencl.array
  import pyopencl.cltypes
  import pyopencl.clrandom
  from pyopencl.tools import pytest_generate_tests_for_pyopencl, ImmediateAllocator, DeferredAllocator
  from pyopencl.characterize import get_pocl_version
label_desc: Use image node_id 13 for calling a global function with example usage: test_mempool(ctx_factory) without return types