def test_mempool_2(): from pyopencl.tools import MemoryPool from random import randrange for i in range(2000): s = randrange(1 << 31) >> randrange(32) bin_nr = MemoryPool.bin_number(s) asize = MemoryPool.alloc_size(bin_nr) assert asize >= s, s assert MemoryPool.bin_number(asize) == bin_nr, s assert asize < asize*(1+1/8)
def test_mempool_2(): from pyopencl.tools import MemoryPool from random import randrange for i in range(2000): s = randrange(1 << 31) >> randrange(32) bin_nr = MemoryPool.bin_number(s) asize = MemoryPool.alloc_size(bin_nr) assert asize >= s, s assert MemoryPool.bin_number(asize) == bin_nr, s assert asize < asize * (1 + 1 / 8)
def test_mempool_2(ctx_factory): from pyopencl.tools import MemoryPool, ImmediateAllocator from random import randrange context = ctx_factory() queue = cl.CommandQueue(context) pool = MemoryPool(ImmediateAllocator(queue)) for s in [randrange(1 << 31) >> randrange(32) for _ in range(2000)] + [2**30]: bin_nr = pool.bin_number(s) asize = pool.alloc_size(bin_nr) assert asize >= s, s assert pool.bin_number(asize) == bin_nr, s assert asize < asize*(1+1/8)